From 27c22d43afc8b8c25624b70a12ce8cd7ab402ff5 Mon Sep 17 00:00:00 2001 From: Satish Mohan Date: Tue, 16 Nov 2021 21:05:07 +0530 Subject: [PATCH] initial commit --- .dockerignore | 26 + .eslintignore | 6 + .eslintrc-jsdoc.json | 11 + .eslintrc.js | 117 + .gitignore | 40 + .npmrc | 1 + .nvmrc | 0 .prettierignore | 6 + .prettierrc | 5 + .yarn/plugins/@ojkelly/plugin-build.cjs | 131 + .../@yarnpkg/plugin-interactive-tools.cjs | 363 + .yarn/plugins/@yarnpkg/plugin-version.cjs | 367 + .../@yarnpkg/plugin-workspace-tools.cjs | 28 + .yarn/releases/yarn-3.0.2.cjs | 631 ++ .yarnrc.yml | 23 + Dockerfile | 10 + LICENSE | 201 + README.md | 69 + demo/res/cred-schema.json | 13 + demo/res/entity.json | 13 + demo/res/schema.json | 22 + demo/res/space.json | 13 + demo/src/demo.ts | 273 + demo/src/utils.ts | 82 + docker-compose.yml | 22 + jest.config.js | 40 + package.json | 74 + packages/api/package.json | 45 + packages/api/src/index.ts | 9 + packages/api/tsconfig.build.json | 11 + packages/api/webpack.config.js | 48 + packages/config/package.json | 30 + packages/config/src/ConfigService.spec.ts | 89 + packages/config/src/ConfigService.ts | 92 + packages/config/src/index.ts | 1 + packages/config/tsconfig.build.json | 15 + packages/exchange/package.json | 34 + packages/exchange/src/Request.ts | 137 + packages/exchange/src/Share.ts | 81 + packages/exchange/src/Verify.ts | 98 + packages/exchange/src/index.ts | 9 + packages/exchange/src/types.ts | 8 + packages/exchange/tsconfig.build.json | 16 + packages/messaging/package.json | 32 + packages/messaging/src/Message.ts | 238 + packages/messaging/src/Message.utils.ts | 270 + packages/messaging/src/index.ts | 2 + packages/messaging/tsconfig.build.json | 16 + packages/modules/package.json | 43 + packages/modules/src/balance/Balance.chain.ts | 144 + packages/modules/src/balance/Balance.utils.ts | 41 + packages/modules/src/balance/index.ts | 5 + packages/modules/src/content/Content.ts | 163 + packages/modules/src/content/Content.utils.ts | 252 + packages/modules/src/content/index.ts | 2 + .../src/contentstream/ContentStream.ts | 309 + .../src/contentstream/ContentStream.utils.ts | 140 + packages/modules/src/contentstream/index.ts | 2 + packages/modules/src/cordconfig/CordConfig.ts | 37 + packages/modules/src/cordconfig/index.ts | 1 + packages/modules/src/credential/Credential.ts | 236 + .../src/credential/Credential.utils.ts | 69 + .../modules/src/credential/Presentation.ts | 113 + packages/modules/src/credential/index.ts | 3 + packages/modules/src/did/Did.chain.ts | 70 + packages/modules/src/did/Did.ts | 252 + packages/modules/src/did/Did.utils.ts | 165 + packages/modules/src/did/index.ts | 9 + .../modules/src/identity/Identity.spec.ts | 145 + packages/modules/src/identity/Identity.ts | 443 + .../modules/src/identity/PublicIdentity.ts | 227 + packages/modules/src/identity/index.ts | 5 + packages/modules/src/index.ts | 17 + packages/modules/src/schema/Schema.chain.ts | 131 + packages/modules/src/schema/Schema.ts | 247 + packages/modules/src/schema/Schema.utils.ts | 262 + packages/modules/src/schema/SchemaMetadata.ts | 33 + packages/modules/src/schema/TypeSchema.ts | 172 + packages/modules/src/schema/index.ts | 4 + packages/modules/src/stream/Stream.chain.ts | 121 + packages/modules/src/stream/Stream.ts | 262 + packages/modules/src/stream/Stream.utils.ts | 117 + packages/modules/src/stream/index.ts | 2 + packages/modules/tsconfig.build.json | 25 + packages/network/package.json | 37 + packages/network/src/chain/Chain.spec.ts | 388 + packages/network/src/chain/Chain.ts | 178 + packages/network/src/chain/Chain.utils.ts | 176 + .../src/chain/SubscriptionPromise.spec.ts | 44 + .../network/src/chain/SubscriptionPromise.ts | 82 + packages/network/src/chain/index.ts | 3 + .../chainApiConnection/ChainApiConnection.ts | 102 + .../src/chainApiConnection/TypeDefinitions.ts | 93 + .../src/chainApiConnection/TypeRegistry.ts | 7 + .../__mocks__/BlockchainApiConnection.ts | 397 + .../__mocks__/BlockchainQuery.ts | 136 + .../network/src/chainApiConnection/index.ts | 2 + .../src/errorhandling/ErrorHandler.spec.ts | 80 + .../network/src/errorhandling/ErrorHandler.ts | 84 + .../src/errorhandling/ExtrinsicError.spec.ts | 49 + .../src/errorhandling/ExtrinsicError.ts | 234 + packages/network/src/errorhandling/index.ts | 2 + packages/network/src/index.ts | 7 + packages/network/tsconfig.build.json | 15 + packages/types/package.json | 33 + packages/types/src/Balance.ts | 22 + packages/types/src/Chain.ts | 44 + packages/types/src/Content.ts | 33 + packages/types/src/ContentStream.ts | 41 + packages/types/src/Credential.ts | 14 + packages/types/src/Identity.ts | 24 + packages/types/src/Message.ts | 196 + packages/types/src/Presentation.ts | 24 + packages/types/src/PublicIdentity.ts | 9 + packages/types/src/Schema.ts | 53 + packages/types/src/SchemaMetadata.ts | 32 + packages/types/src/Storage.ts | 70 + packages/types/src/Stream.ts | 55 + packages/types/src/SubscriptionPromise.ts | 30 + packages/types/src/index.ts | 18 + packages/types/tsconfig.build.json | 16 + packages/utils/package.json | 35 + packages/utils/src/Crypto.spec.ts | 289 + packages/utils/src/Crypto.ts | 402 + packages/utils/src/DataUtils.spec.ts | 118 + packages/utils/src/DataUtils.ts | 105 + packages/utils/src/Decode.spec.ts | 48 + packages/utils/src/Decode.ts | 35 + packages/utils/src/SDKErrors.ts | 841 ++ packages/utils/src/UUID.spec.ts | 13 + packages/utils/src/UUID.ts | 24 + packages/utils/src/index.ts | 6 + packages/utils/src/jsonabc.d.ts | 26 + packages/utils/src/jsonabc.js | 93 + packages/utils/tsconfig.build.json | 16 + testingTools/jestErrorCodeMatcher.ts | 57 + testingTools/setup.ts | 6 + tsconfig.build.json | 30 + tsconfig.json | 21 + typedoc.js | 20 + yarn.lock | 8626 +++++++++++++++++ 141 files changed, 21778 insertions(+) create mode 100644 .dockerignore create mode 100644 .eslintignore create mode 100644 .eslintrc-jsdoc.json create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .yarn/plugins/@ojkelly/plugin-build.cjs create mode 100644 .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs create mode 100644 .yarn/plugins/@yarnpkg/plugin-version.cjs create mode 100644 .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs create mode 100755 .yarn/releases/yarn-3.0.2.cjs create mode 100644 .yarnrc.yml create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 README.md create mode 100644 demo/res/cred-schema.json create mode 100644 demo/res/entity.json create mode 100644 demo/res/schema.json create mode 100644 demo/res/space.json create mode 100644 demo/src/demo.ts create mode 100644 demo/src/utils.ts create mode 100644 docker-compose.yml create mode 100644 jest.config.js create mode 100644 package.json create mode 100644 packages/api/package.json create mode 100644 packages/api/src/index.ts create mode 100644 packages/api/tsconfig.build.json create mode 100644 packages/api/webpack.config.js create mode 100644 packages/config/package.json create mode 100644 packages/config/src/ConfigService.spec.ts create mode 100644 packages/config/src/ConfigService.ts create mode 100644 packages/config/src/index.ts create mode 100644 packages/config/tsconfig.build.json create mode 100644 packages/exchange/package.json create mode 100644 packages/exchange/src/Request.ts create mode 100644 packages/exchange/src/Share.ts create mode 100644 packages/exchange/src/Verify.ts create mode 100644 packages/exchange/src/index.ts create mode 100644 packages/exchange/src/types.ts create mode 100644 packages/exchange/tsconfig.build.json create mode 100644 packages/messaging/package.json create mode 100644 packages/messaging/src/Message.ts create mode 100644 packages/messaging/src/Message.utils.ts create mode 100644 packages/messaging/src/index.ts create mode 100644 packages/messaging/tsconfig.build.json create mode 100644 packages/modules/package.json create mode 100644 packages/modules/src/balance/Balance.chain.ts create mode 100644 packages/modules/src/balance/Balance.utils.ts create mode 100644 packages/modules/src/balance/index.ts create mode 100644 packages/modules/src/content/Content.ts create mode 100644 packages/modules/src/content/Content.utils.ts create mode 100644 packages/modules/src/content/index.ts create mode 100644 packages/modules/src/contentstream/ContentStream.ts create mode 100644 packages/modules/src/contentstream/ContentStream.utils.ts create mode 100644 packages/modules/src/contentstream/index.ts create mode 100644 packages/modules/src/cordconfig/CordConfig.ts create mode 100644 packages/modules/src/cordconfig/index.ts create mode 100644 packages/modules/src/credential/Credential.ts create mode 100644 packages/modules/src/credential/Credential.utils.ts create mode 100644 packages/modules/src/credential/Presentation.ts create mode 100644 packages/modules/src/credential/index.ts create mode 100644 packages/modules/src/did/Did.chain.ts create mode 100644 packages/modules/src/did/Did.ts create mode 100644 packages/modules/src/did/Did.utils.ts create mode 100644 packages/modules/src/did/index.ts create mode 100644 packages/modules/src/identity/Identity.spec.ts create mode 100644 packages/modules/src/identity/Identity.ts create mode 100644 packages/modules/src/identity/PublicIdentity.ts create mode 100644 packages/modules/src/identity/index.ts create mode 100644 packages/modules/src/index.ts create mode 100644 packages/modules/src/schema/Schema.chain.ts create mode 100644 packages/modules/src/schema/Schema.ts create mode 100644 packages/modules/src/schema/Schema.utils.ts create mode 100644 packages/modules/src/schema/SchemaMetadata.ts create mode 100644 packages/modules/src/schema/TypeSchema.ts create mode 100644 packages/modules/src/schema/index.ts create mode 100644 packages/modules/src/stream/Stream.chain.ts create mode 100644 packages/modules/src/stream/Stream.ts create mode 100644 packages/modules/src/stream/Stream.utils.ts create mode 100644 packages/modules/src/stream/index.ts create mode 100644 packages/modules/tsconfig.build.json create mode 100644 packages/network/package.json create mode 100644 packages/network/src/chain/Chain.spec.ts create mode 100644 packages/network/src/chain/Chain.ts create mode 100644 packages/network/src/chain/Chain.utils.ts create mode 100644 packages/network/src/chain/SubscriptionPromise.spec.ts create mode 100644 packages/network/src/chain/SubscriptionPromise.ts create mode 100644 packages/network/src/chain/index.ts create mode 100644 packages/network/src/chainApiConnection/ChainApiConnection.ts create mode 100644 packages/network/src/chainApiConnection/TypeDefinitions.ts create mode 100644 packages/network/src/chainApiConnection/TypeRegistry.ts create mode 100644 packages/network/src/chainApiConnection/__mocks__/BlockchainApiConnection.ts create mode 100644 packages/network/src/chainApiConnection/__mocks__/BlockchainQuery.ts create mode 100644 packages/network/src/chainApiConnection/index.ts create mode 100644 packages/network/src/errorhandling/ErrorHandler.spec.ts create mode 100644 packages/network/src/errorhandling/ErrorHandler.ts create mode 100644 packages/network/src/errorhandling/ExtrinsicError.spec.ts create mode 100644 packages/network/src/errorhandling/ExtrinsicError.ts create mode 100644 packages/network/src/errorhandling/index.ts create mode 100644 packages/network/src/index.ts create mode 100644 packages/network/tsconfig.build.json create mode 100644 packages/types/package.json create mode 100644 packages/types/src/Balance.ts create mode 100644 packages/types/src/Chain.ts create mode 100644 packages/types/src/Content.ts create mode 100644 packages/types/src/ContentStream.ts create mode 100644 packages/types/src/Credential.ts create mode 100644 packages/types/src/Identity.ts create mode 100644 packages/types/src/Message.ts create mode 100644 packages/types/src/Presentation.ts create mode 100644 packages/types/src/PublicIdentity.ts create mode 100644 packages/types/src/Schema.ts create mode 100644 packages/types/src/SchemaMetadata.ts create mode 100644 packages/types/src/Storage.ts create mode 100644 packages/types/src/Stream.ts create mode 100644 packages/types/src/SubscriptionPromise.ts create mode 100644 packages/types/src/index.ts create mode 100644 packages/types/tsconfig.build.json create mode 100644 packages/utils/package.json create mode 100644 packages/utils/src/Crypto.spec.ts create mode 100644 packages/utils/src/Crypto.ts create mode 100644 packages/utils/src/DataUtils.spec.ts create mode 100644 packages/utils/src/DataUtils.ts create mode 100644 packages/utils/src/Decode.spec.ts create mode 100644 packages/utils/src/Decode.ts create mode 100644 packages/utils/src/SDKErrors.ts create mode 100644 packages/utils/src/UUID.spec.ts create mode 100644 packages/utils/src/UUID.ts create mode 100644 packages/utils/src/index.ts create mode 100644 packages/utils/src/jsonabc.d.ts create mode 100644 packages/utils/src/jsonabc.js create mode 100644 packages/utils/tsconfig.build.json create mode 100644 testingTools/jestErrorCodeMatcher.ts create mode 100644 testingTools/setup.ts create mode 100644 tsconfig.build.json create mode 100644 tsconfig.json create mode 100644 typedoc.js create mode 100644 yarn.lock diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..bd685bd2 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,26 @@ +/node_modules +npm-debug.log* +yarn-debug.log* +yarn-error.log* +/.npmrc + +# testing +/coverage +/src/coverage + +# production +/build + +# tooling setup +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +settings.json + +# doc +docs/ + +# misc +/.idea diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..61e59a3c --- /dev/null +++ b/.eslintignore @@ -0,0 +1,6 @@ +__mocks__ +dist +lib +jest.* +coverage +*.d.ts \ No newline at end of file diff --git a/.eslintrc-jsdoc.json b/.eslintrc-jsdoc.json new file mode 100644 index 00000000..4818247a --- /dev/null +++ b/.eslintrc-jsdoc.json @@ -0,0 +1,11 @@ +{ + "rules": { + "semi": ["error", "always"], + "prettier/prettier": ["warn", { + "semi": true + }], + "@typescript-eslint/no-unused-vars": "off", + "license-header/header": "off", + "no-use-before-define": "off" + } +} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..2af9464c --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,117 @@ +/* eslint-disable license-header/header */ +module.exports = { + env: { + browser: true, + es6: true, + node: true, + }, + extends: [ + 'airbnb-base', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'prettier/@typescript-eslint', + 'plugin:jsdoc/recommended', + ], + globals: { + Atomics: 'readonly', + SharedArrayBuffer: 'readonly', + }, + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + }, + plugins: ['@typescript-eslint', 'prettier', 'jsdoc', 'license-header'], + rules: { + 'import/no-cycle': 2, + 'import/extensions': [ + 'error', + 'ignorePackages', + { + js: 'never', + jsx: 'never', + ts: 'never', + tsx: 'never', + }, + ], + // Taken care of by typescript + 'import/no-unresolved': 'off', + 'prettier/prettier': 'error', + semi: ['error', 'never'], + 'lines-between-class-members': [ + 'error', + 'always', + { exceptAfterSingleLine: true }, + ], + '@typescript-eslint/explicit-function-return-type': [ + 'warn', + { + allowExpressions: true, + }, + ], + '@typescript-eslint/prefer-interface': 'off', + '@typescript-eslint/array-type': [ + 'error', + { + default: 'array-simple', + }, + ], + '@typescript-eslint/ban-ts-comment': 'warn', + 'jsdoc/require-description': 'warn', + 'jsdoc/require-description-complete-sentence': 'warn', + 'jsdoc/no-types': 'warn', + 'jsdoc/require-param-type': 'off', + 'jsdoc/require-returns-type': 'off', + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/check-examples': [ + 'warn', + { + exampleCodeRegex: + '^```(?:js|javascript|typescript)\\n([\\s\\S]*)```\\s*$', + configFile: '.eslintrc-jsdoc.json', + }, + ], + 'jsdoc/check-tag-names': [ + 'warn', + { + definedTags: ['preferred', 'packageDocumentation'], + }, + ], + 'jsdoc/check-alignment': 'off', + 'license-header/header': ['error', './license-header.js'], + 'import/prefer-default-export': 'off', + 'import/no-default-export': 'error', + '@typescript-eslint/no-explicit-any': 'off', + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': 'error', + }, + overrides: [ + { + files: ['**/*.spec.ts', '**/*.spec.ts'], + env: { + jest: true, + }, + rules: { + '@typescript-eslint/no-object-literal-type-assertion': 'off', + 'no-underscore-dangle': 'off', + 'global-require': 'off', + 'jsdoc/check-tag-names': [ + 'warn', + { + definedTags: ['group', 'packageDocumentation'], + }, + ], + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + }, + }, + ], + settings: { + 'import/resolver': { + node: { + extensions: ['.js', '.ts'], + }, + }, + }, +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2ce0c4ac --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +node_modules + +# npm/yarn +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.yarn/* +!.yarn/releases +!.yarn/plugins +!.yarn/sdks +.yarn/versions +.pnp.* + + +# testing +coverage + +# production +build +lib + +# tooling setup +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +settings.json + +# doc +**/docs/api + +# misc +/.idea + +# doc +/docs/api diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..ae643592 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +//registry.npmjs.org/:_authToken=${NPM_TOKEN} diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..e69de29b diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..3920e4f3 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +jsonabc.js +jsonabc.d.ts +lib +*.json +jest.* +coverage \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..5149b1b7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "trailingComma": "es5", + "semi": false, + "singleQuote": true +} diff --git a/.yarn/plugins/@ojkelly/plugin-build.cjs b/.yarn/plugins/@ojkelly/plugin-build.cjs new file mode 100644 index 00000000..1eb3b55e --- /dev/null +++ b/.yarn/plugins/@ojkelly/plugin-build.cjs @@ -0,0 +1,131 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@ojkelly/plugin-build", +factory: function (require) { +var plugin=(()=>{var za=Object.create,Ge=Object.defineProperty,Ka=Object.defineProperties,Va=Object.getOwnPropertyDescriptor,Ja=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertyNames,Pn=Object.getOwnPropertySymbols,Za=Object.getPrototypeOf,Tn=Object.prototype.hasOwnProperty,eu=Object.prototype.propertyIsEnumerable;var Fn=(e,r,t)=>r in e?Ge(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,q=(e,r)=>{for(var t in r||(r={}))Tn.call(r,t)&&Fn(e,t,r[t]);if(Pn)for(var t of Pn(r))eu.call(r,t)&&Fn(e,t,r[t]);return e},Ye=(e,r)=>Ka(e,Ja(r)),ru=e=>Ge(e,"__esModule",{value:!0});var C=e=>{if(typeof require!="undefined")return require(e);throw new Error('Dynamic require of "'+e+'" is not supported')};var b=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tu=(e,r)=>{for(var t in r)Ge(e,t,{get:r[t],enumerable:!0})},nu=(e,r,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xa(r))!Tn.call(e,n)&&n!=="default"&&Ge(e,n,{get:()=>r[n],enumerable:!(t=Va(r,n))||t.enumerable});return e},_=e=>nu(ru(Ge(e!=null?za(Za(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Hn=b((kh,Yn)=>{function Mn(e){return Array.isArray(e)?e:[e]}var jn="",Bn=" ",Zr="\\",iu=/^\s+$/,ou=/^\\!/,su=/^\\#/,au=/\r?\n/g,uu=/^\.*\/|^\.+$/,et="/",$n=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",cu=(e,r,t)=>Object.defineProperty(e,r,{value:t}),lu=/([0-z])-([0-z])/g,fu=e=>e.replace(lu,(r,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?r:jn),hu=e=>{let{length:r}=e;return e.slice(0,r-r%2)},pu=[[/\\?\s+$/,e=>e.indexOf("\\")===0?Bn:jn],[/\\\s/g,()=>Bn],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,r,t)=>r+6`${r}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>Zr],[/\\\\/g,()=>Zr],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,r,t,n,i)=>r===Zr?`\\[${t}${hu(n)}${i}`:i==="]"&&n.length%2==0?`[${fu(t)}${n}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,r)=>`${r?`${r}[^/]+`:"[^/]*"}(?=$|\\/$)`]],qn=Object.create(null),du=(e,r,t)=>{let n=qn[e];if(n)return n;let i=pu.reduce((o,s)=>o.replace(s[0],s[1].bind(e)),e);return qn[e]=t?new RegExp(i,"i"):new RegExp(i)},rt=e=>typeof e=="string",mu=e=>e&&rt(e)&&!iu.test(e)&&e.indexOf("#")!==0,gu=e=>e.split(au),Un=class{constructor(r,t,n,i){this.origin=r,this.pattern=t,this.negative=n,this.regex=i}},yu=(e,r)=>{let t=e,n=!1;e.indexOf("!")===0&&(n=!0,e=e.substr(1)),e=e.replace(ou,"!").replace(su,"#");let i=du(e,n,r);return new Un(t,e,n,i)},vu=(e,r)=>{throw new r(e)},oe=(e,r,t)=>rt(e)?e?oe.isNotRelative(e)?t(`path should be a \`path.relative()\`d string, but got "${r}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${r}\``,TypeError),Wn=e=>uu.test(e);oe.isNotRelative=Wn;oe.convert=e=>e;var Gn=class{constructor({ignorecase:r=!0}={}){this._rules=[],this._ignorecase=r,cu(this,$n,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(r){if(r&&r[$n]){this._rules=this._rules.concat(r._rules),this._added=!0;return}if(mu(r)){let t=yu(r,this._ignorecase);this._added=!0,this._rules.push(t)}}add(r){return this._added=!1,Mn(rt(r)?gu(r):r).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(r){return this.add(r)}_testOne(r,t){let n=!1,i=!1;return this._rules.forEach(o=>{let{negative:s}=o;if(i===s&&n!==i||s&&!n&&!i&&!t)return;o.regex.test(r)&&(n=!s,i=s)}),{ignored:n,unignored:i}}_test(r,t,n,i){let o=r&&oe.convert(r);return oe(o,r,vu),this._t(o,t,n,i)}_t(r,t,n,i){if(r in t)return t[r];if(i||(i=r.split(et)),i.pop(),!i.length)return t[r]=this._testOne(r,n);let o=this._t(i.join(et)+et,t,n,i);return t[r]=o.ignored?o:this._testOne(r,n)}ignores(r){return this._test(r,this._ignoreCache,!1).ignored}createFilter(){return r=>!this.ignores(r)}filter(r){return Mn(r).filter(this.createFilter())}test(r){return this._test(r,this._testCache,!0)}},wr=e=>new Gn(e),bu=()=>!1,xu=e=>oe(e&&oe.convert(e),e,bu);wr.isPathValid=xu;wr.default=wr;Yn.exports=wr;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let e=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");oe.convert=e;let r=/^[a-z]:\//i;oe.isNotRelative=t=>r.test(t)||Wn(t)}});var Qn=b(tt=>{var we=C("path"),fe=process.platform==="win32",he=C("fs"),wu=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);function Cu(){var e;if(wu){var r=new Error;e=t}else e=n;return e;function t(i){i&&(r.message=i.message,i=r,n(i))}function n(i){if(i){if(process.throwDeprecation)throw i;if(!process.noDeprecation){var o="fs: missing callback "+(i.stack||i.message);process.traceDeprecation?console.trace(o):console.error(o)}}}}function _u(e){return typeof e=="function"?e:Cu()}var Sh=we.normalize;fe?se=/(.*?)(?:[\/\\]+|$)/g:se=/(.*?)(?:[\/]+|$)/g;var se;fe?He=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/:He=/^[\/]*/;var He;tt.realpathSync=function(r,t){if(r=we.resolve(r),t&&Object.prototype.hasOwnProperty.call(t,r))return t[r];var n=r,i={},o={},s,a,u,c;f();function f(){var g=He.exec(r);s=g[0].length,a=g[0],u=g[0],c="",fe&&!o[u]&&(he.lstatSync(u),o[u]=!0)}for(;s=r.length)return t&&(t[i]=r),n(null,r);se.lastIndex=a;var g=se.exec(r);return f=u,u+=g[0],c=f+g[1],a=se.lastIndex,s[c]||t&&t[c]===c?process.nextTick(h):t&&Object.prototype.hasOwnProperty.call(t,c)?m(t[c]):he.lstat(c,p)}function p(g,v){if(g)return n(g);if(!v.isSymbolicLink())return s[c]=!0,t&&(t[c]=c),process.nextTick(h);if(!fe){var y=v.dev.toString(32)+":"+v.ino.toString(32);if(o.hasOwnProperty(y))return d(null,o[y],c)}he.stat(c,function(k){if(k)return n(k);he.readlink(c,function(E,T){fe||(o[y]=T),d(E,T)})})}function d(g,v,y){if(g)return n(g);var k=we.resolve(f,v);t&&(t[y]=k),m(k)}function m(g){r=we.resolve(g,r.slice(a)),l()}}});var st=b((Rh,Jn)=>{Jn.exports=pe;pe.realpath=pe;pe.sync=ot;pe.realpathSync=ot;pe.monkeypatch=Au;pe.unmonkeypatch=ku;var Re=C("fs"),nt=Re.realpath,it=Re.realpathSync,Eu=process.version,zn=/^v[0-5]\./.test(Eu),Kn=Qn();function Vn(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function pe(e,r,t){if(zn)return nt(e,r,t);typeof r=="function"&&(t=r,r=null),nt(e,r,function(n,i){Vn(n)?Kn.realpath(e,r,t):t(n,i)})}function ot(e,r){if(zn)return it(e,r);try{return it(e,r)}catch(t){if(Vn(t))return Kn.realpathSync(e,r);throw t}}function Au(){Re.realpath=pe,Re.realpathSync=ot}function ku(){Re.realpath=nt,Re.realpathSync=it}});var Zn=b((Ph,Xn)=>{Xn.exports=function(e,r){for(var t=[],n=0;n{"use strict";ni.exports=ei;function ei(e,r,t){e instanceof RegExp&&(e=ri(e,t)),r instanceof RegExp&&(r=ri(r,t));var n=ti(e,r,t);return n&&{start:n[0],end:n[1],pre:t.slice(0,n[0]),body:t.slice(n[0]+e.length,n[1]),post:t.slice(n[1]+r.length)}}function ri(e,r){var t=r.match(e);return t?t[0]:null}ei.range=ti;function ti(e,r,t){var n,i,o,s,a,u=t.indexOf(e),c=t.indexOf(r,u+1),f=u;if(u>=0&&c>0){if(e===r)return[u,c];for(n=[],o=t.length;f>=0&&!a;)f==u?(n.push(f),u=t.indexOf(e,f+1)):n.length==1?a=[n.pop(),c]:(i=n.pop(),i=0?u:c;n.length&&(a=[o,s])}return a}});var hi=b((Fh,fi)=>{var Iu=Zn(),oi=ii();fi.exports=Tu;var si="\0SLASH"+Math.random()+"\0",ai="\0OPEN"+Math.random()+"\0",at="\0CLOSE"+Math.random()+"\0",ui="\0COMMA"+Math.random()+"\0",ci="\0PERIOD"+Math.random()+"\0";function ut(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function Ru(e){return e.split("\\\\").join(si).split("\\{").join(ai).split("\\}").join(at).split("\\,").join(ui).split("\\.").join(ci)}function Pu(e){return e.split(si).join("\\").split(ai).join("{").split(at).join("}").split(ui).join(",").split(ci).join(".")}function li(e){if(!e)return[""];var r=[],t=oi("{","}",e);if(!t)return e.split(",");var n=t.pre,i=t.body,o=t.post,s=n.split(",");s[s.length-1]+="{"+i+"}";var a=li(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),r.push.apply(r,s),r}function Tu(e){return e?(e.substr(0,2)==="{}"&&(e="\\{\\}"+e.substr(2)),Pe(Ru(e),!0).map(Pu)):[]}function Fu(e){return"{"+e+"}"}function Ou(e){return/^-?0\d/.test(e)}function Lu(e,r){return e<=r}function Nu(e,r){return e>=r}function Pe(e,r){var t=[],n=oi("{","}",e);if(!n||/\$$/.test(n.pre))return[e];var i=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(n.body),o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(n.body),s=i||o,a=n.body.indexOf(",")>=0;if(!s&&!a)return n.post.match(/,.*\}/)?(e=n.pre+"{"+n.body+at+n.post,Pe(e)):[e];var u;if(s)u=n.body.split(/\.\./);else if(u=li(n.body),u.length===1&&(u=Pe(u[0],!1).map(Fu),u.length===1)){var f=n.post.length?Pe(n.post,!1):[""];return f.map(function(le){return n.pre+u[0]+le})}var c=n.pre,f=n.post.length?Pe(n.post,!1):[""],l;if(s){var h=ut(u[0]),p=ut(u[1]),d=Math.max(u[0].length,u[1].length),m=u.length==3?Math.abs(ut(u[2])):1,g=Lu,v=p0){var be=new Array(T+1).join("0");k<0?E="-"+be+E.slice(1):E=be+E}}l.push(E)}}else l=Iu(u,function(H){return Pe(H,!1)});for(var ie=0;ie{vi.exports=Q;Q.Minimatch=N;var Qe={sep:"/"};try{Qe=C("path")}catch(e){}var ct=Q.GLOBSTAR=N.GLOBSTAR={},Du=hi(),pi={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},lt="[^/]",ft=lt+"*?",Mu="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",ju="(?:(?!(?:\\/|^)\\.).)*?",di=Bu("().*{}+?[]^$\\!");function Bu(e){return e.split("").reduce(function(r,t){return r[t]=!0,r},{})}var mi=/\/+/;Q.filter=$u;function $u(e,r){return r=r||{},function(t,n,i){return Q(t,e,r)}}function gi(e,r){e=e||{},r=r||{};var t={};return Object.keys(r).forEach(function(n){t[n]=r[n]}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}Q.defaults=function(e){if(!e||!Object.keys(e).length)return Q;var r=Q,t=function(i,o,s){return r.minimatch(i,o,gi(e,s))};return t.Minimatch=function(i,o){return new r.Minimatch(i,gi(e,o))},t};N.defaults=function(e){return!e||!Object.keys(e).length?N:Q.defaults(e).Minimatch};function Q(e,r,t){if(typeof r!="string")throw new TypeError("glob pattern string required");return t||(t={}),!t.nocomment&&r.charAt(0)==="#"?!1:r.trim()===""?e==="":new N(r,t).match(e)}function N(e,r){if(!(this instanceof N))return new N(e,r);if(typeof e!="string")throw new TypeError("glob pattern string required");r||(r={}),e=e.trim(),Qe.sep!=="/"&&(e=e.split(Qe.sep).join("/")),this.options=r,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}N.prototype.debug=function(){};N.prototype.make=qu;function qu(){if(!this._made){var e=this.pattern,r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate();var t=this.globSet=this.braceExpand();r.debug&&(this.debug=console.error),this.debug(this.pattern,t),t=this.globParts=t.map(function(n){return n.split(mi)}),this.debug(this.pattern,t),t=t.map(function(n,i,o){return n.map(this.parse,this)},this),this.debug(this.pattern,t),t=t.filter(function(n){return n.indexOf(!1)===-1}),this.debug(this.pattern,t),this.set=t}}N.prototype.parseNegate=Uu;function Uu(){var e=this.pattern,r=!1,t=this.options,n=0;if(!t.nonegate){for(var i=0,o=e.length;i1024*64)throw new TypeError("pattern is too long");var t=this.options;if(!t.noglobstar&&e==="**")return ct;if(e==="")return"";var n="",i=!!t.nocase,o=!1,s=[],a=[],u,c=!1,f=-1,l=-1,h=e.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",p=this;function d(){if(u){switch(u){case"*":n+=ft,i=!0;break;case"?":n+=lt,i=!0;break;default:n+="\\"+u;break}p.debug("clearStateChar %j %j",u,n),u=!1}}for(var m=0,g=e.length,v;m-1;re--){var S=a[re],H=n.slice(0,S.reStart),le=n.slice(S.reStart,S.reEnd-8),xe=n.slice(S.reEnd-8,S.reEnd),We=n.slice(S.reEnd);xe+=We;var Ya=H.split("(").length-1,Vr=We;for(m=0;m=0&&(i=e[o],!i);o--);for(o=0;o>> no match, partial?`,e,f,r,l),f===s))}var p;if(typeof u=="string"?(n.nocase?p=c.toLowerCase()===u.toLowerCase():p=c===u,this.debug("string match",u,c,p)):(p=c.match(u),this.debug("pattern match",u,c,p)),!p)return!1}if(i===s&&o===a)return!0;if(i===s)return t;if(o===a){var d=i===s-1&&e[i]==="";return d}throw new Error("wtf?")};function Hu(e){return e.replace(/\\(.)/g,"$1")}function Qu(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var bi=b((Lh,ht)=>{typeof Object.create=="function"?ht.exports=function(r,t){t&&(r.super_=t,r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:ht.exports=function(r,t){if(t){r.super_=t;var n=function(){};n.prototype=t.prototype,r.prototype=new n,r.prototype.constructor=r}}});var xi=b((Nh,dt)=>{try{if(pt=C("util"),typeof pt.inherits!="function")throw"";dt.exports=pt.inherits}catch(e){dt.exports=bi()}var pt});var Ar=b((Dh,Er)=>{"use strict";function wi(e){return e.charAt(0)==="/"}function Ci(e){var r=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,t=r.exec(e),n=t[1]||"",i=Boolean(n&&n.charAt(1)!==":");return Boolean(t[2]||i)}Er.exports=process.platform==="win32"?Ci:wi;Er.exports.posix=wi;Er.exports.win32=Ci});var gt=b(de=>{de.setopts=Zu;de.ownProp=_i;de.makeAbs=ze;de.finish=ec;de.mark=rc;de.isIgnored=Ai;de.childrenIgnored=tc;function _i(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var zu=C("fs"),Te=C("path"),Ku=_r(),Ei=Ar(),mt=Ku.Minimatch;function Vu(e,r){return e.localeCompare(r,"en")}function Ju(e,r){e.ignore=r.ignore||[],Array.isArray(e.ignore)||(e.ignore=[e.ignore]),e.ignore.length&&(e.ignore=e.ignore.map(Xu))}function Xu(e){var r=null;if(e.slice(-3)==="/**"){var t=e.replace(/(\/\*\*)+$/,"");r=new mt(t,{dot:!0})}return{matcher:new mt(e,{dot:!0}),gmatcher:r}}function Zu(e,r,t){if(t||(t={}),t.matchBase&&r.indexOf("/")===-1){if(t.noglobstar)throw new Error("base matching requires globstar");r="**/"+r}e.silent=!!t.silent,e.pattern=r,e.strict=t.strict!==!1,e.realpath=!!t.realpath,e.realpathCache=t.realpathCache||Object.create(null),e.follow=!!t.follow,e.dot=!!t.dot,e.mark=!!t.mark,e.nodir=!!t.nodir,e.nodir&&(e.mark=!0),e.sync=!!t.sync,e.nounique=!!t.nounique,e.nonull=!!t.nonull,e.nosort=!!t.nosort,e.nocase=!!t.nocase,e.stat=!!t.stat,e.noprocess=!!t.noprocess,e.absolute=!!t.absolute,e.fs=t.fs||zu,e.maxLength=t.maxLength||Infinity,e.cache=t.cache||Object.create(null),e.statCache=t.statCache||Object.create(null),e.symlinks=t.symlinks||Object.create(null),Ju(e,t),e.changedCwd=!1;var n=process.cwd();_i(t,"cwd")?(e.cwd=Te.resolve(t.cwd),e.changedCwd=e.cwd!==n):e.cwd=n,e.root=t.root||Te.resolve(e.cwd,"/"),e.root=Te.resolve(e.root),process.platform==="win32"&&(e.root=e.root.replace(/\\/g,"/")),e.cwdAbs=Ei(e.cwd)?e.cwd:ze(e,e.cwd),process.platform==="win32"&&(e.cwdAbs=e.cwdAbs.replace(/\\/g,"/")),e.nomount=!!t.nomount,t.nonegate=!0,t.nocomment=!0,e.minimatch=new mt(r,t),e.options=e.minimatch.options}function ec(e){for(var r=e.nounique,t=r?[]:Object.create(null),n=0,i=e.matches.length;n{Ri.exports=Ii;Ii.GlobSync=L;var nc=st(),ki=_r(),jh=ki.Minimatch,Bh=bt().Glob,$h=C("util"),yt=C("path"),Si=C("assert"),kr=Ar(),Ce=gt(),ic=Ce.setopts,vt=Ce.ownProp,oc=Ce.childrenIgnored,sc=Ce.isIgnored;function Ii(e,r){if(typeof r=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob +See: https://github.com/isaacs/node-glob/issues/167`);return new L(e,r).found}function L(e,r){if(!e)throw new Error("must provide pattern");if(typeof r=="function"||arguments.length===3)throw new TypeError(`callback provided to sync glob +See: https://github.com/isaacs/node-glob/issues/167`);if(!(this instanceof L))return new L(e,r);if(ic(this,e,r),this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var n=0;nthis.maxLength)return!1;if(!this.stat&&vt(this.cache,r)){var s=this.cache[r];if(Array.isArray(s)&&(s="DIR"),!t||s==="DIR")return s;if(t&&s==="FILE")return!1}var n,i=this.statCache[r];if(!i){var o;try{o=this.fs.lstatSync(r)}catch(a){if(a&&(a.code==="ENOENT"||a.code==="ENOTDIR"))return this.statCache[r]=!1,!1}if(o&&o.isSymbolicLink())try{i=this.fs.statSync(r)}catch(a){i=o}else i=o}this.statCache[r]=i;var s=!0;return i&&(s=i.isDirectory()?"DIR":"FILE"),this.cache[r]=this.cache[r]||s,t&&s==="FILE"?!1:s};L.prototype._mark=function(e){return Ce.mark(this,e)};L.prototype._makeAbs=function(e){return Ce.makeAbs(this,e)}});var xt=b((Uh,Fi)=>{Fi.exports=Ti;function Ti(e,r){if(e&&r)return Ti(e)(r);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(n){t[n]=e[n]}),t;function t(){for(var n=new Array(arguments.length),i=0;i{var Oi=xt();wt.exports=Oi(Sr);wt.exports.strict=Oi(Li);Sr.proto=Sr(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Sr(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Li(this)},configurable:!0})});function Sr(e){var r=function(){return r.called?r.value:(r.called=!0,r.value=e.apply(this,arguments))};return r.called=!1,r}function Li(e){var r=function(){if(r.called)throw new Error(r.onceError);return r.called=!0,r.value=e.apply(this,arguments)},t=e.name||"Function wrapped with `once`";return r.onceError=t+" shouldn't be called more than once",r.called=!1,r}});var Di=b((Gh,Ni)=>{var ac=xt(),Ke=Object.create(null),uc=Ct();Ni.exports=ac(cc);function cc(e,r){return Ke[e]?(Ke[e].push(r),null):(Ke[e]=[r],lc(e))}function lc(e){return uc(function r(){var t=Ke[e],n=t.length,i=fc(arguments);try{for(var o=0;on?(t.splice(0,n),process.nextTick(function(){r.apply(null,i)})):delete Ke[e]}})}function fc(e){for(var r=e.length,t=[],n=0;n{ji.exports=Ee;var hc=st(),Mi=_r(),Yh=Mi.Minimatch,pc=xi(),dc=C("events").EventEmitter,_t=C("path"),Et=C("assert"),Ve=Ar(),At=Pi(),_e=gt(),mc=_e.setopts,kt=_e.ownProp,St=Di(),Hh=C("util"),gc=_e.childrenIgnored,yc=_e.isIgnored,vc=Ct();function Ee(e,r,t){if(typeof r=="function"&&(t=r,r={}),r||(r={}),r.sync){if(t)throw new TypeError("callback provided to sync glob");return At(e,r)}return new I(e,r,t)}Ee.sync=At;var bc=Ee.GlobSync=At.GlobSync;Ee.glob=Ee;function xc(e,r){if(r===null||typeof r!="object")return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}Ee.hasMagic=function(e,r){var t=xc({},r);t.noprocess=!0;var n=new I(e,t),i=n.minimatch.set;if(!e)return!1;if(i.length>1)return!0;for(var o=0;othis.maxLength)return r();if(!this.stat&&kt(this.cache,t)){var i=this.cache[t];if(Array.isArray(i)&&(i="DIR"),!n||i==="DIR")return r(null,i);if(n&&i==="FILE")return r()}var o,s=this.statCache[t];if(s!==void 0){if(s===!1)return r(null,s);var a=s.isDirectory()?"DIR":"FILE";return n&&a==="FILE"?r():r(null,a,s)}var u=this,c=St("stat\0"+t,f);c&&u.fs.lstat(t,c);function f(l,h){if(h&&h.isSymbolicLink())return u.fs.stat(t,function(p,d){p?u._stat2(e,t,null,h,r):u._stat2(e,t,p,d,r)});u._stat2(e,t,l,h,r)}};I.prototype._stat2=function(e,r,t,n,i){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR"))return this.statCache[r]=!1,i();var o=e.slice(-1)==="/";if(this.statCache[r]=n,r.slice(-1)==="/"&&n&&!n.isDirectory())return i(null,!1,n);var s=!0;return n&&(s=n.isDirectory()?"DIR":"FILE"),this.cache[r]=this.cache[r]||s,o&&s==="FILE"?i():i(null,s,n)}});var $i=b((zh,Ae)=>{var Je=bt(),Bi=function(e,r){return new Promise((t,n)=>{Je(e,r,(i,o)=>i===null?t(o):n(i))})};Ae.exports=Bi;Ae.exports.glob=Je;Ae.exports.Glob=Je.Glob;Ae.exports.hasMagic=Je.hasMagic;Ae.exports.promise=Bi;Ae.exports.sync=Je.sync});var Fe=b((ap,ke)=>{"use strict";function Hi(e){return typeof e=="undefined"||e===null}function Ec(e){return typeof e=="object"&&e!==null}function Ac(e){return Array.isArray(e)?e:Hi(e)?[]:[e]}function kc(e,r){var t,n,i,o;if(r)for(o=Object.keys(r),t=0,n=o.length;t{"use strict";function Qi(e,r){var t="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=` + +`+e.mark.snippet),n+" "+t):n}function Xe(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=Qi(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Xe.prototype=Object.create(Error.prototype);Xe.prototype.constructor=Xe;Xe.prototype.toString=function(r){return this.name+": "+Qi(this,r)};zi.exports=Xe});var Vi=b((cp,Ki)=>{"use strict";var Ze=Fe();function Rt(e,r,t,n,i){var o="",s="",a=Math.floor(i/2)-1;return n-r>a&&(o=" ... ",r=n-a+o.length),t-n>a&&(s=" ...",t=n+a-s.length),{str:o+e.slice(r,t).replace(/\t/g,"\u2192")+s,pos:n-r+o.length}}function Pt(e,r){return Ze.repeat(" ",r-e.length)+e}function Rc(e,r){if(r=Object.create(r||null),!e.buffer)return null;r.maxLength||(r.maxLength=79),typeof r.indent!="number"&&(r.indent=1),typeof r.linesBefore!="number"&&(r.linesBefore=3),typeof r.linesAfter!="number"&&(r.linesAfter=2);for(var t=/\r?\n|\r|\0/g,n=[0],i=[],o,s=-1;o=t.exec(e.buffer);)i.push(o.index),n.push(o.index+o[0].length),e.position<=o.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var a="",u,c,f=Math.min(e.line+r.linesAfter,i.length).toString().length,l=r.maxLength-(r.indent+f+3);for(u=1;u<=r.linesBefore&&!(s-u<0);u++)c=Rt(e.buffer,n[s-u],i[s-u],e.position-(n[s]-n[s-u]),l),a=Ze.repeat(" ",r.indent)+Pt((e.line-u+1).toString(),f)+" | "+c.str+` +`+a;for(c=Rt(e.buffer,n[s],i[s],e.position,l),a+=Ze.repeat(" ",r.indent)+Pt((e.line+1).toString(),f)+" | "+c.str+` +`,a+=Ze.repeat("-",r.indent+f+3+c.pos)+`^ +`,u=1;u<=r.linesAfter&&!(s+u>=i.length);u++)c=Rt(e.buffer,n[s+u],i[s+u],e.position-(n[s]-n[s+u]),l),a+=Ze.repeat(" ",r.indent)+Pt((e.line+u+1).toString(),f)+" | "+c.str+` +`;return a.replace(/\n$/,"")}Ki.exports=Rc});var D=b((lp,Xi)=>{"use strict";var Ji=Oe(),Pc=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Tc=["scalar","sequence","mapping"];function Fc(e){var r={};return e!==null&&Object.keys(e).forEach(function(t){e[t].forEach(function(n){r[String(n)]=t})}),r}function Oc(e,r){if(r=r||{},Object.keys(r).forEach(function(t){if(Pc.indexOf(t)===-1)throw new Ji('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=r,this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(t){return t},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.representName=r.representName||null,this.defaultStyle=r.defaultStyle||null,this.multi=r.multi||!1,this.styleAliases=Fc(r.styleAliases||null),Tc.indexOf(this.kind)===-1)throw new Ji('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}Xi.exports=Oc});var Ot=b((fp,eo)=>{"use strict";var er=Oe(),Tt=D();function Zi(e,r){var t=[];return e[r].forEach(function(n){var i=t.length;t.forEach(function(o,s){o.tag===n.tag&&o.kind===n.kind&&o.multi===n.multi&&(i=s)}),t[i]=n}),t}function Lc(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},r,t;function n(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(r=0,t=arguments.length;r{"use strict";var Nc=D();ro.exports=new Nc("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Nt=b((pp,to)=>{"use strict";var Dc=D();to.exports=new Dc("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Dt=b((dp,no)=>{"use strict";var Mc=D();no.exports=new Mc("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var Mt=b((mp,io)=>{"use strict";var jc=Ot();io.exports=new jc({explicit:[Lt(),Nt(),Dt()]})});var jt=b((gp,oo)=>{"use strict";var Bc=D();function $c(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function qc(){return null}function Uc(e){return e===null}oo.exports=new Bc("tag:yaml.org,2002:null",{kind:"scalar",resolve:$c,construct:qc,predicate:Uc,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})});var Bt=b((yp,so)=>{"use strict";var Wc=D();function Gc(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function Yc(e){return e==="true"||e==="True"||e==="TRUE"}function Hc(e){return Object.prototype.toString.call(e)==="[object Boolean]"}so.exports=new Wc("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Gc,construct:Yc,predicate:Hc,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var $t=b((vp,ao)=>{"use strict";var Qc=Fe(),zc=D();function Kc(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Vc(e){return 48<=e&&e<=55}function Jc(e){return 48<=e&&e<=57}function Xc(e){if(e===null)return!1;var r=e.length,t=0,n=!1,i;if(!r)return!1;if(i=e[t],(i==="-"||i==="+")&&(i=e[++t]),i==="0"){if(t+1===r)return!0;if(i=e[++t],i==="b"){for(t++;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var qt=b((bp,co)=>{"use strict";var uo=Fe(),rl=D(),tl=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function nl(e){return!(e===null||!tl.test(e)||e[e.length-1]==="_")}function il(e){var r,t;return r=e.replace(/_/g,"").toLowerCase(),t=r[0]==="-"?-1:1,"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:t*parseFloat(r,10)}var ol=/^[-+]?[0-9]+e/;function sl(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(uo.isNegativeZero(e))return"-0.0";return t=e.toString(10),ol.test(t)?t.replace("e",".e"):t}function al(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!=0||uo.isNegativeZero(e))}co.exports=new rl("tag:yaml.org,2002:float",{kind:"scalar",resolve:nl,construct:il,predicate:al,represent:sl,defaultStyle:"lowercase"})});var Ut=b((xp,lo)=>{"use strict";lo.exports=Mt().extend({implicit:[jt(),Bt(),$t(),qt()]})});var Wt=b((wp,fo)=>{"use strict";fo.exports=Ut()});var Gt=b((Cp,mo)=>{"use strict";var ul=D(),ho=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),po=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 cl(e){return e===null?!1:ho.exec(e)!==null||po.exec(e)!==null}function ll(e){var r,t,n,i,o,s,a,u=0,c=null,f,l,h;if(r=ho.exec(e),r===null&&(r=po.exec(e)),r===null)throw new Error("Date resolve error");if(t=+r[1],n=+r[2]-1,i=+r[3],!r[4])return new Date(Date.UTC(t,n,i));if(o=+r[4],s=+r[5],a=+r[6],r[7]){for(u=r[7].slice(0,3);u.length<3;)u+="0";u=+u}return r[9]&&(f=+r[10],l=+(r[11]||0),c=(f*60+l)*6e4,r[9]==="-"&&(c=-c)),h=new Date(Date.UTC(t,n,i,o,s,a,u)),c&&h.setTime(h.getTime()-c),h}function fl(e){return e.toISOString()}mo.exports=new ul("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:cl,construct:ll,instanceOf:Date,represent:fl})});var Yt=b((_p,go)=>{"use strict";var hl=D();function pl(e){return e==="<<"||e===null}go.exports=new hl("tag:yaml.org,2002:merge",{kind:"scalar",resolve:pl})});var Qt=b((Ep,yo)=>{"use strict";var dl=D(),Ht=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function ml(e){if(e===null)return!1;var r,t,n=0,i=e.length,o=Ht;for(t=0;t64)){if(r<0)return!1;n+=6}return n%8==0}function gl(e){var r,t,n=e.replace(/[\r\n=]/g,""),i=n.length,o=Ht,s=0,a=[];for(r=0;r>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(n.charAt(r));return t=i%4*6,t===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):t===18?(a.push(s>>10&255),a.push(s>>2&255)):t===12&&a.push(s>>4&255),new Uint8Array(a)}function yl(e){var r="",t=0,n,i,o=e.length,s=Ht;for(n=0;n>18&63],r+=s[t>>12&63],r+=s[t>>6&63],r+=s[t&63]),t=(t<<8)+e[n];return i=o%3,i===0?(r+=s[t>>18&63],r+=s[t>>12&63],r+=s[t>>6&63],r+=s[t&63]):i===2?(r+=s[t>>10&63],r+=s[t>>4&63],r+=s[t<<2&63],r+=s[64]):i===1&&(r+=s[t>>2&63],r+=s[t<<4&63],r+=s[64],r+=s[64]),r}function vl(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}yo.exports=new dl("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ml,construct:gl,predicate:vl,represent:yl})});var zt=b((Ap,vo)=>{"use strict";var bl=D(),xl=Object.prototype.hasOwnProperty,wl=Object.prototype.toString;function Cl(e){if(e===null)return!0;var r=[],t,n,i,o,s,a=e;for(t=0,n=a.length;t{"use strict";var El=D(),Al=Object.prototype.toString;function kl(e){if(e===null)return!0;var r,t,n,i,o,s=e;for(o=new Array(s.length),r=0,t=s.length;r{"use strict";var Il=D(),Rl=Object.prototype.hasOwnProperty;function Pl(e){if(e===null)return!0;var r,t=e;for(r in t)if(Rl.call(t,r)&&t[r]!==null)return!1;return!0}function Tl(e){return e!==null?e:{}}xo.exports=new Il("tag:yaml.org,2002:set",{kind:"mapping",resolve:Pl,construct:Tl})});var Rr=b((Ip,wo)=>{"use strict";wo.exports=Wt().extend({implicit:[Gt(),Yt()],explicit:[Qt(),zt(),Kt(),Vt()]})});var Mo=b((Rp,en)=>{"use strict";var Se=Fe(),Co=Oe(),Fl=Vi(),Ol=Rr(),me=Object.prototype.hasOwnProperty,Pr=1,_o=2,Eo=3,Tr=4,Jt=1,Ll=2,Ao=3,Nl=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Dl=/[\x85\u2028\u2029]/,Ml=/[,\[\]\{\}]/,ko=/^(?:!|!!|![a-z\-]+!)$/i,So=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Io(e){return Object.prototype.toString.call(e)}function te(e){return e===10||e===13}function Ie(e){return e===9||e===32}function U(e){return e===9||e===32||e===10||e===13}function Le(e){return e===44||e===91||e===93||e===123||e===125}function jl(e){var r;return 48<=e&&e<=57?e-48:(r=e|32,97<=r&&r<=102?r-97+10:-1)}function Bl(e){return e===120?2:e===117?4:e===85?8:0}function $l(e){return 48<=e&&e<=57?e-48:-1}function Ro(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function ql(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var Po=new Array(256),To=new Array(256);for(var Ne=0;Ne<256;Ne++)Po[Ne]=Ro(Ne)?1:0,To[Ne]=Ro(Ne);function Ul(e,r){this.input=e,this.filename=r.filename||null,this.schema=r.schema||Ol,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Fo(e,r){var t={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return t.snippet=Fl(t),new Co(r,t)}function w(e,r){throw Fo(e,r)}function Fr(e,r){e.onWarning&&e.onWarning.call(null,Fo(e,r))}var Oo={YAML:function(r,t,n){var i,o,s;r.version!==null&&w(r,"duplication of %YAML directive"),n.length!==1&&w(r,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&w(r,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),s=parseInt(i[2],10),o!==1&&w(r,"unacceptable YAML version of the document"),r.version=n[0],r.checkLineBreaks=s<2,s!==1&&s!==2&&Fr(r,"unsupported YAML version of the document")},TAG:function(r,t,n){var i,o;n.length!==2&&w(r,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],ko.test(i)||w(r,"ill-formed tag handle (first argument) of the TAG directive"),me.call(r.tagMap,i)&&w(r,'there is a previously declared suffix for "'+i+'" tag handle'),So.test(o)||w(r,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch(s){w(r,"tag prefix is malformed: "+o)}r.tagMap[i]=o}};function ge(e,r,t,n){var i,o,s,a;if(r1&&(e.result+=Se.repeat(` +`,r-1))}function Wl(e,r,t){var n,i,o,s,a,u,c,f,l=e.kind,h=e.result,p;if(p=e.input.charCodeAt(e.position),U(p)||Le(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=e.input.charCodeAt(e.position+1),U(i)||t&&Le(i)))return!1;for(e.kind="scalar",e.result="",o=s=e.position,a=!1;p!==0;){if(p===58){if(i=e.input.charCodeAt(e.position+1),U(i)||t&&Le(i))break}else if(p===35){if(n=e.input.charCodeAt(e.position-1),U(n))break}else{if(e.position===e.lineStart&&Or(e)||t&&Le(p))break;if(te(p))if(u=e.line,c=e.lineStart,f=e.lineIndent,O(e,!1,-1),e.lineIndent>=r){a=!0,p=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=u,e.lineStart=c,e.lineIndent=f;break}}a&&(ge(e,o,s,!1),Zt(e,e.line-u),o=s=e.position,a=!1),Ie(p)||(s=e.position+1),p=e.input.charCodeAt(++e.position)}return ge(e,o,s,!1),e.result?!0:(e.kind=l,e.result=h,!1)}function Gl(e,r){var t,n,i;if(t=e.input.charCodeAt(e.position),t!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(t=e.input.charCodeAt(e.position))!==0;)if(t===39)if(ge(e,n,e.position,!0),t=e.input.charCodeAt(++e.position),t===39)n=e.position,e.position++,i=e.position;else return!0;else te(t)?(ge(e,n,i,!0),Zt(e,O(e,!1,r)),n=i=e.position):e.position===e.lineStart&&Or(e)?w(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);w(e,"unexpected end of the stream within a single quoted scalar")}function Yl(e,r){var t,n,i,o,s,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,t=n=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return ge(e,t,e.position,!0),e.position++,!0;if(a===92){if(ge(e,t,e.position,!0),a=e.input.charCodeAt(++e.position),te(a))O(e,!1,r);else if(a<256&&Po[a])e.result+=To[a],e.position++;else if((s=Bl(a))>0){for(i=s,o=0;i>0;i--)a=e.input.charCodeAt(++e.position),(s=jl(a))>=0?o=(o<<4)+s:w(e,"expected hexadecimal character");e.result+=ql(o),e.position++}else w(e,"unknown escape sequence");t=n=e.position}else te(a)?(ge(e,t,n,!0),Zt(e,O(e,!1,r)),t=n=e.position):e.position===e.lineStart&&Or(e)?w(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}w(e,"unexpected end of the stream within a double quoted scalar")}function Hl(e,r){var t=!0,n,i,o,s=e.tag,a,u=e.anchor,c,f,l,h,p,d=Object.create(null),m,g,v,y;if(y=e.input.charCodeAt(e.position),y===91)f=93,p=!1,a=[];else if(y===123)f=125,p=!0,a={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=a),y=e.input.charCodeAt(++e.position);y!==0;){if(O(e,!0,r),y=e.input.charCodeAt(e.position),y===f)return e.position++,e.tag=s,e.anchor=u,e.kind=p?"mapping":"sequence",e.result=a,!0;t?y===44&&w(e,"expected the node content, but found ','"):w(e,"missed comma between flow collection entries"),g=m=v=null,l=h=!1,y===63&&(c=e.input.charCodeAt(e.position+1),U(c)&&(l=h=!0,e.position++,O(e,!0,r))),n=e.line,i=e.lineStart,o=e.position,Me(e,r,Pr,!1,!0),g=e.tag,m=e.result,O(e,!0,r),y=e.input.charCodeAt(e.position),(h||e.line===n)&&y===58&&(l=!0,y=e.input.charCodeAt(++e.position),O(e,!0,r),Me(e,r,Pr,!1,!0),v=e.result),p?De(e,a,d,g,m,v,n,i,o):l?a.push(De(e,null,d,g,m,v,n,i,o)):a.push(m),O(e,!0,r),y=e.input.charCodeAt(e.position),y===44?(t=!0,y=e.input.charCodeAt(++e.position)):t=!1}w(e,"unexpected end of the stream within a flow collection")}function Ql(e,r){var t,n,i=Jt,o=!1,s=!1,a=r,u=0,c=!1,f,l;if(l=e.input.charCodeAt(e.position),l===124)n=!1;else if(l===62)n=!0;else return!1;for(e.kind="scalar",e.result="";l!==0;)if(l=e.input.charCodeAt(++e.position),l===43||l===45)Jt===i?i=l===43?Ao:Ll:w(e,"repeat of a chomping mode identifier");else if((f=$l(l))>=0)f===0?w(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?w(e,"repeat of an indentation width identifier"):(a=r+f-1,s=!0);else break;if(Ie(l)){do l=e.input.charCodeAt(++e.position);while(Ie(l));if(l===35)do l=e.input.charCodeAt(++e.position);while(!te(l)&&l!==0)}for(;l!==0;){for(Xt(e),e.lineIndent=0,l=e.input.charCodeAt(e.position);(!s||e.lineIndenta&&(a=e.lineIndent),te(l)){u++;continue}if(e.lineIndentr)&&u!==0)w(e,"bad indentation of a sequence entry");else if(e.lineIndentr)&&(g&&(s=e.line,a=e.lineStart,u=e.position),Me(e,r,Tr,!0,i)&&(g?d=e.result:m=e.result),g||(De(e,l,h,p,d,m,s,a,u),p=d=m=null),O(e,!0,-1),y=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>r)&&y!==0)w(e,"bad indentation of a mapping entry");else if(e.lineIndentr?u=1:e.lineIndent===r?u=0:e.lineIndentr?u=1:e.lineIndent===r?u=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),l=0,h=e.implicitTypes.length;l"),e.result!==null&&d.kind!==e.kind&&w(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+d.kind+'", not "'+e.kind+'"'),d.resolve(e.result,e.tag)?(e.result=d.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):w(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||f}function Xl(e){var r=e.position,t,n,i,o=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(s=e.input.charCodeAt(e.position))!==0&&(O(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(o=!0,s=e.input.charCodeAt(++e.position),t=e.position;s!==0&&!U(s);)s=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&w(e,"directive name must not be less than one character in length");s!==0;){for(;Ie(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!te(s));break}if(te(s))break;for(t=e.position;s!==0&&!U(s);)s=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}s!==0&&Xt(e),me.call(Oo,n)?Oo[n](e,n,i):Fr(e,'unknown document directive "'+n+'"')}if(O(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,O(e,!0,-1)):o&&w(e,"directives end mark is expected"),Me(e,e.lineIndent-1,Tr,!1,!0),O(e,!0,-1),e.checkLineBreaks&&Dl.test(e.input.slice(r,e.position))&&Fr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Or(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,O(e,!0,-1));return}if(e.position{"use strict";var Lr=Fe(),rr=Oe(),rf=Rr(),jo=Object.prototype.toString,Bo=Object.prototype.hasOwnProperty,rn=65279,tf=9,tr=10,nf=13,of=32,sf=33,af=34,tn=35,uf=37,cf=38,lf=39,ff=42,$o=44,hf=45,Nr=58,pf=61,df=62,mf=63,gf=64,qo=91,Uo=93,yf=96,Wo=123,vf=124,Go=125,M={};M[0]="\\0";M[7]="\\a";M[8]="\\b";M[9]="\\t";M[10]="\\n";M[11]="\\v";M[12]="\\f";M[13]="\\r";M[27]="\\e";M[34]='\\"';M[92]="\\\\";M[133]="\\N";M[160]="\\_";M[8232]="\\L";M[8233]="\\P";var bf=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],xf=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function wf(e,r){var t,n,i,o,s,a,u;if(r===null)return{};for(t={},n=Object.keys(r),i=0,o=n.length;i=55296&&t<=56319&&r+1=56320&&n<=57343)?(t-55296)*1024+n-56320+65536:t}function zo(e){var r=/^\n* /;return r.test(e)}var Ko=1,on=2,Vo=3,Jo=4,je=5;function If(e,r,t,n,i,o,s,a){var u,c=0,f=null,l=!1,h=!1,p=n!==-1,d=-1,m=kf(or(e,0))&&Sf(or(e,e.length-1));if(r||s)for(u=0;u=65536?u+=2:u++){if(c=or(e,u),!ir(c))return je;m=m&&Qo(c,f,a),f=c}else{for(u=0;u=65536?u+=2:u++){if(c=or(e,u),c===tr)l=!0,p&&(h=h||u-d-1>n&&e[d+1]!==" ",d=u);else if(!ir(c))return je;m=m&&Qo(c,f,a),f=c}h=h||p&&u-d-1>n&&e[d+1]!==" "}return!l&&!h?m&&!s&&!i(e)?Ko:o===nr?je:on:t>9&&zo(e)?je:s?o===nr?je:on:h?Jo:Vo}function Rf(e,r,t,n,i){e.dump=function(){if(r.length===0)return e.quotingType===nr?'""':"''";if(!e.noCompatMode&&(bf.indexOf(r)!==-1||xf.test(r)))return e.quotingType===nr?'"'+r+'"':"'"+r+"'";var o=e.indent*Math.max(1,t),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),a=n||e.flowLevel>-1&&t>=e.flowLevel;function u(c){return Af(e,c)}switch(If(r,a,e.indent,s,u,e.quotingType,e.forceQuotes&&!n,i)){case Ko:return r;case on:return"'"+r.replace(/'/g,"''")+"'";case Vo:return"|"+Xo(r,e.indent)+Zo(Yo(r,o));case Jo:return">"+Xo(r,e.indent)+Zo(Yo(Pf(r,s),o));case je:return'"'+Tf(r,s)+'"';default:throw new rr("impossible error: invalid scalar style")}}()}function Xo(e,r){var t=zo(e)?String(r):"",n=e[e.length-1]===` +`,i=n&&(e[e.length-2]===` +`||e===` +`),o=i?"+":n?"":"-";return t+o+` +`}function Zo(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Pf(e,r){for(var t=/(\n+)([^\n]*)/g,n=function(){var c=e.indexOf(` +`);return c=c!==-1?c:e.length,t.lastIndex=c,es(e.slice(0,c),r)}(),i=e[0]===` +`||e[0]===" ",o,s;s=t.exec(e);){var a=s[1],u=s[2];o=u[0]===" ",n+=a+(!i&&!o&&u!==""?` +`:"")+es(u,r),i=o}return n}function es(e,r){if(e===""||e[0]===" ")return e;for(var t=/ [^ ]/g,n,i=0,o,s=0,a=0,u="";n=t.exec(e);)a=n.index,a-i>r&&(o=s>i?s:a,u+=` +`+e.slice(i,o),i=o+1),s=a;return u+=` +`,e.length-i>r&&s>i?u+=e.slice(i,s)+` +`+e.slice(s+1):u+=e.slice(i),u.slice(1)}function Tf(e){for(var r="",t=0,n,i=0;i=65536?i+=2:i++)t=or(e,i),n=M[t],!n&&ir(t)?(r+=e[i],t>=65536&&(r+=e[i+1])):r+=n||Cf(t);return r}function Ff(e,r,t){var n="",i=e.tag,o,s,a;for(o=0,s=t.length;o1024&&(f+="? "),f+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),!!ae(e,r,c,!1,!1)&&(f+=e.dump,n+=f));e.tag=i,e.dump="{"+n+"}"}function Lf(e,r,t,n){var i="",o=e.tag,s=Object.keys(t),a,u,c,f,l,h;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new rr("sortKeys must be a boolean or a function");for(a=0,u=s.length;a1024,l&&(e.dump&&tr===e.dump.charCodeAt(0)?h+="?":h+="? "),h+=e.dump,l&&(h+=nn(e,r)),!!ae(e,r+1,f,!0,l)&&(e.dump&&tr===e.dump.charCodeAt(0)?h+=":":h+=": ",h+=e.dump,i+=h));e.tag=o,e.dump=i||"{}"}function ts(e,r,t){var n,i,o,s,a,u;for(i=t?e.explicitTypes:e.implicitTypes,o=0,s=i.length;o tag resolver accepts not "'+u+'" style');e.dump=n}return!0}return!1}function ae(e,r,t,n,i,o,s){e.tag=null,e.dump=t,ts(e,t,!1)||ts(e,t,!0);var a=jo.call(e.dump),u=n,c;n&&(n=e.flowLevel<0||e.flowLevel>r);var f=a==="[object Object]"||a==="[object Array]",l,h;if(f&&(l=e.duplicates.indexOf(t),h=l!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&r>0)&&(i=!1),h&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(f&&h&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),a==="[object Object]")n&&Object.keys(e.dump).length!==0?(Lf(e,r,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(Of(e,r,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(a==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!s&&r>0?rs(e,r-1,e.dump,i):rs(e,r,e.dump,i),h&&(e.dump="&ref_"+l+e.dump)):(Ff(e,r,e.dump),h&&(e.dump="&ref_"+l+" "+e.dump));else if(a==="[object String]")e.tag!=="?"&&Rf(e,e.dump,r,o,u);else{if(a==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new rr("unacceptable kind of an object to dump "+a)}e.tag!==null&&e.tag!=="?"&&(c=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?c="!"+c:c.slice(0,18)==="tag:yaml.org,2002:"?c="!!"+c.slice(18):c="!<"+c+">",e.dump=c+" "+e.dump)}return!0}function Nf(e,r){var t=[],n=[],i,o;for(sn(e,t,n),i=0,o=n.length;i{"use strict";var os=Mo(),Mf=is();function an(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}B.exports.Type=D();B.exports.Schema=Ot();B.exports.FAILSAFE_SCHEMA=Mt();B.exports.JSON_SCHEMA=Ut();B.exports.CORE_SCHEMA=Wt();B.exports.DEFAULT_SCHEMA=Rr();B.exports.load=os.load;B.exports.loadAll=os.loadAll;B.exports.dump=Mf.dump;B.exports.YAMLException=Oe();B.exports.types={binary:Qt(),float:qt(),map:Dt(),null:jt(),pairs:Kt(),set:Vt(),timestamp:Gt(),bool:Bt(),int:$t(),merge:Yt(),omap:zt(),seq:Nt(),str:Lt()};B.exports.safeLoad=an("safeLoad","load");B.exports.safeLoadAll=an("safeLoadAll","loadAll");B.exports.safeDump=an("safeDump","dump")});var hs=b((Wp,qf)=>{qf.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 ms=b(G=>{"use strict";var ps=hs(),ne=process.env;Object.defineProperty(G,"_vendors",{value:ps.map(function(e){return e.constant})});G.name=null;G.isPR=null;ps.forEach(function(e){var r=Array.isArray(e.env)?e.env:[e.env],t=r.every(function(n){return ds(n)});if(G[e.constant]=t,t)switch(G.name=e.name,typeof e.pr){case"string":G.isPR=!!ne[e.pr];break;case"object":"env"in e.pr?G.isPR=e.pr.env in ne&&ne[e.pr.env]!==e.pr.ne:"any"in e.pr?G.isPR=e.pr.any.some(function(n){return!!ne[n]}):G.isPR=ds(e.pr);break;default:G.isPR=null}});G.isCI=!!(ne.CI||ne.CONTINUOUS_INTEGRATION||ne.BUILD_NUMBER||ne.RUN_ID||G.name);function ds(e){return typeof e=="string"?!!ne[e]:Object.keys(e).every(function(r){return ne[r]===e[r]})}});var ys=b((Yp,gs)=>{"use strict";gs.exports=ms().isCI});var bs=b((Hp,ln)=>{"use strict";var Uf=Object.prototype.hasOwnProperty,$="~";function cr(){}Object.create&&(cr.prototype=Object.create(null),new cr().__proto__||($=!1));function Wf(e,r,t){this.fn=e,this.context=r,this.once=t||!1}function vs(e,r,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new Wf(t,n||e,i),s=$?$+r:r;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Br(e,r){--e._eventsCount==0?e._events=new cr:delete e._events[r]}function j(){this._events=new cr,this._eventsCount=0}j.prototype.eventNames=function(){var r=[],t,n;if(this._eventsCount===0)return r;for(n in t=this._events)Uf.call(t,n)&&r.push($?n.slice(1):n);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r};j.prototype.listeners=function(r){var t=$?$+r:r,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i{"use strict";xs.exports=(e,r)=>(r=r||(()=>{}),e.then(t=>new Promise(n=>{n(r())}).then(()=>t),t=>new Promise(n=>{n(r())}).then(()=>{throw t})))});var _s=b((zp,$r)=>{"use strict";var Gf=ws(),fn=class extends Error{constructor(r){super(r);this.name="TimeoutError"}},Cs=(e,r,t)=>new Promise((n,i)=>{if(typeof r!="number"||r<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(r===Infinity){n(e);return}let o=setTimeout(()=>{if(typeof t=="function"){try{n(t())}catch(u){i(u)}return}let s=typeof t=="string"?t:`Promise timed out after ${r} milliseconds`,a=t instanceof Error?t:new fn(s);typeof e.cancel=="function"&&e.cancel(),i(a)},r);Gf(e.then(n,i),()=>{clearTimeout(o)})});$r.exports=Cs;$r.exports.default=Cs;$r.exports.TimeoutError=fn});var Es=b(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});function Yf(e,r,t){let n=0,i=e.length;for(;i>0;){let o=i/2|0,s=n+o;t(e[s],r)<=0?(n=++s,i-=o+1):i=o}return n}hn.default=Yf});var ks=b(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});var Hf=Es(),As=class{constructor(){this._queue=[]}enqueue(r,t){t=Object.assign({priority:0},t);let n={priority:t.priority,run:r};if(this.size&&this._queue[this.size-1].priority>=t.priority){this._queue.push(n);return}let i=Hf.default(this._queue,n,(o,s)=>s.priority-o.priority);this._queue.splice(i,0,n)}dequeue(){let r=this._queue.shift();return r==null?void 0:r.run}filter(r){return this._queue.filter(t=>t.priority===r.priority).map(t=>t.run)}get size(){return this._queue.length}};pn.default=As});var Rs=b(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});var Qf=bs(),Ss=_s(),zf=ks(),qr=()=>{},Kf=new Ss.TimeoutError,Is=class extends Qf{constructor(r){var t,n,i,o;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=qr,this._resolveIdle=qr,r=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:zf.default},r),!(typeof r.intervalCap=="number"&&r.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(t=r.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:""}\` (${typeof r.intervalCap})`);if(r.interval===void 0||!(Number.isFinite(r.interval)&&r.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=r.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof r.interval})`);this._carryoverConcurrencyCount=r.carryoverConcurrencyCount,this._isIntervalIgnored=r.intervalCap===Infinity||r.interval===0,this._intervalCap=r.intervalCap,this._interval=r.interval,this._queue=new r.queueClass,this._queueClass=r.queueClass,this.concurrency=r.concurrency,this._timeout=r.timeout,this._throwOnTimeout=r.throwOnTimeout===!0,this._isPaused=r.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},t)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let r=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let t=this._queue.dequeue();return t?(this.emit("active"),t(),r&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(r){if(!(typeof r=="number"&&r>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${r}\` (${typeof r})`);this._concurrency=r,this._processQueue()}async add(r,t={}){return new Promise((n,i)=>{let o=async()=>{this._pendingCount++,this._intervalCount++;try{let s=this._timeout===void 0&&t.timeout===void 0?r():Ss.default(Promise.resolve(r()),t.timeout===void 0?this._timeout:t.timeout,()=>{(t.throwOnTimeout===void 0?this._throwOnTimeout:t.throwOnTimeout)&&i(Kf)});n(await s)}catch(s){i(s)}this._next()};this._queue.enqueue(o,t),this._tryToStartAnother(),this.emit("add")})}async addAll(r,t){return Promise.all(r.map(async n=>this.add(n,t)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(r=>{let t=this._resolveEmpty;this._resolveEmpty=()=>{t(),r()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(r=>{let t=this._resolveIdle;this._resolveIdle=()=>{t(),r()}})}get size(){return this._queue.size}sizeBy(r){return this._queue.filter(r).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(r){this._timeout=r}};dn.default=Is});var Ts=b((Xp,mn)=>{"use strict";var Ps=(e,...r)=>new Promise(t=>{t(e(...r))});mn.exports=Ps;mn.exports.default=Ps});var Os=b((Zp,gn)=>{"use strict";var Vf=Ts(),Fs=e=>{if(!((Number.isInteger(e)||e===Infinity)&&e>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let r=[],t=0,n=()=>{t--,r.length>0&&r.shift()()},i=(a,u,...c)=>{t++;let f=Vf(a,...c);u(f),f.then(n,n)},o=(a,u,...c)=>{tnew Promise(c=>o(a,c,...u));return Object.defineProperties(s,{activeCount:{get:()=>t},pendingCount:{get:()=>r.length},clearQueue:{value:()=>{r.length=0}}}),s};gn.exports=Fs;gn.exports.default=Fs});var Ns=b(vn=>{"use strict";var yn=class{constructor(r){this.tasks=[],this.count=r}sched(){if(this.count>0&&this.tasks.length>0){this.count--;let r=this.tasks.shift();if(r===void 0)throw"Unexpected undefined value in tasks list";r()}}acquire(){return new Promise((r,t)=>{var n=()=>{var i=!1;r(()=>{i||(i=!0,this.count++,this.sched())})};this.tasks.push(n),process&&process.nextTick?process.nextTick(this.sched.bind(this)):setImmediate(this.sched.bind(this))})}use(r){return this.acquire().then(t=>r().then(n=>(t(),n)).catch(n=>{throw t(),n}))}};vn.Semaphore=yn;var Ls=class extends yn{constructor(){super(1)}};vn.Mutex=Ls});var Ms=b((rd,Ds)=>{"use strict";Ds.exports=({onlyFirst:e=!1}={})=>{let r=["[\\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(r,e?void 0:"g")}});var bn=b((td,js)=>{"use strict";var Jf=Ms();js.exports=e=>typeof e=="string"?e.replace(Jf(),""):e});var $s=b((nd,xn)=>{"use strict";var Bs=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);xn.exports=Bs;xn.exports.default=Bs});var Ws=b((id,Us)=>{"use strict";var qs="[\uD800-\uDBFF][\uDC00-\uDFFF]",Xf=e=>e&&e.exact?new RegExp(`^${qs}$`):new RegExp(qs,"g");Us.exports=Xf});var Ys=b((od,Gs)=>{"use strict";Gs.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 wn=b((sd,Qs)=>{var lr=Ys(),Hs={};for(let e of Object.keys(lr))Hs[lr[e]]=e;var x={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"]}};Qs.exports=x;for(let e of Object.keys(x)){if(!("channels"in x[e]))throw new Error("missing channels property: "+e);if(!("labels"in x[e]))throw new Error("missing channel labels property: "+e);if(x[e].labels.length!==x[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:r,labels:t}=x[e];delete x[e].channels,delete x[e].labels,Object.defineProperty(x[e],"channels",{value:r}),Object.defineProperty(x[e],"labels",{value:t})}x.rgb.hsl=function(e){let r=e[0]/255,t=e[1]/255,n=e[2]/255,i=Math.min(r,t,n),o=Math.max(r,t,n),s=o-i,a,u;o===i?a=0:r===o?a=(t-n)/s:t===o?a=2+(n-r)/s:n===o&&(a=4+(r-t)/s),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+o)/2;return o===i?u=0:c<=.5?u=s/(o+i):u=s/(2-o-i),[a,u*100,c*100]};x.rgb.hsv=function(e){let r,t,n,i,o,s=e[0]/255,a=e[1]/255,u=e[2]/255,c=Math.max(s,a,u),f=c-Math.min(s,a,u),l=function(h){return(c-h)/6/f+1/2};return f===0?(i=0,o=0):(o=f/c,r=l(s),t=l(a),n=l(u),s===c?i=n-t:a===c?i=1/3+r-n:u===c&&(i=2/3+t-r),i<0?i+=1:i>1&&(i-=1)),[i*360,o*100,c*100]};x.rgb.hwb=function(e){let r=e[0],t=e[1],n=e[2],i=x.rgb.hsl(e)[0],o=1/255*Math.min(r,Math.min(t,n));return n=1-1/255*Math.max(r,Math.max(t,n)),[i,o*100,n*100]};x.rgb.cmyk=function(e){let r=e[0]/255,t=e[1]/255,n=e[2]/255,i=Math.min(1-r,1-t,1-n),o=(1-r-i)/(1-i)||0,s=(1-t-i)/(1-i)||0,a=(1-n-i)/(1-i)||0;return[o*100,s*100,a*100,i*100]};function Zf(e,r){return(e[0]-r[0])**2+(e[1]-r[1])**2+(e[2]-r[2])**2}x.rgb.keyword=function(e){let r=Hs[e];if(r)return r;let t=Infinity,n;for(let i of Object.keys(lr)){let o=lr[i],s=Zf(e,o);s.04045?((r+.055)/1.055)**2.4:r/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let i=r*.4124+t*.3576+n*.1805,o=r*.2126+t*.7152+n*.0722,s=r*.0193+t*.1192+n*.9505;return[i*100,o*100,s*100]};x.rgb.lab=function(e){let r=x.rgb.xyz(e),t=r[0],n=r[1],i=r[2];t/=95.047,n/=100,i/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let o=116*n-16,s=500*(t-n),a=200*(n-i);return[o,s,a]};x.hsl.rgb=function(e){let r=e[0]/360,t=e[1]/100,n=e[2]/100,i,o,s;if(t===0)return s=n*255,[s,s,s];n<.5?i=n*(1+t):i=n+t-n*t;let a=2*n-i,u=[0,0,0];for(let c=0;c<3;c++)o=r+1/3*-(c-1),o<0&&o++,o>1&&o--,6*o<1?s=a+(i-a)*6*o:2*o<1?s=i:3*o<2?s=a+(i-a)*(2/3-o)*6:s=a,u[c]=s*255;return u};x.hsl.hsv=function(e){let r=e[0],t=e[1]/100,n=e[2]/100,i=t,o=Math.max(n,.01);n*=2,t*=n<=1?n:2-n,i*=o<=1?o:2-o;let s=(n+t)/2,a=n===0?2*i/(o+i):2*t/(n+t);return[r,a*100,s*100]};x.hsv.rgb=function(e){let r=e[0]/60,t=e[1]/100,n=e[2]/100,i=Math.floor(r)%6,o=r-Math.floor(r),s=255*n*(1-t),a=255*n*(1-t*o),u=255*n*(1-t*(1-o));switch(n*=255,i){case 0:return[n,u,s];case 1:return[a,n,s];case 2:return[s,n,u];case 3:return[s,a,n];case 4:return[u,s,n];case 5:return[n,s,a]}};x.hsv.hsl=function(e){let r=e[0],t=e[1]/100,n=e[2]/100,i=Math.max(n,.01),o,s;s=(2-t)*n;let a=(2-t)*i;return o=t*i,o/=a<=1?a:2-a,o=o||0,s/=2,[r,o*100,s*100]};x.hwb.rgb=function(e){let r=e[0]/360,t=e[1]/100,n=e[2]/100,i=t+n,o;i>1&&(t/=i,n/=i);let s=Math.floor(6*r),a=1-n;o=6*r-s,(s&1)!=0&&(o=1-o);let u=t+o*(a-t),c,f,l;switch(s){default:case 6:case 0:c=a,f=u,l=t;break;case 1:c=u,f=a,l=t;break;case 2:c=t,f=a,l=u;break;case 3:c=t,f=u,l=a;break;case 4:c=u,f=t,l=a;break;case 5:c=a,f=t,l=u;break}return[c*255,f*255,l*255]};x.cmyk.rgb=function(e){let r=e[0]/100,t=e[1]/100,n=e[2]/100,i=e[3]/100,o=1-Math.min(1,r*(1-i)+i),s=1-Math.min(1,t*(1-i)+i),a=1-Math.min(1,n*(1-i)+i);return[o*255,s*255,a*255]};x.xyz.rgb=function(e){let r=e[0]/100,t=e[1]/100,n=e[2]/100,i,o,s;return i=r*3.2406+t*-1.5372+n*-.4986,o=r*-.9689+t*1.8758+n*.0415,s=r*.0557+t*-.204+n*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[i*255,o*255,s*255]};x.xyz.lab=function(e){let r=e[0],t=e[1],n=e[2];r/=95.047,t/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let i=116*t-16,o=500*(r-t),s=200*(t-n);return[i,o,s]};x.lab.xyz=function(e){let r=e[0],t=e[1],n=e[2],i,o,s;o=(r+16)/116,i=t/500+o,s=o-n/200;let a=o**3,u=i**3,c=s**3;return o=a>.008856?a:(o-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,s=c>.008856?c:(s-16/116)/7.787,i*=95.047,o*=100,s*=108.883,[i,o,s]};x.lab.lch=function(e){let r=e[0],t=e[1],n=e[2],i;i=Math.atan2(n,t)*360/2/Math.PI,i<0&&(i+=360);let s=Math.sqrt(t*t+n*n);return[r,s,i]};x.lch.lab=function(e){let r=e[0],t=e[1],i=e[2]/360*2*Math.PI,o=t*Math.cos(i),s=t*Math.sin(i);return[r,o,s]};x.rgb.ansi16=function(e,r=null){let[t,n,i]=e,o=r===null?x.rgb.hsv(e)[2]:r;if(o=Math.round(o/50),o===0)return 30;let s=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return o===2&&(s+=60),s};x.hsv.ansi16=function(e){return x.rgb.ansi16(x.hsv.rgb(e),e[2])};x.rgb.ansi256=function(e){let r=e[0],t=e[1],n=e[2];return r===t&&t===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)};x.ansi16.rgb=function(e){let r=e%10;if(r===0||r===7)return e>50&&(r+=3.5),r=r/10.5*255,[r,r,r];let t=(~~(e>50)+1)*.5,n=(r&1)*t*255,i=(r>>1&1)*t*255,o=(r>>2&1)*t*255;return[n,i,o]};x.ansi256.rgb=function(e){if(e>=232){let o=(e-232)*10+8;return[o,o,o]}e-=16;let r,t=Math.floor(e/36)/5*255,n=Math.floor((r=e%36)/6)/5*255,i=r%6/5*255;return[t,n,i]};x.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};x.hex.rgb=function(e){let r=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!r)return[0,0,0];let t=r[0];r[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let n=parseInt(t,16),i=n>>16&255,o=n>>8&255,s=n&255;return[i,o,s]};x.rgb.hcg=function(e){let r=e[0]/255,t=e[1]/255,n=e[2]/255,i=Math.max(Math.max(r,t),n),o=Math.min(Math.min(r,t),n),s=i-o,a,u;return s<1?a=o/(1-s):a=0,s<=0?u=0:i===r?u=(t-n)/s%6:i===t?u=2+(n-r)/s:u=4+(r-t)/s,u/=6,u%=1,[u*360,s*100,a*100]};x.hsl.hcg=function(e){let r=e[1]/100,t=e[2]/100,n=t<.5?2*r*t:2*r*(1-t),i=0;return n<1&&(i=(t-.5*n)/(1-n)),[e[0],n*100,i*100]};x.hsv.hcg=function(e){let r=e[1]/100,t=e[2]/100,n=r*t,i=0;return n<1&&(i=(t-n)/(1-n)),[e[0],n*100,i*100]};x.hcg.rgb=function(e){let r=e[0]/360,t=e[1]/100,n=e[2]/100;if(t===0)return[n*255,n*255,n*255];let i=[0,0,0],o=r%1*6,s=o%1,a=1-s,u=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-t)*n,[(t*i[0]+u)*255,(t*i[1]+u)*255,(t*i[2]+u)*255]};x.hcg.hsv=function(e){let r=e[1]/100,t=e[2]/100,n=r+t*(1-r),i=0;return n>0&&(i=r/n),[e[0],i*100,n*100]};x.hcg.hsl=function(e){let r=e[1]/100,n=e[2]/100*(1-r)+.5*r,i=0;return n>0&&n<.5?i=r/(2*n):n>=.5&&n<1&&(i=r/(2*(1-n))),[e[0],i*100,n*100]};x.hcg.hwb=function(e){let r=e[1]/100,t=e[2]/100,n=r+t*(1-r);return[e[0],(n-r)*100,(1-n)*100]};x.hwb.hcg=function(e){let r=e[1]/100,t=e[2]/100,n=1-t,i=n-r,o=0;return i<1&&(o=(n-i)/(1-i)),[e[0],i*100,o*100]};x.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};x.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};x.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};x.gray.hsl=function(e){return[0,0,e[0]]};x.gray.hsv=x.gray.hsl;x.gray.hwb=function(e){return[0,100,e[0]]};x.gray.cmyk=function(e){return[0,0,0,e[0]]};x.gray.lab=function(e){return[e[0],0,0]};x.gray.hex=function(e){let r=Math.round(e[0]/100*255)&255,n=((r<<16)+(r<<8)+r).toString(16).toUpperCase();return"000000".substring(n.length)+n};x.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var Ks=b((ad,zs)=>{var Ur=wn();function eh(){let e={},r=Object.keys(Ur);for(let t=r.length,n=0;n{var Cn=wn(),ih=Ks(),Be={},oh=Object.keys(Cn);function sh(e){let r=function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))};return"conversion"in e&&(r.conversion=e.conversion),r}function ah(e){let r=function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let i=e(t);if(typeof i=="object")for(let o=i.length,s=0;s{Be[e]={},Object.defineProperty(Be[e],"channels",{value:Cn[e].channels}),Object.defineProperty(Be[e],"labels",{value:Cn[e].labels});let r=ih(e);Object.keys(r).forEach(n=>{let i=r[n];Be[e][n]=ah(i),Be[e][n].raw=sh(i)})});Vs.exports=Be});var na=b((cd,ta)=>{"use strict";var Xs=(e,r)=>(...t)=>`[${e(...t)+r}m`,Zs=(e,r)=>(...t)=>{let n=e(...t);return`[${38+r};5;${n}m`},ea=(e,r)=>(...t)=>{let n=e(...t);return`[${38+r};2;${n[0]};${n[1]};${n[2]}m`},Wr=e=>e,ra=(e,r,t)=>[e,r,t],$e=(e,r,t)=>{Object.defineProperty(e,r,{get:()=>{let n=t();return Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0}),n},enumerable:!0,configurable:!0})},_n,qe=(e,r,t,n)=>{_n===void 0&&(_n=Js());let i=n?10:0,o={};for(let[s,a]of Object.entries(_n)){let u=s==="ansi16"?"ansi":s;s===r?o[u]=e(t,i):typeof a=="object"&&(o[u]=e(a[r],i))}return o};function uh(){let e=new Map,r={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]}};r.color.gray=r.color.blackBright,r.bgColor.bgGray=r.bgColor.bgBlackBright,r.color.grey=r.color.blackBright,r.bgColor.bgGrey=r.bgColor.bgBlackBright;for(let[t,n]of Object.entries(r)){for(let[i,o]of Object.entries(n))r[i]={open:`[${o[0]}m`,close:`[${o[1]}m`},n[i]=r[i],e.set(o[0],o[1]);Object.defineProperty(r,t,{value:n,enumerable:!1})}return Object.defineProperty(r,"codes",{value:e,enumerable:!1}),r.color.close="",r.bgColor.close="",$e(r.color,"ansi",()=>qe(Xs,"ansi16",Wr,!1)),$e(r.color,"ansi256",()=>qe(Zs,"ansi256",Wr,!1)),$e(r.color,"ansi16m",()=>qe(ea,"rgb",ra,!1)),$e(r.bgColor,"ansi",()=>qe(Xs,"ansi16",Wr,!0)),$e(r.bgColor,"ansi256",()=>qe(Zs,"ansi256",Wr,!0)),$e(r.bgColor,"ansi16m",()=>qe(ea,"rgb",ra,!0)),r}Object.defineProperty(ta,"exports",{enumerable:!0,get:uh})});var ua=b((ld,aa)=>{"use strict";var ch=$s(),lh=Ws(),ia=na(),oa=["","\x9B"],Gr=e=>`${oa[0]}[${e}m`,sa=(e,r,t)=>{let n=[];e=[...e];for(let i of e){let o=i;i.includes(";")&&(i=i.split(";")[0][0]+"0");let s=ia.codes.get(Number.parseInt(i,10));if(s){let a=e.indexOf(s.toString());a===-1?n.push(Gr(r?s:o)):e.splice(a,1)}else if(r){n.push(Gr(0));break}else n.push(Gr(o))}if(r&&(n=n.filter((i,o)=>n.indexOf(i)===o),t!==void 0)){let i=Gr(ia.codes.get(Number.parseInt(t,10)));n=n.reduce((o,s)=>s===i?[s,...o]:[...o,s],[])}return n.join("")};aa.exports=(e,r,t)=>{let n=[...e],i=[],o=typeof t=="number"?t:n.length,s=!1,a,u=0,c="";for(let[f,l]of n.entries()){let h=!1;if(oa.includes(l)){let p=/\d[^m]*/.exec(e.slice(f,f+18));a=p&&p.length>0?p[0]:void 0,ur&&u<=o)c+=l;else if(u===r&&!s&&a!==void 0)c=sa(i);else if(u>=o){c+=sa(i,!0,a);break}}return c}});var wh={};tu(wh,{default:()=>xh});var ar=_(C("@yarnpkg/cli")),W=_(C("@yarnpkg/core")),cs=_(C("@yarnpkg/libzip")),R=_(C("@yarnpkg/fslib")),ue=_(C("clipanion")),cn=_(C("path"));var xr=".bundleignore";var On=_(C("fs")),Ln=async e=>{try{return(0,On.readFileSync)(e,"utf-8").split(` +`)}catch(r){return[]}};var Nn=_(C("path")),Dn=({ignoreFile:e,cwd:r})=>(0,Nn.join)(r,e);var Wi=_(Hn());var qi=_($i()),Ui=async({cwd:e})=>{try{return(await(0,qi.default)(`${e}/**/*`,{dot:!0})).map(t=>{var n;return(n=t.split(`${e}/`)[1])!=null?n:""}).filter(Boolean)}catch(r){return[]}};var It=async({exclude:e,ignoreFile:r,cwd:t})=>{let n=Dn({ignoreFile:r,cwd:t}),i=(0,Wi.default)().add([...e,...await Ln(n)]);return(await Ui({cwd:t})).filter(a=>i.ignores(a)).map(a=>`${t}/${a}`)};var Gi=["package.json","package.yaml","package.yml"];var Ir=_(C("path")),Cc={directory:({cwd:e})=>[e],parentDirectories:({cwd:e,rootDir:r})=>{if(!e.startsWith(r))throw new Error("Package directory not in rootDir. This should never happen");let t=e,n=[];for(;;){if(t===r||t.lengthGi.map(r=>(0,Ir.join)(e,r))},_c=({cwd:e,rootDir:r})=>[...new Set(...[Object.values(Cc).map(t=>t({cwd:e,rootDir:r})).flat()])],Yi=({workspaces:e,rootDir:r})=>Array.from(e).map(({cwd:t})=>_c({cwd:t,rootDir:r})).flat();var sr=_(C("@yarnpkg/fslib")),F=_(C("typanion")),Mr=_(ss());var jf=".yarnbuildrc.yml",Bf=F.isObject({folders:F.isObject({input:F.isString(),output:F.isString()}),exclude:F.isArray(F.isString()),bail:F.isBoolean(),ignoreFile:F.isString(),maxConcurrency:F.isOptional(F.applyCascade(F.isNumber(),[F.isInteger(),F.isInInclusiveRange(1,128)]))}),un={folders:{input:".",output:"build"},exclude:[],bail:!1,ignoreFile:xr,maxConcurrency:8};async function as(e){let r=jf,t=sr.ppath.join(e.projectCwd||e.startingCwd,r);if(sr.xfs.existsSync(t)){let n=await sr.xfs.readFilePromise(t,"utf8"),i=[];try{let o=(0,Mr.load)(n,{schema:Mr.JSON_SCHEMA});if(Bf(o,{errors:i}))return o;console.warn(i)}catch(o){let s="";throw n.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(s=" (config is corrupted, please check it matches the shape in the yarn.build readme."),new Error(`Parse error when loading ${t}; please check it's proper Yaml${s}`)}}return un}async function us(e){return await as(e)}async function jr(e){var t;let r=await as(e);return Ye(q(q({},un),r),{folders:q(q({},un.folders),(t=r.folders)!=null?t:{})})}var ur=class extends ar.BaseCommand{constructor(){super(...arguments);this.json=ue.Option.Boolean("--json",!1,{description:"flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec)"});this.outputDirectory=ue.Option.String("-o,--output-directory",{description:"sets the output directory, this should be outside your source input directory."});this.noCompress=ue.Option.Boolean("--no-compress",!1,{description:"set this with --output-directory to skip zipping your bundle, when this is set your output directory must be outside your projecty root"});this.archiveName=ue.Option.String("-a,--archive-name","bundle.zip",{description:"sets the name of the archive. Any files matching this, will be excluded from subsequent archives. Defaults to ./bundle.zip"});this.exclude=ue.Option.Array("--exclude",[],{arity:1,description:"Exclude specific paths from the final bundle."});this.ignoreFile=ue.Option.String("--ignore-file",xr,{description:"set the name of ignore file. Files matching this in workspace root and package root will be used to indicate which files will be excluded from bundle."})}async removeUnusedPackages(r,t,n){var u;let{project:i,workspace:o}=await W.Project.find(n,t);if(!o)throw new ar.WorkspaceRequiredError(i.cwd,t);let s=new Set([o]),a=await us(n);this.exclude=a.exclude?[...this.exclude,...a.exclude]:this.exclude,this.ignoreFile=(u=a==null?void 0:a.ignoreFile)!=null?u:this.ignoreFile;for(let c of s)for(let f of W.Manifest.hardDependencies)for(let l of c.manifest.getForScope(f).values()){let h=i.tryWorkspaceByDescriptor(l);h!==null&&s.add(h)}for(let c of i.workspaces)s.has(c)||c.cwd!==r&&await R.xfs.removePromise(c.cwd)}async removeEmptyDirectories({cwd:r}){if(!R.xfs.statSync(r).isDirectory())return!1;let n=await R.xfs.readdirPromise(r);for(let i of n)await this.removeEmptyDirectories({cwd:R.ppath.join(r,i)});return n=await R.xfs.readdirPromise(r),n.length===0?(await R.xfs.removePromise(r),!0):!1}async removeExcluded({tmpDir:r,excluded:t,nonRemovableFiles:n,yarnDirectory:i,cacheDirectory:o,shouldRemoveEmptyDirectories:s=!1}){let a=`${r}/.git`;try{await R.xfs.lstatPromise(a)&&await R.xfs.removePromise(a)}catch(u){}await Promise.all(t.map(async u=>{if(!u.startsWith(i)&&!u.startsWith(o)&&!n.includes(u)&&!!u.startsWith(r))try{await R.xfs.lstatPromise(u)&&await R.xfs.removePromise(u)}catch(c){}})),s&&await this.removeEmptyDirectories({cwd:r})}async execute(){return await R.xfs.mktempPromise(async r=>{var T,be,ie,re;let t=`${this.context.cwd}`,n=R.ppath.join(t,this.archiveName);if(typeof this.outputDirectory=="string"){let S=ls(this.outputDirectory);if(R.xfs.existsSync(S)||await R.xfs.mkdirPromise(S),R.xfs.readdirSync(S).length!=0)return console.error("ERROR: --output-directory is not empty"),1;n=R.ppath.join(S,this.archiveName)}let i=await W.Configuration.find(this.context.cwd,this.context.plugins);if(i.projectCwd===null)throw new Error("Can't find project directory");let o=t.replace(i.projectCwd,""),s=!1,a;if(this.noCompress===!0){if(typeof this.outputDirectory!="string")return console.error("ERROR: you set --no-compress, but did not specify --output-directory"),1;if(a=ls(this.outputDirectory),a.startsWith(i.projectCwd))return console.error(`ERROR: --output-directory is inside project root with --no-compress set. +This is no allowed to prevent you destroying your project`),1;s=!0}let u=new R.NodeFS;await R.xfs.copyPromise(r,i.projectCwd,{baseFs:u});let c=`${r}${o}`,f=`${c}/${this.archiveName}`,l=this.exclude;try{await R.xfs.lstatPromise(f)&&l.push(f)}catch(S){}let h=await W.Configuration.find(c,this.context.plugins),p=await W.Cache.find(h),d=`${r}/.yarn`,m=p.cwd;await this.removeUnusedPackages(r,c,h);let{project:g,workspace:v}=await W.Project.find(h,c);if(!v)throw new ar.WorkspaceRequiredError(g.cwd,c);let y=new Set([v]),k=Yi({workspaces:g.workspaces,rootDir:r});l=await It({cwd:r,ignoreFile:this.ignoreFile,exclude:l});for(let S of y)for(let H of W.Manifest.hardDependencies)for(let le of S.manifest.getForScope(H).values()){let xe=g.tryWorkspaceByDescriptor(le);xe!==null&&y.add(xe)}for(let S of y){let H=await It({cwd:S.cwd,ignoreFile:this.ignoreFile,exclude:l});await this.removeExcluded({tmpDir:r,excluded:H,nonRemovableFiles:k,yarnDirectory:d,cacheDirectory:m,shouldRemoveEmptyDirectories:!1})}await this.removeExcluded({tmpDir:r,excluded:l,nonRemovableFiles:k,yarnDirectory:d,cacheDirectory:m,shouldRemoveEmptyDirectories:!0});for(let S of g.workspaces)S.manifest.devDependencies.clear(),!y.has(S)&&(S.manifest.dependencies.clear(),S.manifest.peerDependencies.clear());if((be=(T=v==null?void 0:v.manifest)==null?void 0:T.raw)==null?void 0:be.main){let S=v.relativeCwd+cn.default.posix.sep+((re=(ie=v==null?void 0:v.manifest)==null?void 0:ie.raw)==null?void 0:re.main),H=".pnp.cjs";R.xfs.writeFilePromise(`${r}${cn.default.posix.sep}entrypoint.js`,$f(S,H))}return(await W.StreamReport.start({configuration:h,json:this.json,stdout:this.context.stdout,includeLogs:!0},async S=>{if(await g.install({cache:p,report:S}),s&&typeof a!="undefined")S.reportInfo(null,"Moving build to output directory"),await u.copyPromise(a,r);else{let H=await(0,cs.getLibzipPromise)();S.reportInfo(null,"Creating archive");let le=new R.ZipFS(n,{create:!0,libzip:H}),xe="bundle";S.reportInfo(null,"Copying files to archive"),await le.copyPromise(xe,r,{baseFs:u}),le.saveAndClose(),S.reportJson({name:"ArchiveSuccess",message:"Archive created successfuly at ",outputArchive:n})}})).exitCode()})}};ur.paths=[["bundle"]],ur.usage=ue.Command.Usage({category:"Build commands",description:"bundle a workspace package into a deployable archive",details:` + This command will bundle up the source of the target package along with + its dependencies into an archive. + + This is designed to be used for deployment, not for publishing, so + everything to run except for a runtime (ie node) is bundled into + the archive. + + Call this after you have run your build step (if any). + + This is designed to work best with zero-install configurations. If you + don't have that, run \`yarn install\` before this command. + + Why not just compile like we do on the front-end? + Some dependencies may use require in interesting ways, or be or call + binaries. It's safest not to transpile them. + `});var fs=ur,$f=(e,r)=>` +"use strict"; + +const path = require("path"); + +const pnp = require(path.normalize(path.resolve( __dirname, "${r}"))).setup(); + +const index = require(path.normalize(path.resolve( __dirname,"${e}"))); + +Object.defineProperty(exports, "__esModule", { value: true }); + +exports.default = index; +`;function ls(e){let r=R.npath.toPortablePath(e);return R.ppath.resolve(r)}var Aa=_(C("@yarnpkg/cli")),X=_(C("@yarnpkg/core")),z=_(C("clipanion")),ka=_(C("path"));var A=_(C("@yarnpkg/core")),hr=_(ys()),ga=_(C("os")),V=_(C("@yarnpkg/fslib")),ya=_(C("events")),va=_(Rs()),ve=_(C("path")),ba=_(Os()),kn=_(Ns()),pr=_(bn()),Yr=_(ua());var Ue=class{constructor(){this.nodes={};this.size=0;this.runSize=0;this.ran=new Set}addNode(r){if(this.nodes[r])return this.nodes[r];let t=new ca(r,this);return this.nodes[r]=t,this.size++,t}getNode(r){if(this.nodes[r])return this.nodes[r]}resetRuns(){this.ran=new Set}async resolve(r){let t=new Set,n=new Set;await this.resolveNode(r,t,n)}async resolveNode(r,t,n){n.add(r.id);for(let i of r.dependencies)if(!t.has(i.id)){if(n.has(i.id))throw new la(`${r.id} has a cyclic dependency on ${i.id}`);await this.resolveNode(i,t,n)}t.add(r.id),n.delete(r.id)}async run(r){let t=new Set,n=new Set,i={};for(let o of r)this.resolveQueue(o,t,i);return await new Promise(o=>{this.workLoop(t,i,n,o)}),i}workLoop(r,t,n,i){if(r.size!==0&&r.forEach(o=>{var s,a;o.canStart(t)&&(((s=o==null?void 0:o.node)==null?void 0:s.runCallback)?((a=o==null?void 0:o.node)==null||a.runCallback(t),n.add(o.node)):t[o.node.id]={success:!0,done:!0},r.delete(o))}),n.forEach((o,s)=>{t[o.id].done&&n.delete(s)}),Object.keys(t).map(o=>{var s,a;return(a=(s=t[o])==null?void 0:s.done)!=null?a:!0}).every(o=>o===!0)){i();return}setTimeout(()=>this.workLoop(r,t,n,i),30)}resolveQueue(r,t,n){let i=[];for(let o of r.dependencies)if(i.push(o.id),!n[o.id]&&o.runCallback){n[o.id]=q({},Ue.RunLogInit);let s=this.resolveQueue(o,t,n),a={node:o,canStart:Ue.QueueItemCanStart(s)};t.add(a)}if(!n[r.id]&&r.runCallback){n[r.id]=q({},Ue.RunLogInit);let o={node:r,canStart:Ue.QueueItemCanStart(i)};t.add(o)}return i}},fr=Ue;fr.RunLogInit={success:!1,done:!1},fr.QueueItemCanStart=r=>t=>r.map(n=>{var i,o;return(o=(i=t[n])==null?void 0:i.done)!=null?o:!0}).every(n=>n===!0);var ca=class{constructor(r,t){this.id=r,this.dependencies=[],this.graph=t}addDependency(r){return this.dependencies.push(r),this}addWorkSpace(r){return this.workspace=r,this}addRunCallback(r){return this.runCallback?this:(this.runCallback=t=>r().then(n=>{t[this.id]={done:!0,success:n}}),this.graph.runSize++,this)}},la=class extends Error{constructor(r){super(r);this.name="CyclicDependencyError",this.code="YN0003"}};var fa=_(bn()),fh="",Y=fh+"[",En=class{static pad(r=1){for(let t=0;t{process.stdin.setRawMode(!0),process.stdin.once("data",t=>{process.stdin.setRawMode(!1),process.stdin.pause();let[n,i]=t.slice(2,t.length-1).toString().split(";").map(Number);r({x:i,y:n})}),process.stdout.write(Y+"6n")})}static setScrollableRegion(r,t){process.stdout.write(Y+`${r};${t}r`)}static resetScrollableRegion(){process.stdout.write(Y+"r")}static moveTo(r){process.stdout.write(Y+`${r.y};${r.x}H`)}static cursorHome(){process.stdout.write(Y+"H")}static alternateScreen(){process.stdout.write(Y+"?1049h")}static mainScreen(){process.stdout.write(Y+"?1049l")}static linesRequired(r,t){var o;let n=new RegExp(`([^ +]{0,${t}})( +)?`,"gm");return((o=(0,fa.default)(r).match(n))!=null?o:[""]).length-1}},K=En;K.row=0,K.column=0;var pa=_(C("child_process")),da=_(C("util"));var ha=()=>process.platform==="win32"?"windows":"unix";var hh=(0,da.promisify)(pa.exec),ma=async e=>{let r=ha(),t=(({platform:i,pid:o})=>{switch(i){case"unix":return`pgrep "-P ${o}"`;case"windows":return`wmic process where (ParentProcessId=${o}) get ProcessId`;default:throw new Error("Unable to find parent process")}})({platform:r,pid:e}),n=[];try{let{stdout:i}=await hh(t);n=i.split(` +`).filter(Boolean).map(o=>parseInt(o,10)).filter(o=>!isNaN(o))}catch(i){}return n};var ye={hasBeenTerminated:!1,callId:0},An=async(e=0)=>{if(e!==ye.callId||ye.hasBeenTerminated)return;let r=process.pid;(await ma(r)).forEach(i=>{try{process.kill(i,"SIGKILL")}catch(o){}});let n=ye.callId+1;ye.callId=n,setTimeout(async()=>{An(n)},50)};var ph="yarn.build.json",xa=80,dh="-".repeat(xa),J;(function(o){o.pending="pending",o.skipped="skipped",o.inProgress="inProgress",o.failed="failed",o.succeeded="succeeded"})(J||(J={}));var P;(function(c){c.pending="pending",c.start="start",c.info="info",c.error="error",c.skipped="skipped",c.success="success",c.fail="fail",c.finish="finish",c.forceQuit="force-quit"})(P||(P={}));var wa=class{constructor({project:r,report:t,runCommand:n,cli:i,configuration:o,pluginConfiguration:s,dryRun:a,ignoreRunCache:u,verbose:c,concurrency:f,shouldBailInstantly:l}){this.runGraph=new fr;this.runLength=0;this.runTargets=[];this.runMutexes={};this.dryRun=!1;this.ignoreRunCache=!1;this.verbose=!1;this.shouldBailInstantly=!1;this.entrypoints=[];this.runReporter=new ya.EventEmitter;this.runReport={mutex:new kn.Mutex,totalJobs:0,skipCount:0,previousOutput:"",successCount:0,failCount:0,bail:!1,workspaces:{},done:!1};this.nextUnitOfWork=[];this.hasSetup=!1;this.setupRunReporter=()=>{this.runReporter.on(P.pending,(r,t)=>{this.runReport.mutex.acquire().then(n=>{this.runReport.workspaces[r]={name:t,stdout:[],stderr:[],done:!1,fail:!1},n()})}),this.runReporter.on(P.start,(r,t,n)=>{this.runReport.mutex.acquire().then(i=>{this.runReport.workspaces[r]=Ye(q({},this.runReport.workspaces[r]),{start:Date.now(),runScript:n,name:t}),i()})}),this.runReporter.on(P.info,(r,t)=>{this.runReport.mutex.acquire().then(n=>{this.runReport.workspaces[r].stdout.push(t),n()})}),this.runReporter.on(P.error,(r,t)=>{this.runReport.mutex.acquire().then(n=>{this.runReport.workspaces[r].stderr.push(t),this.logError(`${r} ${t}`),n()})}),this.runReporter.on(P.success,r=>{this.runReport.mutex.acquire().then(t=>{this.runReport.workspaces[r]=Ye(q({},this.runReport.workspaces[r]),{done:!0}),this.runReport.successCount++,t()})}),this.runReporter.on(P.skipped,r=>{this.runReport.mutex.acquire().then(t=>{this.runReport.workspaces[r].done=!0,this.runReport.workspaces[r].skipped=!0,this.runReport.skipCount++,t()})}),this.runReporter.on(P.fail,(r,t)=>{this.runReport.mutex.acquire().then(n=>{this.runReport.workspaces[r].stderr.push(t),this.runReport.workspaces[r].done=!0,this.runReport.workspaces[r].fail=!0,this.runReport.failCount++,this.logError(`${r} ${t}`),n()})})};this.getDependenciesCount=async r=>{let t=0;for(let n of A.Manifest.hardDependencies)for(let i of r.manifest.getForScope(n).values())this.project.tryWorkspaceByDescriptor(i)!==null&&(t+=1);return t};this.plan=async r=>{var o,s,a,u,c;let t=this.runGraph.addNode(r.relativeCwd).addWorkSpace(r),n=!1;this.runMutexes[r.relativeCwd]=new kn.Mutex;for(let f of A.Manifest.hardDependencies)for(let l of r.manifest.getForScope(f).values()){let h=this.project.tryWorkspaceByDescriptor(l);if(h===null)continue;let p=this.runGraph.addNode(h.relativeCwd).addWorkSpace(h);t.addDependency(p);let d=await this.plan(h),m=!1;h!==this.project.topLevelWorkspace&&(m=await this.checkIfRunIsRequired(h)),(m||d)&&(n=!0,p.addRunCallback(this.createRunItem(h)))}let i=!1;if(r!==this.project.topLevelWorkspace&&(i=await this.checkIfRunIsRequired(r)),this.runReporter.emit(P.pending,r.relativeCwd),n||i)return this.runReporter.emit(P.pending,r.relativeCwd,`${((o=r.manifest.name)==null?void 0:o.scope)?`@${(s=r.manifest.name)==null?void 0:s.scope}/`:""}${(a=r.manifest.name)==null?void 0:a.name}`),t.addRunCallback(this.createRunItem(r)),!0;{let f=(u=this.runLog)==null?void 0:u.get(`${r.relativeCwd}#${this.runCommand}`);f&&((c=this.runLog)==null||c.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:f.lastModified,status:J.succeeded,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}))}return!1};this.run=async()=>{var i,o;if(this.hasSetup===!1)throw new Error("RunSupervisor is not setup, you need to call await supervisor.setup()");if(this.runReport.runStart=Date.now(),!this.dryRun&&!hr.default&&(K.pad(this.concurrency+3),this.raf(this.waitUntilDone)),this.dryRun)return!0;this.currentRunTarget=this.runTargets.length>1?"All":(o=(i=this.runTargets[0])==null?void 0:i.relativeCwd)!=null?o:"Nothing to run",hr.default||process.stderr.write(` +`);let r=this.generateHeaderString();await this.runGraph.run(this.entrypoints);let t=await this.runReport.mutex.acquire();if(this.runReport.done=!0,t(),hr.default||(K.cursorUp(K.linesRequired(this.runReport.previousOutput,process.stdout.columns)),K.clearScreenDown()),this.runReport.failCount!==0){let s=[];process.stdout.write(this.formatHeader(r)+` +`);let a=!1;for(let u in this.runReport.workspaces){let c=this.runReport.workspaces[u];if(c.fail&&s.push(u),c.stdout.length!==0||c.stderr.length!==0){a=!0;let f=this.formatHeader(`Output: ${A.formatUtils.pretty(this.configuration,u,A.FormatType.NAME)}`,2);process.stdout.write(f+` +`)}if(c.stdout.length!==0&&(a=!0,c.stdout.forEach(f=>{f.split(` +`).forEach(h=>{h.length!==0&&process.stdout.write(h+` +`)})})),c.stderr.length!==0){a=!0;let f="[stderr]";process.stderr.write(f+` +`),c.stderr.forEach(l=>{(l instanceof Error?l.toString():`${l}`).split(` +`).forEach(d=>{d.length!==0&&process.stderr.write(d+` +`)})})}}if(a&&process.stdout.write(this.grey(dh)+` +`),s.length>0){let u=this.grey(`ERROR for script ${r} +The following packages returned an error. +`);process.stderr.write(u),s.forEach(c=>{let f=`- ${A.formatUtils.pretty(this.configuration,c,A.FormatType.NAME)}`;process.stderr.write(f+` +`)})}process.stderr.write(this.grey("Search `Output: path` to find the start of the output.\n"))}let n=this.generateFinalReport();return process.stdout.write(n),await this.saveRunLog(),this.runReport.failCount===0};this.raf=r=>{setImmediate(()=>r(Date.now()))};this.waitUntilDone=r=>{if(this.runReport.done)return;let t=this.generateProgressString(r);K.cursorUp(K.linesRequired(this.runReport.previousOutput,process.stdout.columns)),K.clearScreenDown(),process.stdout.write(t),this.runReport.previousOutput=t,mh(90).then(()=>{this.raf(this.waitUntilDone)})};this.grey=r=>A.formatUtils.pretty(this.configuration,r,"grey");this.generateRunCountString=r=>{let t="";if(this.runReport.runStart){let n=A.formatUtils.pretty(this.configuration,`${this.runReport.successCount}`,"green"),i=A.formatUtils.pretty(this.configuration,`${this.runReport.failCount}`,"red"),o=A.formatUtils.pretty(this.configuration,`${this.runGraph.runSize}`,"white");t+=this.formatHeader(`${n}:${i}/${o} ${dr(this.runReport.runStart,r)}`)+` +`}return t};this.generateFinalReport=()=>{var i;let r=this.formatHeader(`${A.formatUtils.pretty(this.configuration,`${this.runCommand} finished`,this.runReport.failCount===0?"green":"red")}${this.runReport.failCount!=0?A.formatUtils.pretty(this.configuration,` with ${this.runReport.failCount} errors`,"red"):""}`)+` +`,t=this.formatHeader("Summary")+` +`;if(this.runReport.runStart){let o=this.runReport.skipCount+(this.runReport.totalJobs-this.runReport.skipCount-this.runReport.failCount-this.runReport.successCount),s=A.formatUtils.pretty(this.configuration,`Success: ${this.runReport.successCount}`,"green"),a=A.formatUtils.pretty(this.configuration,`Fail: ${this.runReport.failCount}`,"red"),u=A.formatUtils.pretty(this.configuration,`Skipped: ${o}`,"white"),c=A.formatUtils.pretty(this.configuration,`Total: ${this.runReport.totalJobs}`,"white");t+=s+` +`+a+` +`+u+` +`+c+` +`+this.grey("---")+` +`}let n=50;for(let o in this.runReport.workspaces)n+=(i=this.runReport.workspaces[o].runtimeSeconds)!=null?i:0;if(!!this.runReport.runStart&&this.runGraph.runSize>1){let o=n,a=Date.now()-this.runReport.runStart,u=dr(a,o);hr.default||(t+=`Cumulative: (cpu): ${dr(0,n)} +`,t+=`Saved: ${u} +`)}return this.runReport.runStart&&(t+="Runtime (wall): "+dr(Date.now(),this.runReport.runStart)+` +`),t+=r,t};this.createRunItem=r=>async()=>await this.limit(async()=>{var o,s,a,u,c,f,l,h,p;let t=r.relativeCwd,n=r.manifest.scripts.get(this.runCommand),i=(o=this.runLog)==null?void 0:o.get(`${r.relativeCwd}#${this.runCommand}`);if(this.runReporter.emit(P.start,r.relativeCwd,`${((s=r.manifest.name)==null?void 0:s.scope)?`@${(a=r.manifest.name)==null?void 0:a.scope}/`:""}${(u=r.manifest.name)==null?void 0:u.name}`,n),!n)return this.verbose&&this.runReporter.emit(P.info,r.relativeCwd,`Missing \`${this.runCommand}\` script in manifest.`),this.runReporter.emit(P.success,r.relativeCwd),!0;try{if(this.runReport.bail)return this.runReporter.emit(P.skipped,r.relativeCwd),(c=this.runLog)==null||c.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:i==null?void 0:i.lastModified,status:J.skipped,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}),!1;let d=await this.cli(this.runCommand,r.cwd,this.runReporter,t);if(d!==0)return this.shouldBailInstantly&&this.runReport.bail&&d>100?(this.runReporter.emit(P.skipped,r.relativeCwd),(f=this.runLog)==null||f.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:i==null?void 0:i.lastModified,status:J.skipped,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}),!1):(this.runReporter.emit(P.fail,r.relativeCwd),(l=this.runLog)==null||l.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:i==null?void 0:i.lastModified,status:J.failed,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}),this.shouldBailInstantly&&!this.runReport.bail&&(this.runReport.bail=!0,An()),!1);(h=this.runLog)==null||h.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:i==null?void 0:i.lastModified,status:J.succeeded,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}),this.runReporter.emit(P.success,r.relativeCwd)}catch(d){return this.runReporter.emit(P.fail,r.relativeCwd,d),(p=this.runLog)==null||p.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:i==null?void 0:i.lastModified,status:J.failed,haveCheckedForRerun:!0,rerun:!1,command:this.runCommand}),!1}return!0});let h=f!=null?f:Math.max(1,(0,ga.cpus)().length);this.configuration=o,this.pluginConfiguration=s,this.project=r,this.report=t,this.runCommand=n,this.cli=i,this.dryRun=a,this.ignoreRunCache=u,this.verbose=c,this.concurrency=h,this.shouldBailInstantly=l!=null?l:this.shouldBailInstantly,this.limit=(0,ba.default)(h),this.queue=new va.default({concurrency:h,carryoverConcurrencyCount:!0,timeout:5e4,throwOnTimeout:!0,autoStart:!0}),this.verbose&&(this.errorLogFile=V.xfs.createWriteStream(this.getRunErrorPath(),{flags:"a"}))}async setup(){this.runLog=await this.readRunLog(),this.setupRunReporter(),this.hasSetup=!0}getRunErrorPath(){return V.ppath.resolve(this.project.cwd,"yarn.build-error.log")}getRunLogPath(){return V.ppath.resolve(this.project.cwd,".yarn",ph)}async readRunLog(){let r=new Map;try{let t=await V.xfs.readJsonPromise(this.getRunLogPath());if(t&&t.packages)for(let n in t.packages)r.set(n,{lastModified:t.packages[n].lastModified,status:t.packages[n].status,haveCheckedForRerun:!1,rerun:!0,command:this.runCommand})}catch{}return r}async saveRunLog(){if(!this.runLog)return;let r;try{r=await V.xfs.readJsonPromise(this.getRunLogPath())}catch{}let t={comment:"This is an auto-generated file, it keeps track of whats been built. This is a local file, don't store this in version control.",packages:q({},r&&r.packages)};for(let[n,i]of this.runLog)i.status===J.succeeded&&(t.packages[n]=q(q({},t.packages[n]),this.runLog.get(n)));await V.xfs.writeJsonPromise(this.getRunLogPath(),t)}logError(r){this.verbose&&process.stderr.write((0,pr.default)(r)+` +`)}async addRunTarget(r,t=!1){this.entrypoints.push(this.runGraph.addNode(r.relativeCwd));let n=await this.plan(r);if(t){let i=1+await this.getDependenciesCount(r);this.runReport.totalJobs=i}n&&this.runTargets.push(r)}async checkIfRunIsRequired(r){var a,u,c,f,l;if(this.ignoreRunCache===!0)return!0;let t=!1,n=V.ppath.resolve(r.project.cwd,r.relativeCwd),i,o;((a=r==null?void 0:r.manifest)==null?void 0:a.raw["yarn.build"])&&typeof(r==null?void 0:r.manifest.raw["yarn.build"].output)=="string"?i=`${n}${ve.default.posix.sep}${r==null?void 0:r.manifest.raw["yarn.build"].output}`:this.pluginConfiguration.folders.output?i=`${n}${ve.default.posix.sep}${this.pluginConfiguration.folders.output}`:(r==null?void 0:r.manifest.raw.main)&&(i=`${n}${ve.default.posix.sep}${r==null?void 0:r.manifest.raw.main.substring(0,r==null?void 0:r.manifest.raw.main.lastIndexOf(ve.default.posix.sep))}`),((u=r==null?void 0:r.manifest)==null?void 0:u.raw["yarn.build"])&&typeof(r==null?void 0:r.manifest.raw["yarn.build"].input)=="string"?o=`${n}${ve.default.posix.sep}${r==null?void 0:r.manifest.raw["yarn.build"].input}`:this.pluginConfiguration.folders.input&&(o=`${n}${ve.default.posix.sep}${this.pluginConfiguration.folders.input}`),(o==null?void 0:o.endsWith("/."))&&(o=o.substring(0,o.length-2));let s=await this.runReport.mutex.acquire();try{let h=(c=this.runLog)==null?void 0:c.get(`${r.relativeCwd}#${this.runCommand}`);if(h==null?void 0:h.haveCheckedForRerun)return(f=h==null?void 0:h.rerun)!=null?f:!0;let p=await Ca(o!=null?o:n,i);(h==null?void 0:h.lastModified)!==p&&(t=!0),(l=this.runLog)==null||l.set(`${r.relativeCwd}#${this.runCommand}`,{lastModified:p,status:t?J.succeeded:J.pending,haveCheckedForRerun:!0,rerun:t,command:this.runCommand})}catch(h){this.logError(`${r.relativeCwd}: failed to get lastModified (${h})`)}finally{s()}return t}formatHeader(r,t=0){let n=`${this.grey("-".repeat(t)+"[")} ${r} ${this.grey("]")}`,i=(0,pr.default)(n).length;return n+this.grey("-".repeat(xa-i))}generateHeaderString(){return`${A.formatUtils.pretty(this.configuration,`${this.runCommand}`,A.FormatType.CODE)} for ${A.formatUtils.pretty(this.configuration,this.currentRunTarget?this.currentRunTarget:"",A.FormatType.SCOPE)}${this.dryRun?A.formatUtils.pretty(this.configuration," --dry-run",A.FormatType.NAME):""}`}generateProgressString(r){let t="",n=s=>this.grey(`[${s}]`),i=A.formatUtils.pretty(this.configuration,"IDLE","grey");t+=this.formatHeader(this.generateHeaderString())+` +`;let o=1;for(let s in this.runReport.workspaces){let a=this.runReport.workspaces[s];if(!a||!a.start||a.done)continue;this.runReport.runStart&&(this.runReport.workspaces[s].runtimeSeconds=r-this.runReport.runStart);let u=A.formatUtils.pretty(this.configuration,s,A.FormatType.NAME),c=A.formatUtils.pretty(this.configuration,`(${a.runScript})`,A.FormatType.REFERENCE),f=a.start?A.formatUtils.pretty(this.configuration,dr(a.start,r),A.FormatType.RANGE):"",l=n(o++),h=" ".repeat(l.length-1),p=A.formatUtils.pretty(this.configuration,a.name,A.FormatType.NAME),d=`${l} ${u}${p} ${c} ${f} +`,m="",g="",v="";(0,pr.default)(d).length>=process.stdout.columns&&(m=`${l} ${u}${p} +`,g=`${h} ${c} ${f} +`,(0,pr.default)(m).length>=process.stdout.columns&&(m=(0,Yr.default)(`${l} ${u} +`,0,process.stdout.columns),g=(0,Yr.default)(`${h} ${p} +`,0,process.stdout.columns),v=(0,Yr.default)(`${h} ${c} ${f} +`,0,process.stdout.columns)),d=m+g+v),t+=d}for(o;o{let t=0,n=await V.xfs.readdirPromise(e);return await Promise.all(n.map(async i=>{let o=`${e}${ve.default.posix.sep}${i}`;if(r&&o.startsWith(r))return;let s=await V.xfs.statPromise(o);if(s.isFile()&&s.mtimeMs>t&&(t=s.mtimeMs),s.isDirectory()){let a=await Ca(o,r);a>t&&(t=a)}})),t},dr=(e,r)=>{let t=Math.abs(r-e),n="",i=Math.trunc(t/6e4);return i&&(n+=`${i}m`,t-=i*6e4),t&&(i&&(n+=" "),n+=`${(t/1e3).toFixed(2)}s`),n};function mh(e){return new Promise(r=>setTimeout(r,e))}var Hr=wa;var _a=_(C("@yarnpkg/core")),Ea=(e,r)=>{let t=[];for(let n of e.workspacesCwds){let i=r.workspacesByCwd.get(n);i&&t.push(i,...Ea(i,r))}return t},Qr=async({targetWorkspace:e,project:r,supervisor:t})=>{if(e.workspacesCwds.size!==0){let n=Ea(e,r);t.runReport.totalJobs=n.length;for(let i of n){for(let o of _a.Manifest.hardDependencies)for(let s of i.manifest.getForScope(o).values()){let a=r.tryWorkspaceByDescriptor(s);a!==null&&await t.addRunTarget(a)}await t.addRunTarget(i)}await t.addRunTarget(e)}else await t.addRunTarget(e,!0)};var mr=class extends Aa.BaseCommand{constructor(){super(...arguments);this.json=z.Option.Boolean("--json",!1,{description:`flag is set the output will follow a JSON-stream output + also known as NDJSON (https://github.com/ndjson/ndjson-spec).`});this.buildCommand=z.Option.String("-c,--build-command","build",{description:'the command to be run in each package (if available), defaults to "build"'});this.interlaced=z.Option.Boolean("-i,--interlaced",!0,{description:"If false it will instead buffer the output from each process and print the resulting buffers only after their source processes have exited. Defaults to false."});this.verbose=z.Option.Boolean("-v,--verbose",!1,{description:"more information will be logged to stdout than normal."});this.dryRun=z.Option.Boolean("-d,--dry-run",!1,{description:"simulate running a build, but not actually run it"});this.ignoreBuildCache=z.Option.Boolean("--ignore-cache",!1,{description:"every package will be built, regardless of whether is has changed or not."});this.maxConcurrency=z.Option.String("-m,--max-concurrency",{description:"is the maximum number of builds that can run at a time, defaults to the number of logical CPUs on the current machine. Will override the global config option."});this.shouldBailInstantly=z.Option.Boolean("--bail",!1,{description:"exit immediately upon build failing"});this.buildTarget=z.Option.Rest();this.forceQuit=!1;this.buildLog={}}async execute(){var o,s;let r=await X.Configuration.find(this.context.cwd,this.context.plugins),t=await jr(r);this.shouldBailInstantly=(o=this.shouldBailInstantly)!=null?o:t.bail,this.shouldBailInstantly=(s=this.shouldBailInstantly)!=null?s:t.bail;let n=this.maxConcurrency===void 0?t.maxConcurrency:parseInt(this.maxConcurrency),i=await X.StreamReport.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async a=>{let u=this.context.cwd;typeof this.buildTarget[0]=="string"&&(u=`${r.projectCwd}${ka.default.posix.sep}${this.buildTarget[0]}`);let{project:c,workspace:f}=await X.Project.find(r,u),l=f||c.topLevelWorkspace,h=async(m,g,v,y)=>{let k=new X.miscUtils.BufferStream;k.on("data",T=>v==null?void 0:v.emit(P.info,y,T&&T.toString()));let E=new X.miscUtils.BufferStream;if(E.on("data",T=>v==null?void 0:v.emit(P.error,y,T&&T.toString())),this.forceQuit)return k.destroy(),E.destroy(),k.end(),E.end(),2;try{let T=await this.cli.run(["run",m],{cwd:g,stdout:k,stderr:E})||0;return k.end(),E.end(),T}catch(T){k.end(),E.end()}return 2},p=new Hr({project:c,configuration:r,pluginConfiguration:t,report:a,runCommand:this.buildCommand,cli:h,dryRun:this.dryRun,ignoreRunCache:this.ignoreBuildCache,verbose:this.verbose,concurrency:n,shouldBailInstantly:this.shouldBailInstantly});p.runReporter.on(P.forceQuit,()=>{this.forceQuit=!0}),await p.setup(),await Qr({targetWorkspace:l,project:c,supervisor:p}),await p.run()===!1&&a.reportError(X.MessageName.BUILD_FAILED,"Build failed")});return ye.hasBeenTerminated=!0,i.exitCode()}};mr.paths=[["build"]],mr.usage=z.Command.Usage({category:"Build commands",description:"build a package and all its dependencies",details:` + In a monorepo with internal packages that depend on others, this command + will traverse the dependency graph and efficiently ensure, the packages + are built in the right order. + + `});var Sa=mr;var ja=_(C("@yarnpkg/cli")),Ba=_(C("@yarnpkg/core")),Kr=_(C("@yarnpkg/core")),$a=_(C("clipanion"));var Z=e=>{if(e==null)throw new Error("Invalid name");return e.scope?`@${e.scope}/${e.name}`:e.name};var Ia=({workspace:e,project:r})=>{let t=Array.from(e.manifest.dependencies.values()).map(i=>Z(i)),n=Array.from(r.workspaces.values()).map(i=>Z(i.manifest.name));return t.filter(i=>n.includes(i))};var Ra=({project:e,workspaceName:r})=>e.workspaces.find(n=>Z(n.manifest.name)===r);var Ta=_(C("@yarnpkg/core"));var gh={firstCharacters:"\u27A4 ",tabString:"\u2502 "},Pa="gray",gr=({format:e,padding:r,step:t=5,characters:n=gh})=>{let{firstCharacters:i,tabString:o}=n,s=o.split("");for(let a=0;af{if(r){gr({format:e,padding:s+1}),process.stdout.write(e(t,yh)),process.stdout.write(e(" -> circular dependency",Fa)),process.stdout.write(` +`);return}let a=Ra({project:o,workspaceName:t});if(!a){gr({format:e,padding:s+1}),process.stdout.write(t),process.stdout.write(e("-> incorrect dependency",Fa)),process.stdout.write(` +`);return}zr({format:e,project:o,parent:i,parents:[...n,i],padding:s+1,workspace:a})};var La=({format:e,workspace:r,parent:t,parents:n,project:i,padding:o=0})=>{let s=Ia({workspace:r,project:i});for(let a of s)Oa({format:e,workspace:r,project:i,padding:o,parent:t,parents:n,current:Z(r.manifest.name),circular:t===a||n.includes(a),dependency:a})};var Na=_(C("@yarnpkg/core"));var vh=Na.FormatType.NAME,Da=({format:e,workspace:r,padding:t=0})=>{let{name:n}=r.manifest,i=Z(n);gr({format:e,padding:t}),process.stdout.write(e(i,vh)),process.stdout.write(` +`)};var zr=({format:e,workspace:r,project:t,parents:n,padding:i=0,parent:o})=>{Da({workspace:r,padding:i,format:e}),La({parents:n,workspace:r,project:t,padding:i,parent:o,format:e})};var yr=({padding:e})=>{for(let r=0;r{let t=Z(e.manifest.name);process.stdout.write(`Build query for package: ${r(t,"bold")}`),yr({padding:1})};var vr=class extends ja.BaseCommand{async execute(){let r=await Kr.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await Kr.Project.find(r,this.context.cwd);if(!n)return 0;let i=(o,s)=>Ba.formatUtils.pretty(r,o,s);return yr({padding:1}),Ma({workspace:n,format:i}),zr({parents:[],workspace:n,project:t,format:i}),yr({padding:2}),0}};vr.paths=[["build","query"]],vr.usage=$a.Command.Usage({category:"Build commands",description:"prints out dependency graph for current package",details:` + In a monorepo with internal packages that depend on others, this command + will traverse the dependency graph and efficiently ensure, the packages + are built in the right order. + + `});var qa=vr;var Ua=_(C("@yarnpkg/cli")),ee=_(C("@yarnpkg/core")),ce=_(C("clipanion")),Wa=_(C("path"));var br=class extends Ua.BaseCommand{constructor(){super(...arguments);this.json=ce.Option.Boolean("--json",!1,{description:`flag is set the output will follow a JSON-stream output + also known as NDJSON (https://github.com/ndjson/ndjson-spec).`});this.verbose=ce.Option.Boolean("-v,--verbose",!1,{description:"more information will be logged to stdout than normal."});this.ignoreTestCache=ce.Option.Boolean("--ignore-cache",!1,{description:"every package will be tested, regardless of whether is has changed or not."});this.maxConcurrency=ce.Option.String("-m,--max-concurrency",{description:"is the maximum number of tests that can run at a time, defaults to the number of logical CPUs on the current machine. Will override the global config option."});this.shouldBailInstantly=ce.Option.Boolean("--bail",!1,{description:"exit immediately upon build failing"});this.runTarget=ce.Option.Rest();this.forceQuit=!1;this.runLog={}}async execute(){var o;let r=await ee.Configuration.find(this.context.cwd,this.context.plugins),t=await jr(r);this.shouldBailInstantly=(o=this.shouldBailInstantly)!=null?o:t.bail;let n=this.maxConcurrency===void 0?t.maxConcurrency:parseInt(this.maxConcurrency),i=await ee.StreamReport.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async s=>{let a=this.context.cwd;typeof this.runTarget[0]=="string"&&(a=`${r.projectCwd}${Wa.default.posix.sep}${this.runTarget[0]}`);let{project:u,workspace:c}=await ee.Project.find(r,a),f=c||u.topLevelWorkspace,l=async(d,m,g,v)=>{let y=new ee.miscUtils.BufferStream;y.on("data",E=>g==null?void 0:g.emit(P.info,v,E&&E.toString()));let k=new ee.miscUtils.BufferStream;if(k.on("data",E=>g==null?void 0:g.emit(P.error,v,E&&E.toString())),this.forceQuit)return y.destroy(),k.destroy(),y.end(),k.end(),2;try{let E=await this.cli.run(["run",d],{cwd:m,stdout:y,stderr:k})||0;return y.end(),k.end(),E}catch(E){y.end(),k.end()}return 2},h=new Hr({project:u,configuration:r,pluginConfiguration:t,report:s,runCommand:"test",cli:l,dryRun:!1,ignoreRunCache:this.ignoreTestCache,verbose:this.verbose,concurrency:n,shouldBailInstantly:this.shouldBailInstantly});h.runReporter.on(P.forceQuit,()=>{this.forceQuit=!0}),await h.setup(),await Qr({targetWorkspace:f,project:u,supervisor:h}),await h.run()===!1&&s.reportError(ee.MessageName.BUILD_FAILED,"Test failed")});return ye.hasBeenTerminated=!0,i.exitCode()}};br.paths=[["test"]],br.usage=ce.Command.Usage({category:"Test commands",description:"test a package and all its dependencies",details:` + In a monorepo with internal packages that depend on others, this command + will traverse the dependency graph and efficiently ensure, the packages + are tested in the right order. + `});var Ga=br;var bh={commands:[fs,qa,Sa,Ga]},xh=bh;return wh;})(); +return plugin; +} +}; diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs new file mode 100644 index 00000000..527659ff --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs @@ -0,0 +1,363 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-interactive-tools", +factory: function (require) { +var plugin=(()=>{var PR=Object.create,J1=Object.defineProperty,MR=Object.defineProperties,FR=Object.getOwnPropertyDescriptor,LR=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertyNames,hh=Object.getOwnPropertySymbols,NR=Object.getPrototypeOf,Z4=Object.prototype.hasOwnProperty,aD=Object.prototype.propertyIsEnumerable;var dD=(i,u,f)=>u in i?J1(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,dt=(i,u)=>{for(var f in u||(u={}))Z4.call(u,f)&&dD(i,f,u[f]);if(hh)for(var f of hh(u))aD.call(u,f)&&dD(i,f,u[f]);return i},zn=(i,u)=>MR(i,LR(u)),BR=i=>J1(i,"__esModule",{value:!0});var Si=(i,u)=>{var f={};for(var c in i)Z4.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&hh)for(var c of hh(i))u.indexOf(c)<0&&aD.call(i,c)&&(f[c]=i[c]);return f};var Me=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),jR=(i,u)=>{for(var f in u)J1(i,f,{get:u[f],enumerable:!0})},UR=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of RR(u))!Z4.call(i,c)&&c!=="default"&&J1(i,c,{get:()=>u[c],enumerable:!(f=FR(u,c))||f.enumerable});return i},Er=i=>UR(BR(J1(i!=null?PR(NR(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ey=Me((YH,pD)=>{"use strict";var hD=Object.getOwnPropertySymbols,qR=Object.prototype.hasOwnProperty,zR=Object.prototype.propertyIsEnumerable;function WR(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var c=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(c.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}pD.exports=HR()?Object.assign:function(i,u){for(var f,c=WR(i),g,t=1;t{"use strict";var ty=ey(),as=typeof Symbol=="function"&&Symbol.for,Q1=as?Symbol.for("react.element"):60103,bR=as?Symbol.for("react.portal"):60106,GR=as?Symbol.for("react.fragment"):60107,VR=as?Symbol.for("react.strict_mode"):60108,YR=as?Symbol.for("react.profiler"):60114,$R=as?Symbol.for("react.provider"):60109,KR=as?Symbol.for("react.context"):60110,XR=as?Symbol.for("react.forward_ref"):60112,JR=as?Symbol.for("react.suspense"):60113,QR=as?Symbol.for("react.memo"):60115,ZR=as?Symbol.for("react.lazy"):60116,mD=typeof Symbol=="function"&&Symbol.iterator;function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fmh.length&&mh.push(i)}function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case Q1:case bR:t=!0}}if(t)return f(c,i,u===""?"."+sy(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var C=0;C{"use strict";kD.exports=xD()});var AD=Me((ga,e2)=>{(function(){var i,u="4.17.21",f=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",A=500,x="__lodash_placeholder__",D=1,L=2,N=4,j=1,$=2,h=1,re=2,ce=4,Q=8,oe=16,Se=32,me=64,De=128,J=256,Te=512,Oe=30,Le="...",ot=800,ct=16,Ue=1,be=2,At=3,Ot=1/0,Nt=9007199254740991,Je=17976931348623157e292,V=0/0,ne=4294967295,ge=ne-1,Z=ne>>>1,Ae=[["ary",De],["bind",h],["bindKey",re],["curry",Q],["curryRight",oe],["flip",Te],["partial",Se],["partialRight",me],["rearg",J]],at="[object Arguments]",it="[object Array]",Ft="[object AsyncFunction]",jt="[object Boolean]",hn="[object Date]",Un="[object DOMException]",Jt="[object Error]",Yt="[object Function]",cr="[object GeneratorFunction]",w="[object Map]",pt="[object Number]",Mn="[object Null]",Bn="[object Object]",Xn="[object Promise]",vr="[object Proxy]",gr="[object RegExp]",r0="[object Set]",Ci="[object String]",yo="[object Symbol]",Ds="[object Undefined]",Mu="[object WeakMap]",Gf="[object WeakSet]",iu="[object ArrayBuffer]",ou="[object DataView]",ol="[object Float32Array]",ul="[object Float64Array]",Es="[object Int8Array]",Uo="[object Int16Array]",sl="[object Int32Array]",Ss="[object Uint8Array]",Cs="[object Uint8ClampedArray]",Ti="[object Uint16Array]",Fu="[object Uint32Array]",ll=/\b__p \+= '';/g,fl=/\b(__p \+=) '' \+/g,cl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,al=/&(?:amp|lt|gt|quot|#39);/g,Ui=/[&<>"']/g,Mr=RegExp(al.source),Ac=RegExp(Ui.source),of=/<%-([\s\S]+?)%>/g,Ts=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,dl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qi=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Fr=RegExp(kr.source),si=/^\s+/,H0=/\s/,b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,c0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ru=/[()=,{}\[\]\/\s]/,ks=/\\(\\)?/g,As=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,uu=/\w*$/,wo=/^[-+]0x[0-9a-f]+$/i,zo=/^0b[01]+$/i,Os=/^\[object .+?Constructor\]$/,Is=/^0o[0-7]+$/i,uf=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nu=/($^)/,Wo=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Ps="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",Vf="\\u20d0-\\u20ff",hl=Ps+pl+Vf,Bu="\\u2700-\\u27bf",ju="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",ro="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",ml=" \\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",Uu="A-Z\\xc0-\\xd6\\xd8-\\xde",G0="\\ufe0e\\ufe0f",Fs=sf+ro+Ms+ml,tt="['\u2019]",zi="["+su+"]",lu="["+Fs+"]",Ho="["+hl+"]",O0="\\d+",vl="["+Bu+"]",gl="["+ju+"]",fu="[^"+su+Fs+O0+Bu+ju+Uu+"]",_l="\\ud83c[\\udffb-\\udfff]",Sn="(?:"+Ho+"|"+_l+")",gt="[^"+su+"]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",li="["+Uu+"]",qu="\\u200d",Wi="(?:"+gl+"|"+fu+")",zu="(?:"+li+"|"+fu+")",Wu="(?:"+tt+"(?:d|ll|m|re|s|t|ve))?",Ls="(?:"+tt+"(?:D|LL|M|RE|S|T|VE))?",fi=Sn+"?",e0="["+G0+"]?",io="(?:"+qu+"(?:"+[gt,en,I0].join("|")+")"+e0+fi+")*",D0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",i0=e0+fi+io,Rs="(?:"+[vl,en,I0].join("|")+")"+i0,a0="(?:"+[gt+Ho+"?",Ho,en,I0,zi].join("|")+")",Hu=RegExp(tt,"g"),V0=RegExp(Ho,"g"),bu=RegExp(_l+"(?="+_l+")|"+a0+i0,"g"),Ns=RegExp([li+"?"+gl+"+"+Wu+"(?="+[lu,li,"$"].join("|")+")",zu+"+"+Ls+"(?="+[lu,li+Wi,"$"].join("|")+")",li+"?"+Wi+"+"+Wu,li+"+"+Ls,Do,D0,O0,Rs].join("|"),"g"),bo=RegExp("["+qu+su+hl+G0+"]"),P0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["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"],lf=-1,nr={};nr[ol]=nr[ul]=nr[Es]=nr[Uo]=nr[sl]=nr[Ss]=nr[Cs]=nr[Ti]=nr[Fu]=!0,nr[at]=nr[it]=nr[iu]=nr[jt]=nr[ou]=nr[hn]=nr[Jt]=nr[Yt]=nr[w]=nr[pt]=nr[Bn]=nr[gr]=nr[r0]=nr[Ci]=nr[Mu]=!1;var rr={};rr[at]=rr[it]=rr[iu]=rr[ou]=rr[jt]=rr[hn]=rr[ol]=rr[ul]=rr[Es]=rr[Uo]=rr[sl]=rr[w]=rr[pt]=rr[Bn]=rr[gr]=rr[r0]=rr[Ci]=rr[yo]=rr[Ss]=rr[Cs]=rr[Ti]=rr[Fu]=!0,rr[Jt]=rr[Yt]=rr[Mu]=!1;var Go={\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"},Gu={"&":"&","<":"<",">":">",'"':""","'":"'"},yl={"&":"&","<":"<",">":">",""":'"',"'":"'"},cu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Bs=parseFloat,Vu=parseInt,M0=typeof global=="object"&&global&&global.Object===Object&&global,au=typeof self=="object"&&self&&self.Object===Object&&self,Lr=M0||au||Function("return this")(),F=typeof ga=="object"&&ga&&!ga.nodeType&&ga,R=F&&typeof e2=="object"&&e2&&!e2.nodeType&&e2,U=R&&R.exports===F,H=U&&M0.process,fe=function(){try{var ae=R&&R.require&&R.require("util").types;return ae||H&&H.binding&&H.binding("util")}catch(Be){}}(),ue=fe&&fe.isArrayBuffer,de=fe&&fe.isDate,W=fe&&fe.isMap,ve=fe&&fe.isRegExp,Fe=fe&&fe.isSet,Ge=fe&&fe.isTypedArray;function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:return ae.call(Be,Ie[0]);case 2:return ae.call(Be,Ie[0],Ie[1]);case 3:return ae.call(Be,Ie[0],Ie[1],Ie[2])}return ae.apply(Be,Ie)}function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt-1}function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht-1;);return Ie}function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);return Ie}function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;return ht}var du=Cn(Go),Yu=Cn(Gu);function Us(ae){return"\\"+cu[ae]}function oo(ae,Be){return ae==null?i:ae[Be]}function Hi(ae){return bo.test(ae)}function qs(ae){return P0.test(ae)}function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value);return Ie}function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht,mt){Ie[++Be]=[mt,ht]}),Ie}function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie-1}function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E.push([a,p])):E[I][1]=p,this}Z0.prototype.clear=df,Z0.prototype.delete=Ba,Z0.prototype.get=Oc,Z0.prototype.has=mu,Z0.prototype.set=Ju;function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p=p?a:p)),a}function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B,G):E(a)),te!==i)return te;if(!Jr(a))return a;var Ke=On(a);if(Ke){if(te=f1(a),!se)return Xr(a,te)}else{var nt=U0(a),Ct=nt==Yt||nt==cr;if(Eu(a))return Od(a,se);if(nt==Bn||nt==at||Ct&&!B){if(te=Ee||Ct?{}:zd(a),!se)return Ee?Zu(a,Wa(te,a)):j0(a,mf(te,a))}else{if(!rr[nt])return B?a:{};te=Wd(a,nt,se)}}G||(G=new co);var Gt=G.get(a);if(Gt)return Gt;G.set(a,te),kp(a)?a.forEach(function(dn){te.add(vi(dn,p,E,dn,a,G))}):Tp(a)&&a.forEach(function(dn,Yn){te.set(Yn,vi(dn,p,E,Yn,a,G))});var an=$e?Ee?Dn:r1:Ee?Yi:q0,qn=Ke?i:an(a);return je(qn||a,function(dn,Yn){qn&&(Yn=dn,dn=a[Yn]),xl(te,Yn,vi(dn,p,E,Yn,a,G))}),te}function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){var B=E[I],G=p[B],te=a[B];if(te===i&&!(B in a)||!G(te))return!1}return!0}function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(function(){a.apply(i,E)},p)}function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;if(!se)return Ee;E&&(p=lt(p,qr(E))),I?(G=wt,te=!1):p.length>=f&&(G=So,te=!1,p=new vu(p));e:for(;++BB?0:B+E),I=I===i||I>B?B:jn(I),I<0&&(I+=B),I=E>I?0:Ip(I);E0&&E(se)?p>1?k0(se,p-1,E,I,B):Rt(B,se):I||(B[B.length]=se)}return B}var v=ec(),m=ec(!0);function S(a,p){return a&&v(a,p,q0)}function O(a,p){return a&&m(a,p,q0)}function M(a,p){return st(p,function(E){return rs(a[E])})}function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&Ep}function ut(a,p){return a!=null&&or.call(a,p)}function In(a,p){return a!=null&&p in $t(a)}function A0(a,p,E){return a>=kn(p,E)&&a=120&&Ke.length>=120)?new vu(te&&Ke):i}Ke=a[0];var nt=-1,Ct=se[0];e:for(;++nt-1;)se!==a&&C0.call(se,Ee,1),C0.call(a,Ee,1);return a}function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||B!==G){var G=B;es(B)?C0.call(a,B,1):$a(a,B)}}return a}function Ga(a,p){return a+hu(Ai()*(p-a+1))}function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;)te[I?G:++B]=a,a+=E;return te}function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(p/2),p&&(a+=a);while(p);return E}function Wn(a,p){return m1(Gd(a,p,$i),a+"")}function wd(a){return Fc(Ef(a))}function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.length,te=G-1,se=a;se!=null&&++BB?0:B+p),E=E>B?B:E,E<0&&(E+=B),B=p>E?0:E-p>>>0,p>>>=0;for(var G=Ie(B);++I>>1,te=a[G];te!==null&&!mo(te)&&(E?te<=p:te=f){var $e=p?null:bm(a);if($e)return Y0($e);te=!1,B=So,Ee=new vu}else Ee=p?[]:se;e:for(;++I=I?a:Oo(a,p,E)}var Ad=pu||function(a){return Lr.clearTimeout(a)};function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.constructor(E);return a.copy(I),I}function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).set(new R0(a)),p}function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.byteLength)}function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.lastIndex=a.lastIndex,p}function qm(a){return Wr?$t(Wr.call(a)):{}}function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.length)}function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!==i,se=p===null,Ee=p===p,$e=mo(p);if(!se&&!$e&&!G&&a>p||G&&te&&Ee&&!se&&!$e||I&&te&&Ee||!E&&Ee||!B)return 1;if(!I&&!G&&!$e&&a=se)return Ee;var $e=E[I];return Ee*($e=="desc"?-1:1)}}return a.index-p.index}function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.length,$e=wr(G-te,0),Ke=Ie(Ee+$e),nt=!I;++se1?E[B-1]:i,te=B>2?E[2]:i;for(G=a.length>3&&typeof G=="function"?(B--,G):i,te&&Ii(E[0],E[1],te)&&(G=B<3?i:G,B=1),p=$t(p);++I-1?B[G?p[te]:te]:i}}function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.thru;for(a&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Yr(g);if(B&&!te&&Gc(G)=="wrapper")var te=new Qn([],!0)}for(I=te?I:E;++I1&&er.reverse(),Ke&&Eese))return!1;var $e=G.get(a),Ke=G.get(p);if($e&&Ke)return $e==p&&Ke==a;var nt=-1,Ct=!0,Gt=E&$?new vu:i;for(G.set(a,p),G.set(p,a);++nt1?"& ":"")+p[I],p=p.join(E>2?", ":" "),a.replace(b0,`{ +/* [wrapped with `+p+`] */ +`)}function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"||E!="symbol"&&uf.test(a))&&a>-1&&a%1==0&&a0){if(++p>=ot)return arguments[0]}else p=0;return a.apply(i,arguments)}}function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E1?a[p-1]:i;return E=typeof E=="function"?(a.pop(),E):i,sp(a,E)});function fp(a){var p=z(a);return p.__chain__=!0,p}function cp(a,p){return p(a),a}function Kc(a,p){return p(a)}var Wv=yu(function(a){var p=a.length,E=p?a[0]:0,I=this.__wrapped__,B=function(G){return Hs(G,a)};return p>1||this.__actions__.length||!(I instanceof nn)||!es(E)?this.thru(B):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Kc,args:[B],thisArg:i}),new Qn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Hv(){return fp(this)}function bv(){return new Qn(this.value(),this.__chain__)}function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));var a=this.__index__>=this.__values__.length,p=a?i:this.__values__[this.__index__++];return{done:a,value:p}}function Vv(){return this}function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index__=0,I.__values__=i,p?B.__wrapped__=I:p=I;var B=I;E=E.__wrapped__}return B.__wrapped__=a,p}function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return this.__actions__.length&&(p=new nn(this)),p=p.reverse(),p.__actions__.push({func:Kc,args:[g1],thisArg:i}),new Qn(p,this.__chain__)}return this.thru(g1)}function Fl(){return xd(this.__wrapped__,this.__actions__)}var Xc=_f(function(a,p,E){or.call(a,E)?++a[E]:ti(a,E,1)});function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}var Xv=Ld(Qd),D1=Ld($c);function Jv(a,p){return k0(Jc(a,p),1)}function Qv(a,p){return k0(Jc(a,p),Ot)}function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}var Zv=_f(function(a,p,E){or.call(a,E)?a[E].push(p):ti(a,E,[p])});function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;return E<0&&(E=wr(B+E,0)),ia(a)?E<=B&&a.indexOf(p,E)>-1:!!B&&Qe(a,p,E)>-1}var tg=Wn(function(a,p,E){var I=-1,B=typeof p=="function",G=Vi(a)?Ie(a.length):[];return $o(a,function(te){G[++I]=B?K(p,te,E):po(te,p,E)}),G}),hp=_f(function(a,p,E){ti(a,E,p)});function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:E,On(E)||(E=E==null?[]:[E]),Oi(a,p,E))}var rg=_f(function(a,p,E){a[E?0:1].push(p)},function(){return[[],[]]});function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,$o)}function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,kl)}function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}function ug(a){var p=On(a)?Fc:wd;return p(a)}function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;return I(a,p)}function lg(a){var p=On(a)?Kf:Ao;return p(a)}function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;var p=U0(a);return p==w||p==r0?a.size:Zf(a).length}function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}var cg=Wn(function(a,p){if(a==null)return[];var E=p.length;return E>1&&Ii(a,p[0],p[1])?p=[]:E>2&&Ii(p[0],p[1],p[2])&&(p=[p[0]]),Oi(a,k0(p,1),[])}),rc=Sl||function(){return Lr.Date.now()};function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){if(--a<1)return p.apply(this,arguments)}}function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,i,p)}function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){return--a>0&&(E=p.apply(this,arguments)),a<=1&&(p=i),E}}var S1=Wn(function(a,p,E){var I=h;if(E.length){var B=L0(E,An(S1));I|=Se}return Lt(a,I,p,E,B)}),_p=Wn(function(a,p,E){var I=h|re;if(E.length){var B=L0(E,An(_p));I|=Se}return Lt(p,I,a,E,B)});function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholder=C1.placeholder,I}function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a!="function")throw new Yr(g);p=Fo(p)||0,Jr(E)&&(Ke=!!E.leading,nt="maxWait"in E,G=nt?wr(Fo(E.maxWait)||0,p):G,Ct="trailing"in E?!!E.trailing:Ct);function Gt(f0){var Jo=I,Su=B;return I=B=i,$e=f0,te=a.apply(Su,Jo),te}function an(f0){return $e=f0,se=wf(Yn,p),Ke?Gt(f0):te}function qn(f0){var Jo=f0-Ee,Su=f0-$e,Zp=p-Jo;return nt?kn(Zp,G-Su):Zp}function dn(f0){var Jo=f0-Ee,Su=f0-$e;return Ee===i||Jo>=p||Jo<0||nt&&Su>=G}function Yn(){var f0=rc();if(dn(f0))return er(f0);se=wf(Yn,qn(f0))}function er(f0){return se=i,Ct&&I?Gt(f0):(I=B=i,te)}function vo(){se!==i&&Ad(se),$e=0,I=Ee=B=se=i}function Pi(){return se===i?te:er(rc())}function Mi(){var f0=rc(),Jo=dn(f0);if(I=arguments,B=this,Ee=f0,Jo){if(se===i)return an(Ee);if(nt)return Ad(se),se=wf(Yn,p),Gt(Ee)}return se===i&&(se=wf(Yn,p)),te}return Mi.cancel=vo,Mi.flush=Pi,Mi}var dg=Wn(function(a,p){return Jf(a,1,p)}),Dp=Wn(function(a,p,E){return Jf(a,Fo(p)||0,E)});function pg(a){return Lt(a,Te)}function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")throw new Yr(g);var E=function(){var I=arguments,B=p?p.apply(this,I):I[0],G=E.cache;if(G.has(B))return G.get(B);var te=a.apply(this,I);return E.cache=G.set(B,te)||G,te};return E.cache=new(Qc.Cache||ei),E}Qc.Cache=ei;function Zc(a){if(typeof a!="function")throw new Yr(g);return function(){var p=arguments;switch(p.length){case 0:return!a.call(this);case 1:return!a.call(this,p[0]);case 2:return!a.call(this,p[0],p[1]);case 3:return!a.call(this,p[0],p[1],p[2])}return!a.apply(this,p)}}function ea(a){return gp(2,a)}var hg=Bm(function(a,p){p=p.length==1&&On(p[0])?lt(p[0],qr(cn())):lt(k0(p,1),qr(cn()));var E=p.length;return Wn(function(I){for(var B=-1,G=kn(I.length,E);++B=p}),Ll=_i(function(){return arguments}())?_i:function(a){return n0(a)&&or.call(a,"callee")&&!N0.call(a,"callee")},On=Ie.isArray,x1=ue?qr(ue):Re;function Vi(a){return a!=null&&na(a.length)&&!rs(a)}function l0(a){return n0(a)&&Vi(a)}function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}var Eu=pi||W1,Ag=de?qr(de):Ce;function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"||typeof a.splice=="function"||Eu(a)||Df(a)||Ll(a)))return!a.length;var p=U0(a);if(p==w||p==r0)return!a.size;if(nc(a))return!Zf(a).length;for(var E in a)if(or.call(a,E))return!1;return!0}function Ig(a,p){return ze(a,p)}function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I===i?ze(a,p,i,E):!!I}function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeof a.message=="string"&&typeof a.name=="string"&&!ic(a)}function Mg(a){return typeof a=="number"&&Br(a)}function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft||p==vr}function A1(a){return typeof a=="number"&&a==jn(a)}function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}function n0(a){return a!=null&&typeof a=="object"}var Tp=W?qr(W):on;function Fg(a,p){return a===p||sr(a,p,Nn(p))}function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}function Rg(a){return xp(a)&&a!=+a}function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}function Bg(a){return a===null}function O1(a){return a==null}function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)return!0;var E=or.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&bi.call(E)==af}var ra=ve?qr(ve):pr;function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}var kp=Fe?qr(Fe):Hr;function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}var Df=Ge?qr(Ge):Vn;function Ap(a){return a===i}function Ug(a){return n0(a)&&U0(a)==Mu}function qg(a){return n0(a)&&Ye(a)==Gf}var zg=bc(Ha),Wg=bc(function(a,p){return a<=p});function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a[u0])return F0(a[u0]());var p=U0(a),E=p==w?Gr:p==r0?Y0:Ef;return E(a)}function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=a<0?-1:1;return p*Je}return a===a?a:0}function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}function Ip(a){return a?mi(jn(a),0,ne):0}function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)){var p=typeof a.valueOf=="function"?a.valueOf():a;a=Jr(p)?p+"":p}if(typeof a!="string")return a===0?a:+a;a=E0(a);var E=zo.test(a);return E||Is.test(a)?Vu(a.slice(2),E?2:8):wo.test(a)?V:+a}function oa(a){return yi(a,Yi(a))}function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}function yr(a){return a==null?"":ho(a)}var Pp=Io(function(a,p){if(nc(p)||Vi(p)){yi(p,q0(p),a);return}for(var E in p)or.call(p,E)&&xl(a,E,p[E])}),Mp=Io(function(a,p){yi(p,Yi(p),a)}),ua=Io(function(a,p,E,I){yi(p,Yi(p),a,I)}),bg=Io(function(a,p,E,I){yi(p,q0(p),a,I)}),Gg=yu(Hs);function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}var Fp=Wn(function(a,p){a=$t(a);var E=-1,I=p.length,B=I>2?p[2]:i;for(B&&Ii(p[0],p[1],B)&&(I=1);++E1),G}),yi(a,Dn(a),E),I&&(E=vi(E,D|L|N,Gm));for(var B=p.length;B--;)$a(E,p[B]);return E});function l_(a,p){return Bp(a,Zc(cn(p)))}var f_=yu(function(a,p){return a==null?{}:Fm(a,p)});function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I]});return p=cn(p),yd(a,E,function(I,B){return p(I,B[0])})}function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++Ip){var I=a;a=p,p=I}if(E||a%1||p%1){var B=Ai();return kn(a+B*(p-a+Bs("1e-"+((B+"").length-1))),p)}return Ga(a,p)}var __=yf(function(a,p,E){return p=p.toLowerCase(),a+(E?Wp(p):p)});function Wp(a){return L1(yr(a).toLowerCase())}function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I);var B=E;return E-=p.length,E>=0&&a.slice(E,B)==p}function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}var D_=yf(function(a,p,E){return a+(E?"-":"")+p.toLowerCase()}),bp=yf(function(a,p,E){return a+(E?" ":"")+p.toLowerCase()}),E_=Fd("toLowerCase");function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;var B=(p-I)/2;return Hc(hu(B),E)+a+Hc(B0(B),E)}function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I>>0,E?(a=yr(a),a&&(typeof p=="string"||p!=null&&!ra(p))&&(p=ho(p),!p&&Hi(a))?Vs(Jn(a),0,E):a.split(p,E)):[]}var I_=yf(function(a,p,E){return a+(E?" ":"")+L1(p)});function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(p),a.slice(E,E+p.length)==p}function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),p=ua({},p,I,n1);var B=ua({},p.imports,I.imports,n1),G=q0(B),te=Eo(B,G),se,Ee,$e=0,Ke=p.interpolate||Nu,nt="__p += '",Ct=X0((p.escape||Nu).source+"|"+Ke.source+"|"+(Ke===xs?As:Nu).source+"|"+(p.evaluate||Nu).source+"|$","g"),Gt="//# sourceURL="+(or.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lf+"]")+` +`;a.replace(Ct,function(dn,Yn,er,vo,Pi,Mi){return er||(er=vo),nt+=a.slice($e,Mi).replace(Wo,Us),Yn&&(se=!0,nt+=`' + +__e(`+Yn+`) + +'`),Pi&&(Ee=!0,nt+=`'; +`+Pi+`; +__p += '`),er&&(nt+=`' + +((__t = (`+er+`)) == null ? '' : __t) + +'`),$e=Mi+dn.length,dn}),nt+=`'; +`;var an=or.call(p,"variable")&&p.variable;if(!an)nt=`with (obj) { +`+nt+` +} +`;else if(Ru.test(an))throw new mt(t);nt=(Ee?nt.replace(ll,""):nt).replace(fl,"$1").replace(cl,"$1;"),nt="function("+(an||"obj")+`) { +`+(an?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(se?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+nt+`return __p +}`;var qn=$p(function(){return wn(G,Gt+"return "+nt).apply(i,te)});if(qn.source=nt,k1(qn))throw qn;return qn}function F_(a){return yr(a).toLowerCase()}function L_(a){return yr(a).toUpperCase()}function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=Jn(p),G=wl(I,B),te=js(I,B)+1;return Vs(I,G,te).join("")}function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=js(I,Jn(p))+1;return Vs(I,0,B).join("")}function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!a||!(p=ho(p)))return a;var I=Jn(a),B=wl(I,Jn(p));return Vs(I,B).join("")}function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separator:B;E="length"in p?jn(p.length):E,I="omission"in p?ho(p.omission):I}a=yr(a);var G=a.length;if(Hi(a)){var te=Jn(a);G=te.length}if(E>=G)return a;var se=E-Rr(I);if(se<1)return I;var Ee=te?Vs(te,0,se).join(""):a.slice(0,se);if(B===i)return Ee+I;if(te&&(se+=Ee.length-se),ra(B)){if(a.slice(se).search(B)){var $e,Ke=Ee;for(B.global||(B=X0(B.source,yr(uu.exec(B))+"g")),B.lastIndex=0;$e=B.exec(Ke);)var nt=$e.index;Ee=Ee.slice(0,nt===i?se:nt)}}else if(a.indexOf(ho(B),se)!=se){var Ct=Ee.lastIndexOf(B);Ct>-1&&(Ee=Ee.slice(0,Ct))}return Ee+I}function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}var j_=yf(function(a,p,E){return a+(E?" ":"")+p.toUpperCase()}),L1=Fd("toUpperCase");function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.match(p)||[]}var $p=Wn(function(a,p){try{return K(a,i,p)}catch(E){return k1(E)?E:new mt(E)}}),U_=yu(function(a,p){return je(p,function(E){E=Xo(E),ti(a,E,S1(a[E],a))}),a});function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(I){if(typeof I[1]!="function")throw new Yr(g);return[E(I[0]),I[1]]}):[],Wn(function(I){for(var B=-1;++BNt)return[];var E=ne,I=kn(a,ne);p=cn(p),a-=ne;for(var B=ci(I,p);++E0||p<0)?new nn(E):(a<0?E=E.takeRight(-a):a&&(E=E.drop(a)),p!==i&&(p=jn(p),E=p<0?E.dropRight(-p):E.take(p-a)),E)},nn.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},nn.prototype.toArray=function(){return this.take(ne)},S(nn.prototype,function(a,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),B=z[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!B||(z.prototype[p]=function(){var te=this.__wrapped__,se=I?[1]:arguments,Ee=te instanceof nn,$e=se[0],Ke=Ee||On(te),nt=function(Yn){var er=B.apply(z,Rt([Yn],se));return I&&Ct?er[0]:er};Ke&&E&&typeof $e=="function"&&$e.length!=1&&(Ee=Ke=!1);var Ct=this.__chain__,Gt=!!this.__actions__.length,an=G&&!Ct,qn=Ee&&!Gt;if(!G&&Ke){te=qn?te:new nn(this);var dn=a.apply(te,se);return dn.__actions__.push({func:Kc,args:[nt],thisArg:i}),new Qn(dn,Ct)}return an&&qn?a.apply(this,se):(dn=this.thru(nt),an?I?dn.value()[0]:dn.value():dn)})}),je(["pop","push","shift","sort","splice","unshift"],function(a){var p=$r[a],E=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",I=/^(?:pop|shift)$/.test(a);z.prototype[a]=function(){var B=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(On(G)?G:[],B)}return this[E](function(te){return p.apply(On(te)?te:[],B)})}}),S(nn.prototype,function(a,p){var E=z[p];if(E){var I=E.name+"";or.call(bt,I)||(bt[I]=[]),bt[I].push({name:p,func:E})}}),bt[zc(i,re).name]=[{name:"wrapper",func:i}],nn.prototype.clone=s0,nn.prototype.reverse=t0,nn.prototype.value=g0,z.prototype.at=Wv,z.prototype.chain=Hv,z.prototype.commit=bv,z.prototype.next=Gv,z.prototype.plant=Yv,z.prototype.reverse=Ml,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=Fl,z.prototype.first=z.prototype.head,u0&&(z.prototype[u0]=Vv),z},K0=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Lr._=K0,define(function(){return K0})):R?((R.exports=K0)._=K0,F._=K0):Lr._=K0}).call(ga)});var ay=Me((XH,cy)=>{"use strict";var fr=cy.exports;cy.exports.default=fr;var Pr="[",t2="]",ya="\x07",vh=";",OD=process.env.TERM_PROGRAM==="Apple_Terminal";fr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Pr+(i+1)+"G":Pr+(u+1)+";"+(i+1)+"H"};fr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Pr+-i+"D":i>0&&(f+=Pr+i+"C"),u<0?f+=Pr+-u+"A":u>0&&(f+=Pr+u+"B"),f};fr.cursorUp=(i=1)=>Pr+i+"A";fr.cursorDown=(i=1)=>Pr+i+"B";fr.cursorForward=(i=1)=>Pr+i+"C";fr.cursorBackward=(i=1)=>Pr+i+"D";fr.cursorLeft=Pr+"G";fr.cursorSavePosition=OD?"7":Pr+"s";fr.cursorRestorePosition=OD?"8":Pr+"u";fr.cursorGetPosition=Pr+"6n";fr.cursorNextLine=Pr+"E";fr.cursorPrevLine=Pr+"F";fr.cursorHide=Pr+"?25l";fr.cursorShow=Pr+"?25h";fr.eraseLines=i=>{let u="";for(let f=0;f[t2,"8",vh,vh,u,ya,i,t2,"8",vh,vh,ya].join("");fr.image=(i,u={})=>{let f=`${t2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+ya};fr.iTerm={setCwd:(i=process.cwd())=>`${t2}50;CurrentDir=${i}${ya}`,annotation:(i,u={})=>{let f=`${t2}1337;`,c=typeof u.x!="undefined",g=typeof u.y!="undefined";if((c||g)&&!(c&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(c?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+ya}}});var PD=Me((JH,dy)=>{"use strict";var ID=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};dy.exports=ID;dy.exports.default=ID});var FD=Me((QH,gh)=>{"use strict";var oN=PD(),_h=new WeakMap,MD=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,c=!1,g=0,t=i.displayName||i.name||"",C=function(...A){if(_h.set(C,++g),c){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return c=!0,f=i.apply(this,A),i=null,f};return oN(C,i),_h.set(C,g),C};gh.exports=MD;gh.exports.default=MD;gh.exports.callCount=i=>{if(!_h.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return _h.get(i)}});var LD=Me((ZH,yh)=>{yh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&yh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var vy=Me((eb,n2)=>{var uN=require("assert"),r2=LD(),sN=/^win/i.test(process.platform),wh=require("events");typeof wh!="function"&&(wh=wh.EventEmitter);var Bi;process.__signal_exit_emitter__?Bi=process.__signal_exit_emitter__:(Bi=process.__signal_exit_emitter__=new wh,Bi.count=0,Bi.emitted={});Bi.infinite||(Bi.setMaxListeners(Infinity),Bi.infinite=!0);n2.exports=function(i,u){uN.equal(typeof i,"function","a callback must be provided for exit handler"),i2===!1&&RD();var f="exit";u&&u.alwaysLast&&(f="afterexit");var c=function(){Bi.removeListener(f,i),Bi.listeners("exit").length===0&&Bi.listeners("afterexit").length===0&&py()};return Bi.on(f,i),c};n2.exports.unload=py;function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListener(i,hy[i])}catch(u){}}),process.emit=my,process.reallyExit=ND,Bi.count-=1)}function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}var hy={};r2.forEach(function(i){hy[i]=function(){var f=process.listeners(i);f.length===Bi.count&&(py(),wa("exit",null,i),wa("afterexit",null,i),sN&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});n2.exports.signals=function(){return r2};n2.exports.load=RD;var i2=!1;function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return process.on(i,hy[i]),!0}catch(u){return!1}}),process.emit=fN,process.reallyExit=lN)}var ND=process.reallyExit;function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),ND.call(process,process.exitCode)}var my=process.emit;function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=my.apply(this,arguments);return wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),f}else return my.apply(this,arguments)}});var jD=Me((tb,BD)=>{"use strict";var cN=FD(),aN=vy();BD.exports=cN(()=>{aN(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var gy=Me(Da=>{"use strict";var dN=jD(),Dh=!1;Da.show=(i=process.stderr)=>{!i.isTTY||(Dh=!1,i.write("[?25h"))};Da.hide=(i=process.stderr)=>{!i.isTTY||(dN(),Dh=!0,i.write("[?25l"))};Da.toggle=(i,u)=>{i!==void 0&&(Dh=i),Dh?Da.show(u):Da.hide(u)}});var WD=Me(o2=>{"use strict";var UD=o2&&o2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(o2,"__esModule",{value:!0});var qD=UD(ay()),zD=UD(gy()),pN=(i,{showCursor:u=!1}={})=>{let f=0,c="",g=!1,t=C=>{!u&&!g&&(zD.default.hide(),g=!0);let A=C+` +`;A!==c&&(c=A,i.write(qD.default.eraseLines(f)+A),f=A.split(` +`).length)};return t.clear=()=>{i.write(qD.default.eraseLines(f)),c="",f=0},t.done=()=>{c="",f=0,u||(zD.default.show(),g=!1)},t};o2.default={create:pN}});var bD=Me((ib,HD)=>{HD.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 YD=Me(ru=>{"use strict";var GD=bD(),nl=process.env;Object.defineProperty(ru,"_vendors",{value:GD.map(function(i){return i.constant})});ru.name=null;ru.isPR=null;GD.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(c){return VD(c)});if(ru[i.constant]=f,f)switch(ru.name=i.name,typeof i.pr){case"string":ru.isPR=!!nl[i.pr];break;case"object":"env"in i.pr?ru.isPR=i.pr.env in nl&&nl[i.pr.env]!==i.pr.ne:"any"in i.pr?ru.isPR=i.pr.any.some(function(c){return!!nl[c]}):ru.isPR=VD(i.pr);break;default:ru.isPR=null}});ru.isCI=!!(nl.CI||nl.CONTINUOUS_INTEGRATION||nl.BUILD_NUMBER||nl.RUN_ID||ru.name);function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(function(u){return nl[u]===i[u]})}});var KD=Me((ub,$D)=>{"use strict";$D.exports=YD().isCI});var JD=Me((sb,XD)=>{"use strict";var hN=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};XD.exports=(i,{include:u,exclude:f}={})=>{let c=g=>{let t=C=>typeof C=="string"?g===C:C.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of hN(i.constructor.prototype)){if(t==="constructor"||!c(t))continue;let C=Reflect.getOwnPropertyDescriptor(g,t);C&&typeof C.value=="function"&&(i[t]=i[t].bind(i))}return i}});var iE=Me(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var Ea,u2,Eh,Sh,_y;typeof window=="undefined"||typeof MessageChannel!="function"?(Sa=null,yy=null,wy=function(){if(Sa!==null)try{var i=Sr.unstable_now();Sa(!0,i),Sa=null}catch(u){throw setTimeout(wy,0),u}},QD=Date.now(),Sr.unstable_now=function(){return Date.now()-QD},Ea=function(i){Sa!==null?setTimeout(Ea,0,i):(Sa=i,setTimeout(wy,0))},u2=function(i,u){yy=setTimeout(i,u)},Eh=function(){clearTimeout(yy)},Sh=function(){return!1},_y=Sr.unstable_forceFrameRate=function(){}):(Ch=window.performance,Dy=window.Date,ZD=window.setTimeout,eE=window.clearTimeout,typeof console!="undefined"&&(tE=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 tE!="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 Ch=="object"&&typeof Ch.now=="function"?Sr.unstable_now=function(){return Ch.now()}:(nE=Dy.now(),Sr.unstable_now=function(){return Dy.now()-nE}),s2=!1,l2=null,Th=-1,Ey=5,Sy=0,Sh=function(){return Sr.unstable_now()>=Sy},_y=function(){},Sr.unstable_forceFrameRate=function(i){0>i||125kh(C,f))x!==void 0&&0>kh(x,C)?(i[c]=x,i[A]=f,c=A):(i[c]=C,i[t]=f,c=t);else if(x!==void 0&&0>kh(x,f))i[c]=x,i[A]=f,c=A;else break e}}return u}return null}function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ds=[],Nf=[],mN=1,_o=null,to=3,Oh=!1,pc=!1,f2=!1;function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);else if(u.startTime<=i)Ah(Nf),u.sortIndex=u.expirationTime,Ty(ds,u);else break;u=Iu(Nf)}}function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var u=Iu(Nf);u!==null&&u2(xy,u.startTime-i)}}function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=Iu(ds);_o!==null&&(!(_o.expirationTime>u)||i&&!Sh());){var c=_o.callback;if(c!==null){_o.callback=null,to=_o.priorityLevel;var g=c(_o.expirationTime<=u);u=Sr.unstable_now(),typeof g=="function"?_o.callback=g:_o===Iu(ds)&&Ah(ds),Ih(u)}else Ah(ds);_o=Iu(ds)}if(_o!==null)var t=!0;else{var C=Iu(Nf);C!==null&&u2(xy,C.startTime-u),t=!1}return t}finally{_o=null,to=f,Oh=!1}}function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var vN=_y;Sr.unstable_ImmediatePriority=1;Sr.unstable_UserBlockingPriority=2;Sr.unstable_NormalPriority=3;Sr.unstable_IdlePriority=5;Sr.unstable_LowPriority=4;Sr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=to;to=i;try{return u()}finally{to=f}};Sr.unstable_next=function(i){switch(to){case 1:case 2:case 3:var u=3;break;default:u=to}var f=to;to=u;try{return i()}finally{to=f}};Sr.unstable_scheduleCallback=function(i,u,f){var c=Sr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0c?(i.sortIndex=g,Ty(Nf,i),Iu(ds)===null&&i===Iu(Nf)&&(f2?Eh():f2=!0,u2(xy,g-c))):(i.sortIndex=f,Ty(ds,i),pc||Oh||(pc=!0,Ea(ky))),i};Sr.unstable_cancelCallback=function(i){i.callback=null};Sr.unstable_wrapCallback=function(i){var u=to;return function(){var f=to;to=u;try{return i.apply(this,arguments)}finally{to=f}}};Sr.unstable_getCurrentPriorityLevel=function(){return to};Sr.unstable_shouldYield=function(){var i=Sr.unstable_now();Ih(i);var u=Iu(ds);return u!==_o&&_o!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime<_o.expirationTime||Sh()};Sr.unstable_requestPaint=vN;Sr.unstable_continueExecution=function(){pc||Oh||(pc=!0,Ea(ky))};Sr.unstable_pauseExecution=function(){};Sr.unstable_getFirstCallbackNode=function(){return Iu(ds)};Sr.unstable_Profiling=null});var Ay=Me((fb,oE)=>{"use strict";oE.exports=iE()});var uE=Me((cb,c2)=>{c2.exports=function i(u){"use strict";var f=ey(),c=lr(),g=Ay();function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+v,S=1;Sqo||(v.current=qi[qo],qi[qo]=null,qo--)}function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}var si={},H0={current:si},b0={current:!1},Bt=si;function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===m)return O.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in S)M[b]=m[b];return O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=m,v.__reactInternalMemoizedMaskedChildContext=M),M}function c0(v){return v=v.childContextTypes,v!=null}function Ru(v){kr(b0,v),kr(H0,v)}function ks(v){kr(b0,v),kr(H0,v)}function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(b0,S,v)}function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in v))throw Error(t(108,Oe(m)||"Unknown",M));return f({},S,{},O)}function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMergedChildContext||si,Bt=H0.current,Fr(H0,m,v),Fr(b0,b0.current,v),!0}function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v,m,Bt),O.__reactInternalMemoizedMergedChildContext=m,kr(b0,v),kr(H0,v),Fr(H0,m,v)):kr(b0,v),Fr(b0,S,v)}var Os=g.unstable_runWithPriority,Is=g.unstable_scheduleCallback,uf=g.unstable_cancelCallback,_n=g.unstable_shouldYield,Nu=g.unstable_requestPaint,Wo=g.unstable_now,su=g.unstable_getCurrentPriorityLevel,Ps=g.unstable_ImmediatePriority,pl=g.unstable_UserBlockingPriority,Vf=g.unstable_NormalPriority,hl=g.unstable_LowPriority,Bu=g.unstable_IdlePriority,ju={},sf=Nu!==void 0?Nu:function(){},ro=null,Ms=null,ml=!1,Uu=Wo(),G0=1e4>Uu?Wo:function(){return Wo()-Uu};function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:return 97;case hl:return 96;case Bu:return 95;default:throw Error(t(332))}}function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:return Vf;case 96:return hl;case 95:return Bu;default:throw Error(t(332))}}function zi(v,m){return v=tt(v),Os(v,m)}function lu(v,m,S){return v=tt(v),Is(v,m,S)}function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,function(){for(;v=m&&(ai=!0),v.firstContext=null)}function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===1073741823)&&(zu=v,m=1073741823),m={context:v,observedBits:m,next:null},Wi===null){if(qu===null)throw Error(t(308));Wi=m,qu.dependencies={expirationTime:0,firstContext:m,responders:null}}else Wi=Wi.next=m;return Jt?v._currentValue:v._currentValue2}var Do=!1;function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,lastUpdate:v.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.lastUpdate.next=m,v.lastUpdate=m)}function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=null;O===null&&(O=v.updateQueue=i0(v.memoizedState))}else O=v.updateQueue,M=S.updateQueue,O===null?M===null?(O=v.updateQueue=i0(v.memoizedState),M=S.updateQueue=i0(S.memoizedState)):O=v.updateQueue=Rs(M):M===null&&(M=S.updateQueue=Rs(O));M===null||O===M?Hu(O,m):O.lastUpdate===null||M.lastUpdate===null?(Hu(O,m),Hu(M,m)):(Hu(O,m),M.lastUpdate=m)}function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoizedState):Ns(v,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=m:(S.lastCapturedUpdate.next=m,S.lastCapturedUpdate=m)}function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(m=v.updateQueue=Rs(m)),m}function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof v=="function"?v.call(b,O,M):v;case 3:v.effectTag=v.effectTag&-4097|64;case 0:if(v=S.payload,M=typeof v=="function"?v.call(b,O,M):v,M==null)break;return f({},O,M);case 2:Do=!0}return O}function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=0,Ze=m.firstUpdate,ut=b;Ze!==null;){var In=Ze.expirationTime;Inpr?(Hr=mn,mn=null):Hr=mn.sibling;var Vn=jr(Re,mn,ze[pr],Et);if(Vn===null){mn===null&&(mn=Hr);break}v&&mn&&Vn.alternate===null&&m(Re,mn),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn,mn=Hr}if(pr===ze.length)return S(Re,mn),on;if(mn===null){for(;prpr?(Hr=mn,mn=null):Hr=mn.sibling;var ni=jr(Re,mn,Vn.value,Et);if(ni===null){mn===null&&(mn=Hr);break}v&&mn&&ni.alternate===null&&m(Re,mn),Ce=b(ni,Ce,pr),sr===null?on=ni:sr.sibling=ni,sr=ni,mn=Hr}if(Vn.done)return S(Re,mn),on;if(mn===null){for(;!Vn.done;pr++,Vn=ze.next())Vn=A0(Re,Vn.value,Et),Vn!==null&&(Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return on}for(mn=O(Re,mn);!Vn.done;pr++,Vn=ze.next())Vn=gi(mn,Re,pr,Vn.value,Et),Vn!==null&&(v&&Vn.alternate!==null&&mn.delete(Vn.key===null?pr:Vn.key),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return v&&mn.forEach(function(Zf){return m(Re,Zf)}),on}return function(Re,Ce,ze,Et){var on=typeof ze=="object"&&ze!==null&&ze.type===L&&ze.key===null;on&&(ze=ze.props.children);var sr=typeof ze=="object"&&ze!==null;if(sr)switch(ze.$$typeof){case x:e:{for(sr=ze.key,on=Ce;on!==null;){if(on.key===sr)if(on.tag===7?ze.type===L:on.elementType===ze.type){S(Re,on.sibling),Ce=M(on,ze.type===L?ze.props.children:ze.props,Et),Ce.ref=au(Re,on,ze),Ce.return=Re,Re=Ce;break e}else{S(Re,on);break}else m(Re,on);on=on.sibling}ze.type===L?(Ce=mi(ze.props.children,Re.mode,Et,ze.key),Ce.return=Re,Re=Ce):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Re=Et)}return ee(Re);case D:e:{for(on=ze.key;Ce!==null;){if(Ce.key===on)if(Ce.tag===4&&Ce.stateNode.containerInfo===ze.containerInfo&&Ce.stateNode.implementation===ze.implementation){S(Re,Ce.sibling),Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Re=Ce;break e}else{S(Re,Ce);break}else m(Re,Ce);Ce=Ce.sibling}Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Re=Ce}return ee(Re)}if(typeof ze=="string"||typeof ze=="number")return ze=""+ze,Ce!==null&&Ce.tag===6?(S(Re,Ce.sibling),Ce=M(Ce,ze,Et),Ce.return=Re,Re=Ce):(S(Re,Ce),Ce=vi(ze,Re.mode,Et),Ce.return=Re,Re=Ce),ee(Re);if(M0(ze))return po(Re,Ce,ze,Et);if(J(ze))return _i(Re,Ce,ze,Et);if(sr&&Lr(Re,ze),typeof ze=="undefined"&&!on)switch(Re.tag){case 1:case 0:throw Re=Re.type,Error(t(152,Re.displayName||Re.name||"Component"))}return S(Re,Ce)}}var R=F(!0),U=F(!1),H={},fe={current:H},ue={current:H},de={current:H};function W(v){if(v===H)throw Error(t(174));return v}function ve(v,m){Fr(de,m,v),Fr(ue,v,v),Fr(fe,H,v),m=Ot(m),kr(fe,v),Fr(fe,m,v)}function Fe(v){kr(fe,v),kr(ue,v),kr(de,v)}function Ge(v){var m=W(de.current),S=W(fe.current);m=Nt(S,v.type,m),S!==m&&(Fr(ue,v,v),Fr(fe,m,v))}function K(v){ue.current===v&&(kr(fe,v),kr(ue,v))}var xe={current:0};function je(v){for(var m=v;m!==null;){if(m.tag===13){var S=m.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||ll(S)||fl(S)))return m}else if(m.tag===19&&m.memoizedProps.revealOrder!==void 0){if((m.effectTag&64)!=0)return m}else if(m.child!==null){m.child.return=m,m=m.child;continue}if(m===v)break;for(;m.sibling===null;){if(m.return===null||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}return null}function Xe(v,m){return{responder:v,props:m}}var rt=C.ReactCurrentDispatcher,st=C.ReactCurrentBatchConfig,xt=0,wt=null,lt=null,Rt=null,yn=null,sn=null,ar=null,rn=0,Hn=null,d0=0,Cr=!1,He=null,Qe=0;function Ne(){throw Error(t(321))}function ft(v,m){if(m===null)return!1;for(var S=0;Srn&&(rn=In,pf(rn))):(Yf(In,Ze.suspenseConfig),b=Ze.eagerReducer===v?Ze.eagerState:v(b,Ze.action)),ee=Ze,Ze=Ze.next}while(Ze!==null&&Ze!==O);ut||(Ye=ee,M=b),Sn(b,m.memoizedState)||(ai=!0),m.memoizedState=b,m.baseUpdate=Ye,m.baseState=M,S.lastRenderedState=b}return[m.memoizedState,S.dispatch]}function ci(v){var m=Cn();return typeof v=="function"&&(v=v()),m.memoizedState=m.baseState=v,v=m.queue={last:null,dispatch:null,lastRenderedReducer:p0,lastRenderedState:v},v=v.dispatch=Us.bind(null,wt,v),[m.memoizedState,v]}function xi(v){return h0(p0,v)}function E0(v,m,S,O){return v={tag:v,create:m,destroy:S,deps:O,next:null},Hn===null?(Hn={lastEffect:null},Hn.lastEffect=v.next=v):(m=Hn.lastEffect,m===null?Hn.lastEffect=v.next=v:(S=m.next,m.next=v,v.next=S,Hn.lastEffect=v)),v}function qr(v,m,S,O){var M=Cn();d0|=v,M.memoizedState=E0(m,S,void 0,O===void 0?null:O)}function Eo(v,m,S,O){var M=bn();O=O===void 0?null:O;var b=void 0;if(lt!==null){var ee=lt.memoizedState;if(b=ee.destroy,O!==null&&ft(O,ee.deps)){E0(0,S,b,O);return}}d0|=v,M.memoizedState=E0(m,S,b,O)}function So(v,m){return qr(516,192,v,m)}function wl(v,m){return Eo(516,192,v,m)}function js(v,m){if(typeof m=="function")return v=v(),m(v),function(){m(null)};if(m!=null)return v=v(),m.current=v,function(){m.current=null}}function Dl(){}function du(v,m){return Cn().memoizedState=[v,m===void 0?null:m],v}function Yu(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(S.memoizedState=[v,m],v)}function Us(v,m,S){if(!(25>Qe))throw Error(t(301));var O=v.alternate;if(v===wt||O!==null&&O===wt)if(Cr=!0,v={expirationTime:xt,suspenseConfig:null,action:S,eagerReducer:null,eagerState:null,next:null},He===null&&(He=new Map),S=He.get(m),S===void 0)He.set(m,v);else{for(m=S;m.next!==null;)m=m.next;m.next=v}else{var M=g0(),b=nr.suspense;M=Kr(M,v,b),b={expirationTime:M,suspenseConfig:b,action:S,eagerReducer:null,eagerState:null,next:null};var ee=m.last;if(ee===null)b.next=b;else{var Ye=ee.next;Ye!==null&&(b.next=Ye),ee.next=b}if(m.last=b,v.expirationTime===0&&(O===null||O.expirationTime===0)&&(O=m.lastRenderedReducer,O!==null))try{var Ze=m.lastRenderedState,ut=O(Ze,S);if(b.eagerReducer=O,b.eagerState=ut,Sn(ut,Ze))return}catch(In){}finally{}_0(v,M)}}var oo={readContext:D0,useCallback:Ne,useContext:Ne,useEffect:Ne,useImperativeHandle:Ne,useLayoutEffect:Ne,useMemo:Ne,useReducer:Ne,useRef:Ne,useState:Ne,useDebugValue:Ne,useResponder:Ne,useDeferredValue:Ne,useTransition:Ne},Hi={readContext:D0,useCallback:du,useContext:D0,useEffect:So,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,qr(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return qr(4,36,v,m)},useMemo:function(v,m){var S=Cn();return m=m===void 0?null:m,v=v(),S.memoizedState=[v,m],v},useReducer:function(v,m,S){var O=Cn();return m=S!==void 0?S(m):m,O.memoizedState=O.baseState=m,v=O.queue={last:null,dispatch:null,lastRenderedReducer:v,lastRenderedState:m},v=v.dispatch=Us.bind(null,wt,v),[O.memoizedState,v]},useRef:function(v){var m=Cn();return v={current:v},m.memoizedState=v},useState:ci,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=ci(v),O=S[0],M=S[1];return So(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=ci(!1),S=m[0],O=m[1];return[du(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},qs={readContext:D0,useCallback:Yu,useContext:D0,useEffect:wl,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,Eo(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return Eo(4,36,v,m)},useMemo:function(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(v=v(),S.memoizedState=[v,m],v)},useReducer:h0,useRef:function(){return bn().memoizedState},useState:xi,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=xi(v),O=S[0],M=S[1];return wl(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=xi(!1),S=m[0],O=m[1];return[Yu(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},F0=null,Gr=null,ir=!1;function L0(v,m){var S=xo(5,null,null,0);S.elementType="DELETED",S.type="DELETED",S.stateNode=m,S.return=v,S.effectTag=8,v.lastEffect!==null?(v.lastEffect.nextEffect=S,v.lastEffect=S):v.firstEffect=v.lastEffect=S}function Y0(v,m){switch(v.tag){case 5:return m=Ti(m,v.type,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 6:return m=Fu(m,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 13:return!1;default:return!1}}function Co(v){if(ir){var m=Gr;if(m){var S=m;if(!Y0(v,m)){if(m=cl(S),!m||!Y0(v,m)){v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v;return}L0(F0,S)}F0=v,Gr=al(m)}else v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v}}function $u(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;F0=v}function Vo(v){if(!w||v!==F0)return!1;if(!ir)return $u(v),ir=!0,!1;var m=v.type;if(v.tag!==5||m!=="head"&&m!=="body"&&!at(m,v.memoizedProps))for(m=Gr;m;)L0(v,m),m=cl(m);if($u(v),v.tag===13){if(!w)throw Error(t(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(t(317));Gr=Ac(v)}else Gr=F0?cl(v.stateNode):null;return!0}function Rr(){w&&(Gr=F0=null,ir=!1)}var Jn=C.ReactCurrentOwner,ai=!1;function o0(v,m,S,O){m.child=v===null?U(m,null,S,O):R(m,v.child,S,O)}function Vr(v,m,S,O,M){S=S.render;var b=m.ref;return io(m,M),O=St(v,m,S,O,b,M),v!==null&&!ai?(m.updateQueue=v.updateQueue,m.effectTag&=-517,v.expirationTime<=M&&(v.expirationTime=0),X0(v,m,M)):(m.effectTag|=1,o0(v,m,O,M),m.child)}function ff(v,m,S,O,M,b){if(v===null){var ee=S.type;return typeof ee=="function"&&!mf(ee)&&ee.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(m.tag=15,m.type=ee,cf(v,m,ee,O,M,b)):(v=Hs(S.type,null,O,null,m.mode,b),v.ref=m.ref,v.return=m,m.child=v)}return ee=v.child,Mm)&&Qn.set(v,m)))}}function Gi(v,m){v.expirationTimev?m:v)}function x0(v){if(v.lastExpiredTime!==0)v.callbackExpirationTime=1073741823,v.callbackPriority=99,v.callbackNode=Ho(Z0.bind(null,v));else{var m=fo(v),S=v.callbackNode;if(m===0)S!==null&&(v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90);else{var O=g0();if(m===1073741823?O=99:m===1||m===2?O=95:(O=10*(1073741821-m)-10*(1073741821-O),O=0>=O?99:250>=O?98:5250>=O?97:95),S!==null){var M=v.callbackPriority;if(v.callbackExpirationTime===m&&M>=O)return;S!==ju&&uf(S)}v.callbackExpirationTime=m,v.callbackPriority=O,m=m===1073741823?Ho(Z0.bind(null,v)):lu(O,Xu.bind(null,v),{timeout:10*(1073741821-m)-G0()}),v.callbackNode=m}}}function Xu(v,m){if(t0=0,m)return m=g0(),kl(v,m),x0(v),null;var S=fo(v);if(S!==0){if(m=v.callbackNode,(Kt&(Br|zr))!==Fn)throw Error(t(327));if(Ws(),v===X&&S===ye||mu(v,S),Y!==null){var O=Kt;Kt|=Br;var M=ei(v);do try{Ua();break}catch(Ye){Ju(v,Ye)}while(1);if(Wu(),Kt=O,B0.current=M,he===wr)throw m=We,mu(v,S),ao(v,S),x0(v),m;if(Y===null)switch(M=v.finishedWork=v.current.alternate,v.finishedExpirationTime=S,O=he,X=null,O){case lo:case wr:throw Error(t(345));case kn:kl(v,2=S){v.lastPingedTime=S,mu(v,S);break}}if(b=fo(v),b!==0&&b!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}v.timeoutHandle=jt(gu.bind(null,v),M);break}gu(v);break;case hi:if(ao(v,S),O=v.lastSuspendedTime,S===O&&(v.nextKnownPendingLevel=$f(M)),qt&&(M=v.lastPingedTime,M===0||M>=S)){v.lastPingedTime=S,mu(v,S);break}if(M=fo(v),M!==0&&M!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}if(Dt!==1073741823?O=10*(1073741821-Dt)-G0():et===1073741823?O=0:(O=10*(1073741821-et)-5e3,M=G0(),S=10*(1073741821-S)-M,O=M-O,0>O&&(O=0),O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*Cl(O/1960))-O,S=O?O=0:(M=ee.busyDelayMs|0,b=G0()-(10*(1073741821-b)-(ee.timeoutMs|0||5e3)),O=b<=M?0:M+O-b),10 component higher in the tree to provide a loading indicator or placeholder to display.`+dl(M))}he!==Ai&&(he=kn),b=zs(b,M),Ze=O;do{switch(Ze.tag){case 3:ee=b,Ze.effectTag|=4096,Ze.expirationTime=m;var Ce=pu(Ze,ee,m);bu(Ze,Ce);break e;case 1:ee=b;var ze=Ze.type,Et=Ze.stateNode;if((Ze.effectTag&64)==0&&(typeof ze.getDerivedStateFromError=="function"||Et!==null&&typeof Et.componentDidCatch=="function"&&(Ar===null||!Ar.has(Et)))){Ze.effectTag|=4096,Ze.expirationTime=m;var on=Sl(Ze,ee,m);bu(Ze,on);break e}}Ze=Ze.return}while(Ze!==null)}Y=vu(Y)}catch(sr){m=sr;continue}break}while(1)}function ei(){var v=B0.current;return B0.current=oo,v===null?oo:v}function Yf(v,m){vZt&&(Zt=v)}function ja(){for(;Y!==null;)Y=Ic(Y)}function Ua(){for(;Y!==null&&!_n();)Y=Ic(Y)}function Ic(v){var m=Lc(v.alternate,v,ye);return v.memoizedProps=v.pendingProps,m===null&&(m=vu(v)),hu.current=null,m}function vu(v){Y=v;do{var m=Y.alternate;if(v=Y.return,(Y.effectTag&2048)==0){e:{var S=m;m=Y;var O=ye,M=m.pendingProps;switch(m.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:c0(m.type)&&Ru(m);break;case 3:Fe(m),ks(m),M=m.stateNode,M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(S===null||S.child===null)&&Vo(m)&&ki(m),$r(m);break;case 5:K(m);var b=W(de.current);if(O=m.type,S!==null&&m.stateNode!=null)m0(S,m,O,M,b),S.ref!==m.ref&&(m.effectTag|=128);else if(M){if(S=W(fe.current),Vo(m)){if(M=m,!w)throw Error(t(175));S=Ui(M.stateNode,M.type,M.memoizedProps,b,S,M),M.updateQueue=S,S=S!==null,S&&ki(m)}else{var ee=ne(O,M,b,S,m);Yr(ee,m,!1,!1),m.stateNode=ee,Z(ee,O,M,b,S)&&ki(m)}m.ref!==null&&(m.effectTag|=128)}else if(m.stateNode===null)throw Error(t(166));break;case 6:if(S&&m.stateNode!=null)Tn(S,m,S.memoizedProps,M);else{if(typeof M!="string"&&m.stateNode===null)throw Error(t(166));if(S=W(de.current),b=W(fe.current),Vo(m)){if(S=m,!w)throw Error(t(176));(S=Mr(S.stateNode,S.memoizedProps,S))&&ki(m)}else m.stateNode=Ft(M,S,b,m)}break;case 11:break;case 13:if(kr(xe,m),M=m.memoizedState,(m.effectTag&64)!=0){m.expirationTime=O;break e}M=M!==null,b=!1,S===null?m.memoizedProps.fallback!==void 0&&Vo(m):(O=S.memoizedState,b=O!==null,M||O===null||(O=S.child.sibling,O!==null&&(ee=m.firstEffect,ee!==null?(m.firstEffect=O,O.nextEffect=ee):(m.firstEffect=m.lastEffect=O,O.nextEffect=null),O.effectTag=8))),M&&!b&&(m.mode&2)!=0&&(S===null&&m.memoizedProps.unstable_avoidThisFallback!==!0||(xe.current&1)!=0?he===lo&&(he=T0):((he===lo||he===T0)&&(he=hi),Zt!==0&&X!==null&&(ao(X,ye),$o(X,Zt)))),cr&&M&&(m.effectTag|=4),Yt&&(M||b)&&(m.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Fe(m),$r(m);break;case 10:fi(m);break;case 9:break;case 14:break;case 17:c0(m.type)&&Ru(m);break;case 19:if(kr(xe,m),M=m.memoizedState,M===null)break;if(b=(m.effectTag&64)!=0,ee=M.rendering,ee===null){if(b)bi(M,!1);else if(he!==lo||S!==null&&(S.effectTag&64)!=0)for(S=m.child;S!==null;){if(ee=je(S),ee!==null){for(m.effectTag|=64,bi(M,!1),S=ee.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),M.lastEffect===null&&(m.firstEffect=null),m.lastEffect=M.lastEffect,S=O,M=m.child;M!==null;)b=M,O=S,b.effectTag&=2,b.nextEffect=null,b.firstEffect=null,b.lastEffect=null,ee=b.alternate,ee===null?(b.childExpirationTime=0,b.expirationTime=O,b.child=null,b.memoizedProps=null,b.memoizedState=null,b.updateQueue=null,b.dependencies=null):(b.childExpirationTime=ee.childExpirationTime,b.expirationTime=ee.expirationTime,b.child=ee.child,b.memoizedProps=ee.memoizedProps,b.memoizedState=ee.memoizedState,b.updateQueue=ee.updateQueue,O=ee.dependencies,b.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders}),M=M.sibling;Fr(xe,xe.current&1|2,m),m=m.child;break e}S=S.sibling}}else{if(!b)if(S=je(ee),S!==null){if(m.effectTag|=64,b=!0,S=S.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),bi(M,!0),M.tail===null&&M.tailMode==="hidden"&&!ee.alternate){m=m.lastEffect=M.lastEffect,m!==null&&(m.nextEffect=null);break}}else G0()>M.tailExpiration&&1M&&(M=O),ee>M&&(M=ee),b=b.sibling;S.childExpirationTime=M}if(m!==null)return m;v!==null&&(v.effectTag&2048)==0&&(v.firstEffect===null&&(v.firstEffect=Y.firstEffect),Y.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=Y.firstEffect),v.lastEffect=Y.lastEffect),1v?m:v}function gu(v){var m=Fs();return zi(99,co.bind(null,v,m)),null}function co(v,m){do Ws();while(dr!==null);if((Kt&(Br|zr))!==Fn)throw Error(t(327));var S=v.finishedWork,O=v.finishedExpirationTime;if(S===null)return null;if(v.finishedWork=null,v.finishedExpirationTime=0,S===v.current)throw Error(t(177));v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90,v.nextKnownPendingLevel=0;var M=$f(S);if(v.firstPendingTime=M,O<=v.lastSuspendedTime?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:O<=v.firstSuspendedTime&&(v.firstSuspendedTime=O-1),O<=v.lastPingedTime&&(v.lastPingedTime=0),O<=v.lastExpiredTime&&(v.lastExpiredTime=0),v===X&&(Y=X=null,ye=0),1=S?mt(v,m,S):(Fr(xe,xe.current&1,m),m=X0(v,m,S),m!==null?m.sibling:null);Fr(xe,xe.current&1,m);break;case 19:if(O=m.childExpirationTime>=S,(v.effectTag&64)!=0){if(O)return $t(v,m,S);m.effectTag|=64}if(M=m.memoizedState,M!==null&&(M.rendering=null,M.tail=null),Fr(xe,xe.current,m),!O)return null}return X0(v,m,S)}ai=!1}}else ai=!1;switch(m.expirationTime=0,m.tag){case 2:if(O=m.type,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,M=Lu(m,H0.current),io(m,S),M=St(null,m,O,v,M,S),m.effectTag|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0){if(m.tag=1,Qt(),c0(O)){var b=!0;wo(m)}else b=!1;m.memoizedState=M.state!==null&&M.state!==void 0?M.state:null;var ee=O.getDerivedStateFromProps;typeof ee=="function"&&Go(m,O,ee,v),M.updater=Gu,m.stateNode=M,M._reactInternalFiber=m,Vu(m,O,v,S),m=Be(null,m,O,!0,b,S)}else m.tag=0,o0(null,m,M,S),m=m.child;return m;case 16:if(M=m.elementType,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,Te(M),M._status!==1)throw M._result;switch(M=M._result,m.type=M,b=m.tag=Wa(M),v=I0(M,v),b){case 0:m=K0(null,m,M,v,S);break;case 1:m=ae(null,m,M,v,S);break;case 11:m=Vr(null,m,M,v,S);break;case 14:m=ff(null,m,M,I0(M.type,v),O,S);break;default:throw Error(t(306,M,""))}return m;case 0:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),K0(v,m,O,M,S);case 1:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),ae(v,m,O,M,S);case 3:if(Ie(m),O=m.updateQueue,O===null)throw Error(t(282));if(M=m.memoizedState,M=M!==null?M.element:null,P0(m,O,m.pendingProps,null,S),O=m.memoizedState.element,O===M)Rr(),m=X0(v,m,S);else{if((M=m.stateNode.hydrate)&&(w?(Gr=al(m.stateNode.containerInfo),F0=m,M=ir=!0):M=!1),M)for(S=U(m,null,O,S),m.child=S;S;)S.effectTag=S.effectTag&-3|1024,S=S.sibling;else o0(v,m,O,S),Rr();m=m.child}return m;case 5:return Ge(m),v===null&&Co(m),O=m.type,M=m.pendingProps,b=v!==null?v.memoizedProps:null,ee=M.children,at(O,M)?ee=null:b!==null&&at(O,b)&&(m.effectTag|=16),$0(v,m),m.mode&4&&S!==1&&it(O,M)?(m.expirationTime=m.childExpirationTime=1,m=null):(o0(v,m,ee,S),m=m.child),m;case 6:return v===null&&Co(m),null;case 13:return mt(v,m,S);case 4:return ve(m,m.stateNode.containerInfo),O=m.pendingProps,v===null?m.child=R(m,null,O,S):o0(v,m,O,S),m.child;case 11:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),Vr(v,m,O,M,S);case 7:return o0(v,m,m.pendingProps,S),m.child;case 8:return o0(v,m,m.pendingProps.children,S),m.child;case 12:return o0(v,m,m.pendingProps.children,S),m.child;case 10:e:{if(O=m.type._context,M=m.pendingProps,ee=m.memoizedProps,b=M.value,Ls(m,b),ee!==null){var Ye=ee.value;if(b=Sn(Ye,b)?0:(typeof O._calculateChangedBits=="function"?O._calculateChangedBits(Ye,b):1073741823)|0,b===0){if(ee.children===M.children&&!b0.current){m=X0(v,m,S);break e}}else for(Ye=m.child,Ye!==null&&(Ye.return=m);Ye!==null;){var Ze=Ye.dependencies;if(Ze!==null){ee=Ye.child;for(var ut=Ze.firstContext;ut!==null;){if(ut.context===O&&(ut.observedBits&b)!=0){Ye.tag===1&&(ut=a0(S,null),ut.tag=2,V0(Ye,ut)),Ye.expirationTime=m&&v<=m}function ao(v,m){var S=v.firstSuspendedTime,O=v.lastSuspendedTime;Sm||S===0)&&(v.lastSuspendedTime=m),m<=v.lastPingedTime&&(v.lastPingedTime=0),m<=v.lastExpiredTime&&(v.lastExpiredTime=0)}function $o(v,m){m>v.firstPendingTime&&(v.firstPendingTime=m);var S=v.firstSuspendedTime;S!==0&&(m>=S?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:m>=v.lastSuspendedTime&&(v.lastSuspendedTime=m+1),m>v.nextKnownPendingLevel&&(v.nextKnownPendingLevel=m))}function kl(v,m){var S=v.lastExpiredTime;(S===0||S>m)&&(v.lastExpiredTime=m)}function Nc(v){var m=v._reactInternalFiber;if(m===void 0)throw typeof v.render=="function"?Error(t(188)):Error(t(268,Object.keys(v)));return v=Ue(m),v===null?null:v.stateNode}function Al(v,m){v=v.memoizedState,v!==null&&v.dehydrated!==null&&v.retryTime{"use strict";sE.exports=uE()});var cE=Me((db,fE)=>{"use strict";var gN={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};fE.exports=gN});var hE=Me((pb,aE)=>{"use strict";var _N=Object.assign||function(i){for(var u=1;u"}}]),i}(),dE=function(){Ph(i,null,[{key:"fromJS",value:function(f){var c=f.width,g=f.height;return new i(c,g)}}]);function i(u,f){Iy(this,i),this.width=u,this.height=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),pE=function(){function i(u,f){Iy(this,i),this.unit=u,this.value=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ps.UNIT_POINT:return String(this.value);case ps.UNIT_PERCENT:return this.value+"%";case ps.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();aE.exports=function(i,u){function f(C,A,x){var D=C[A];C[A]=function(){for(var L=arguments.length,N=Array(L),j=0;j1?N-1:0),$=1;$1&&arguments[1]!==void 0?arguments[1]:NaN,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ps.DIRECTION_LTR;return C.call(this,A,x,D)}),_N({Config:u.Config,Node:u.Node,Layout:i("Layout",yN),Size:i("Size",dE),Value:i("Value",pE),getInstanceCount:function(){return u.getInstanceCount.apply(u,arguments)}},ps)}});var mE=Me((exports,module)=>{(function(i,u){typeof define=="function"&&define.amd?define([],function(){return u}):typeof module=="object"&&module.exports?module.exports=u:(i.nbind=i.nbind||{}).init=u})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,u){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){u(f);return}u(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(u,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),u=nodePath.normalize(u);var c=nodeFS.readFileSync(u);return f?c:c.toString()},Module.readBinary=function(u){var f=Module.read(u,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(u){globalEval(read(u))},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(u){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(u));var f=read(u,"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,u){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(u,f,c){var g=new XMLHttpRequest;g.open("GET",u,!0),g.responseType="arraybuffer",g.onload=function(){g.status==200||g.status==0&&g.response?f(g.response):c()},g.onerror=c,g.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(u){console.log(u)}),Module.printErr||(Module.printErr=function(u){console.warn(u)});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(u){globalEval(Module.read(u))}),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,u){throw u}),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 u=parseInt(i.substr(1));return assert(u%8==0),u/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,u){return u==="double"||u==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,u,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(u||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(u,8)},dynCall:function(i,u,f){return f&&f.length?Module["dynCall_"+i].apply(null,[u].concat(f)):Module["dynCall_"+i].call(null,u)},functionPointers:[],addFunction:function(i){for(var u=0;u>2],f=(u+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var c=enlargeMemory();if(!c)return HEAP32[DYNAMICTOP_PTR>>2]=u,0}return u},alignMemory:function(i,u){var f=i=Math.ceil(i/(u||16))*(u||16);return f},makeBigInt:function(i,u,f){var c=f?+(i>>>0)+ +(u>>>0)*4294967296:+(i>>>0)+ +(u|0)*4294967296;return c},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,u){i||abort("Assertion failed: "+u)}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 u=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,u),u},stringToC:function(i){var u=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;u=Runtime.stackAlloc(f),stringToUTF8(i,u,f)}return u}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(u,f,c,g,t){var C=getCFunc(u),A=[],x=0;if(g)for(var D=0;D>0]=u;break;case"i8":HEAP8[i>>0]=u;break;case"i16":HEAP16[i>>1]=u;break;case"i32":HEAP32[i>>2]=u;break;case"i64":tempI64=[u>>>0,(tempDouble=u,+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]=u;break;case"double":HEAPF64[i>>3]=u;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u="i32"),u){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: "+u)}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,u,f,c){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t=i.length);var C=typeof u=="string"?u:null,A;if(f==ALLOC_NONE?A=c:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,C?1:u.length)),g){var c=A,x;for(assert((A&3)==0),x=A+(t&~3);c>2]=0;for(x=A+t;c>0]=0;return A}if(C==="i8")return i.subarray||i.slice?HEAPU8.set(i,A):HEAPU8.set(new Uint8Array(i),A),A;for(var D=0,L,N,j;D>0],f|=c,!(c==0&&!u||(g++,u&&g==u)););u||(u=g);var t="";if(f<128){for(var C=1024,A;u>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(u,C))),t=t?t+A:A,i+=C,u-=C;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)return u;u+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(u,f));for(var c,g,t,C,A,x,D="";;){if(c=i[u++],!c)return D;if(!(c&128)){D+=String.fromCharCode(c);continue}if(g=i[u++]&63,(c&224)==192){D+=String.fromCharCode((c&31)<<6|g);continue}if(t=i[u++]&63,(c&240)==224?c=(c&15)<<12|g<<6|t:(C=i[u++]&63,(c&248)==240?c=(c&7)<<18|g<<12|t<<6|C:(A=i[u++]&63,(c&252)==248?c=(c&3)<<24|g<<18|t<<12|C<<6|A:(x=i[u++]&63,c=(c&1)<<30|g<<24|t<<18|C<<12|A<<6|x))),c<65536)D+=String.fromCharCode(c);else{var L=c-65536;D+=String.fromCharCode(55296|L>>10,56320|L&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,u,f,c){if(!(c>0))return 0;for(var g=f,t=f+c-1,C=0;C=55296&&A<=57343&&(A=65536+((A&1023)<<10)|i.charCodeAt(++C)&1023),A<=127){if(f>=t)break;u[f++]=A}else if(A<=2047){if(f+1>=t)break;u[f++]=192|A>>6,u[f++]=128|A&63}else if(A<=65535){if(f+2>=t)break;u[f++]=224|A>>12,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=2097151){if(f+3>=t)break;u[f++]=240|A>>18,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=67108863){if(f+4>=t)break;u[f++]=248|A>>24,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else{if(f+5>=t)break;u[f++]=252|A>>30,u[f++]=128|A>>24&63,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}}return u[f]=0,f-g}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var u=0,f=0;f=55296&&c<=57343&&(c=65536+((c&1023)<<10)|i.charCodeAt(++f)&1023),c<=127?++u:c<=2047?u+=2:c<=65535?u+=3:c<=2097151?u+=4:c<=67108863?u+=5:u+=6}return u}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle;if(u){try{var f=i.substr(1),c=lengthBytesUTF8(f)+1,g=_malloc(c);stringToUTF8(f,g,c);var t=_malloc(4),C=u(g,0,0,t);if(getValue(t,"i32")===0&&C)return Pointer_stringify(C)}catch(A){}finally{g&&_free(g),t&&_free(t),C&&_free(C)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function(f){var c=demangle(f);return f===c?f:f+" ["+c+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(u){i=u}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 u=i.shift();if(typeof u=="function"){u();continue}var f=u.func;typeof f=="number"?u.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,u.arg):f(u.arg===void 0?null:u.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,u,f){var c=f>0?f:lengthBytesUTF8(i)+1,g=new Array(c),t=stringToUTF8Array(i,g,0,g.length);return u&&(g.length=t),g}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var u=[],f=0;f255&&(c&=255),u.push(String.fromCharCode(c))}return u.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var c,g;f&&(g=u+lengthBytesUTF8(i),c=HEAP8[g]),stringToUTF8(i,u,Infinity),f&&(HEAP8[g]=c)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,u){HEAP8.set(i,u)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,u,f){for(var c=0;c>0]=i.charCodeAt(c);f||(HEAP8[u>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(u,f){var c=u>>>16,g=u&65535,t=f>>>16,C=f&65535;return g*C+(c*C+g*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 u=0;u<32;u++)if(i&1<<31-u)return u;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 u=dependenciesFulfilled;dependenciesFulfilled=null,u()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,u,f,c,g,t,C,A){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,u,f,c,g,t,C,A){return ASM_CONSTS[i](u,f,c,g,t,C,A)}function _emscripten_asm_const_iiiii(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiidddddd(i,u,f,c,g,t,C,A,x){return ASM_CONSTS[i](u,f,c,g,t,C,A,x)}function _emscripten_asm_const_iiididi(i,u,f,c,g,t,C){return ASM_CONSTS[i](u,f,c,g,t,C)}function _emscripten_asm_const_iiii(i,u,f,c){return ASM_CONSTS[i](u,f,c)}function _emscripten_asm_const_iiiid(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiiiii(i,u,f,c,g,t){return ASM_CONSTS[i](u,f,c,g,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,u){__ATEXIT__.unshift({func:i,arg:u})}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,u,f,c){var g=arguments.length,t=g<3?u:c===null?c=Object.getOwnPropertyDescriptor(u,f):c,C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,u,f,c);else for(var A=i.length-1;A>=0;A--)(C=i[A])&&(t=(g<3?C(t):g>3?C(u,f,t):C(u,f))||t);return g>3&&t&&Object.defineProperty(u,f,t),t}function _defineHidden(i){return function(u,f){Object.defineProperty(u,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 u=_llvm_stacksave,f=u.LLVM_SAVEDSTACKS[i];u.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,u,f,c){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=u/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=c/4,HEAP32[u/4]=16909060,HEAP8[u]==1&&(_nbind.bigEndian=!0),HEAP32[u/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 g=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});g.proto=Module,_nbind.BindClass.list.push(g);var t}function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=u,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var C=Math.max(0,Browser.mainLoop.tickStartTime+u-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,C)},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(C){C.source===window&&C.data===c&&(C.stopPropagation(),f.shift()())};var g=t,f=[],c="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(A){f.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:c})):window.postMessage(c,"*")}}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,u,f,c,g){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=c;var t;typeof c!="undefined"?t=function(){Module.dynCall_vi(i,c)}:t=function(){Module.dynCall_v(i)};var C=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var x=Date.now(),D=Browser.mainLoop.queue.shift();if(D.func(D.arg),Browser.mainLoop.remainingBlockers){var L=Browser.mainLoop.remainingBlockers,N=L%1==0?L-1:Math.floor(L);D.counted?Browser.mainLoop.remainingBlockers=N:(N=N+.5,Browser.mainLoop.remainingBlockers=(8*L+N)/9)}if(console.log('main loop blocker "'+D.name+'" took '+(Date.now()-x)+" ms"),Browser.mainLoop.updateStatus(),C1&&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),!(C0?_emscripten_set_main_loop_timing(0,1e3/u):_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,u=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,u),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",u=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;u?u=6;){var Le=J>>Te-6&63;Te-=6,De+=Se[Le]}return Te==2?(De+=Se[(J&3)<<4],De+=me+me):Te==4&&(De+=Se[(J&15)<<2],De+=me),De}h.src="data:audio/x-"+C.substr(-3)+";base64,"+Q(t),L(h)},h.src=$,Browser.safeSetTimeout(function(){L(h)},1e4)}else return N()},Module.preloadPlugins.push(u);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var c=Module.canvas;c&&(c.requestPointerLock=c.requestPointerLock||c.mozRequestPointerLock||c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.exitPointerLock=c.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&&c.addEventListener("click",function(g){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),g.preventDefault())},!1))},createContext:function(i,u,f,c){if(u&&Module.ctx&&i==Module.canvas)return Module.ctx;var g,t;if(u){var C={antialias:!1,alpha:!1};if(c)for(var A in c)C[A]=c[A];t=GL.createContext(i,C),t&&(g=GL.getContext(t).GLctx)}else g=i.getContext("2d");return g?(f&&(u||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=g,u&&GL.makeContextCurrent(t),Module.useWebGL=u,Browser.moduleContextCreatedCallbacks.forEach(function(x){x()}),Browser.init()),g):null},destroyContext:function(i,u,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,u,f){Browser.lockPointer=i,Browser.resizeCanvas=u,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 c=Module.canvas;function g(){Browser.isFullscreen=!1;var C=c.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===C?(c.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},c.exitFullscreen=c.exitFullscreen.bind(document),Browser.lockPointer&&c.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(C.parentNode.insertBefore(c,C),C.parentNode.removeChild(C),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(c)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",g,!1),document.addEventListener("mozfullscreenchange",g,!1),document.addEventListener("webkitfullscreenchange",g,!1),document.addEventListener("MSFullscreenChange",g,!1));var t=document.createElement("div");c.parentNode.insertBefore(t,c),t.appendChild(c),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,u,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(c,g,t){return Browser.requestFullscreen(c,g,t)},Browser.requestFullscreen(i,u,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var u=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=u+1e3/60;else for(;u+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-u,0);setTimeout(i,f)},requestAnimationFrame:function(u){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(u):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(u))},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(u){u()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,u){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},u)},safeSetInterval:function(i,u){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},u)},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 u=0;switch(i.type){case"DOMMouseScroll":u=i.detail;break;case"mousewheel":u=i.wheelDelta;break;case"wheel":u=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return u},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 u=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,c=Module.canvas.height,g=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 C=i.touch;if(C===void 0)return;var A=C.pageX-(g+u.left),x=C.pageY-(t+u.top);A=A*(f/u.width),x=x*(c/u.height);var D={x:A,y:x};if(i.type==="touchstart")Browser.lastTouches[C.identifier]=D,Browser.touches[C.identifier]=D;else if(i.type==="touchend"||i.type==="touchmove"){var L=Browser.touches[C.identifier];L||(L=D),Browser.lastTouches[C.identifier]=L,Browser.touches[C.identifier]=D}return}var N=i.pageX-(g+u.left),j=i.pageY-(t+u.top);N=N*(f/u.width),j=j*(c/u.height),Browser.mouseMovementX=N-Browser.mouseX,Browser.mouseMovementY=j-Browser.mouseY,Browser.mouseX=N,Browser.mouseY=j}},asyncLoad:function(i,u,f,c){var g=c?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),g&&removeRunDependency(g)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),g&&addRunDependency(g)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(u){u(i.width,i.height)})},setCanvasSize:function(i,u,f){var c=Module.canvas;Browser.updateCanvasDimensions(c,i,u),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,u,f){u&&f?(i.widthNative=u,i.heightNative=f):(u=i.widthNative,f=i.heightNative);var c=u,g=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(c/g>2];return u},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),u=SYSCALLS.get();return i>=0?assert(u===0):assert(u===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(c){return(typeof FS=="undefined"||!(c instanceof FS.ErrnoError))&&abort(c),-c.errno}}function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var u=[[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(x,D,L,N,j,$){if(D==1){var h=N&896;(h==128||h==256||h==384)&&(x="X const")}var re;return $?re=L.replace("X",x).replace("Y",j):re=x.replace("X",L).replace("Y",j),re.replace(/([*&]) (?=[*&])/g,"$1")}function c(x,D,L,N,j){throw new Error(x+" type "+L.replace("X",D+"?")+(N?" with flag "+N:"")+" in "+j)}function g(x,D,L,N,j,$,h,re){$===void 0&&($="X"),re===void 0&&(re=1);var ce=L(x);if(ce)return ce;var Q=N(x),oe=Q.placeholderFlag,Se=u[oe];h&&Se&&($=f(h[2],h[0],$,Se[0],"?",!0));var me;oe==0&&(me="Unbound"),oe>=10&&(me="Corrupt"),re>20&&(me="Deeply nested"),me&&c(me,x,$,oe,j||"?");var De=Q.paramList[0],J=g(De,D,L,N,j,$,Se,re+1),Te,Oe={flags:Se[0],id:x,name:"",paramList:[J]},Le=[],ot="?";switch(Q.placeholderFlag){case 1:Te=J.spec;break;case 2:if((J.flags&15360)==1024&&J.spec.ptrSize==1){Oe.flags=7168;break}case 3:case 6:case 5:Te=J.spec,(J.flags&15360)!=2048;break;case 8:ot=""+Q.paramList[1],Oe.paramList.push(Q.paramList[1]);break;case 9:for(var ct=0,Ue=Q.paramList[1];ct>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,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=SYSCALLS.get(),C=SYSCALLS.get(),A=g;return FS.llseek(f,A,C),HEAP32[t>>2]=f.position,f.getdents&&A===0&&C===0&&(f.getdents=null),0}catch(x){return(typeof FS=="undefined"||!(x instanceof FS.ErrnoError))&&abort(x),-x.errno}}function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(L,N){var j=___syscall146.buffers[L];assert(j),N===0||N===10?((L===1?Module.print:Module.printErr)(UTF8ArrayToString(j,0)),j.length=0):j.push(N)});for(var C=0;C>2],x=HEAP32[c+(C*8+4)>>2],D=0;Di.pageSize/2||u>i.pageSize-f){var c=_nbind.typeNameTbl.NBind.proto;return c.lalloc(u)}else return HEAPU32[i.usedPtr]=f+u,i.rootPtr+f},i.lreset=function(u,f){var c=HEAPU32[i.pagePtr];if(c){var g=_nbind.typeNameTbl.NBind.proto;g.lreset(u,f)}else HEAPU32[i.usedPtr]=u},i}();_nbind.Pool=Pool;function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],c=new f(u);return typeIdTbl[u.id]=c,_nbind.typeNameTbl[u.name]=c,c}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var c=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return u==9&&(c=[c[0],c.slice(1)]),{paramList:c,placeholderFlag:u}}_nbind.queryType=queryType;function getTypes(i,u){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,u):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i/4,i/4+u)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,u-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;u[readAsciiString(f)]=!0,i+=4}return u}_nbind.readPolicyList=readPolicyList;function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},c=i.map(function(t){return f[t.name]||"i"}).join(""),g=Module["dynCall_"+c];if(!g)throw new Error("dynCall_"+c+" not found for "+u+"("+i.map(function(t){return t.name}).join(", ")+")");return g}_nbind.getDynCall=getDynCall;function addMethod(i,u,f,c){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity||g.arity===0)&&(g=_nbind.makeOverloader(g,g.arity),i[u]=g),g.addMethod(f,c)):(f.arity=c,i[u]=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(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return u.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},u.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},u}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(u,i);function u(f){var c=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return c.heap=g[f.ptrSize*8],c.ptrSize=f.ptrSize,c}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="number")return g;throw new Error("Type mismatch")}},u}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw new Error("Type mismatch")}if(u&&u.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,c=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,c,f),c}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(u,i);function u(){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 u.prototype.makeWireWrite=function(f,c){return function(g){return pushCString(g,c)}},u}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(c){return!!c},f}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireRead=function(f){return"!!("+f+")"},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="boolean")return g;throw new Error("Type mismatch")}||f},u}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,u){var f=function(c){__extends(g,c);function g(t,C,A,x){var D=c.call(this)||this;if(!(D instanceof g))return new(Function.prototype.bind.apply(g,Array.prototype.concat.apply([null],arguments)));var L=C,N=A,j=x;if(t!==_nbind.ptrMarker){var $=D.__nbindConstructor.apply(D,arguments);L=4096|512,j=HEAPU32[$/4],N=HEAPU32[$/4+1]}var h={configurable:!0,enumerable:!1,value:null,writable:!1},re={__nbindFlags:L,__nbindPtr:N};j&&(re.__nbindShared=j,_nbind.mark(D));for(var ce=0,Q=Object.keys(re);ce>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(u)return _nbind.popShared(i,u);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?C=Buffer.from(t):C=new Buffer(t),C.copy(c)}else getBuffer(c).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,u=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,u,f,c,g,t){try{Module.dynCall_viiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_fiff(i,u,f,c){try{return Module.dynCall_fiff(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,u,f,c,g){try{Module.dynCall_viddi(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,u,f,c){try{Module.dynCall_vidd(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_iiii(i,u,f,c){try{return Module.dynCall_iiii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_diii(i,u,f,c){try{return Module.dynCall_diii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiddi(i,u,f,c,g,t){try{Module.dynCall_viiddi(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiiiii(i,u,f,c,g,t,C){try{Module.dynCall_viiiiii(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_iiiiii(i,u,f,c,g,t){try{return Module.dynCall_iiiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiid(i,u,f,c,g){try{Module.dynCall_viiid(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,u,f,c,g,t,C){try{Module.dynCall_viififi(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(i,u,f,c){try{Module.dynCall_viii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viid(i,u,f,c){try{Module.dynCall_viid(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiii(i,u,f,c,g){try{Module.dynCall_viiii(i,u,f,c,g)}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,u,f){var c=new i.Int8Array(f),g=new i.Int16Array(f),t=new i.Int32Array(f),C=new i.Uint8Array(f),A=new i.Uint16Array(f),x=new i.Uint32Array(f),D=new i.Float32Array(f),L=new i.Float64Array(f),N=u.DYNAMICTOP_PTR|0,j=u.tempDoublePtr|0,$=u.ABORT|0,h=u.STACKTOP|0,re=u.STACK_MAX|0,ce=u.cttz_i8|0,Q=u.___dso_handle|0,oe=0,Se=0,me=0,De=0,J=i.NaN,Te=i.Infinity,Oe=0,Le=0,ot=0,ct=0,Ue=0,be=0,At=i.Math.floor,Ot=i.Math.abs,Nt=i.Math.sqrt,Je=i.Math.pow,V=i.Math.cos,ne=i.Math.sin,ge=i.Math.tan,Z=i.Math.acos,Ae=i.Math.asin,at=i.Math.atan,it=i.Math.atan2,Ft=i.Math.exp,jt=i.Math.log,hn=i.Math.ceil,Un=i.Math.imul,Jt=i.Math.min,Yt=i.Math.max,cr=i.Math.clz32,w=i.Math.fround,pt=u.abort,Mn=u.assert,Bn=u.enlargeMemory,Xn=u.getTotalMemory,vr=u.abortOnCannotGrowMemory,gr=u.invoke_viiiii,r0=u.invoke_vif,Ci=u.invoke_vid,yo=u.invoke_fiff,Ds=u.invoke_vi,Mu=u.invoke_vii,Gf=u.invoke_ii,iu=u.invoke_viddi,ou=u.invoke_vidd,ol=u.invoke_iiii,ul=u.invoke_diii,Es=u.invoke_di,Uo=u.invoke_iid,sl=u.invoke_iii,Ss=u.invoke_viiddi,Cs=u.invoke_viiiiii,Ti=u.invoke_dii,Fu=u.invoke_i,ll=u.invoke_iiiiii,fl=u.invoke_viiid,cl=u.invoke_viififi,al=u.invoke_viii,Ui=u.invoke_v,Mr=u.invoke_viid,Ac=u.invoke_idd,of=u.invoke_viiii,Ts=u._emscripten_asm_const_iiiii,xs=u._emscripten_asm_const_iiidddddd,dl=u._emscripten_asm_const_iiiid,qi=u.__nbind_reference_external,qo=u._emscripten_asm_const_iiiiiiii,kr=u._removeAccessorPrefix,Fr=u._typeModule,si=u.__nbind_register_pool,H0=u.__decorate,b0=u._llvm_stackrestore,Bt=u.___cxa_atexit,Lu=u.__extends,c0=u.__nbind_get_value_object,Ru=u.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,ks=u._emscripten_set_main_loop_timing,As=u.__nbind_register_primitive,uu=u.__nbind_register_type,wo=u._emscripten_memcpy_big,zo=u.__nbind_register_function,Os=u.___setErrNo,Is=u.__nbind_register_class,uf=u.__nbind_finish,_n=u._abort,Nu=u._nbind_value,Wo=u._llvm_stacksave,su=u.___syscall54,Ps=u._defineHidden,pl=u._emscripten_set_main_loop,Vf=u._emscripten_get_now,hl=u.__nbind_register_callback_signature,Bu=u._emscripten_asm_const_iiiiii,ju=u.__nbind_free_external,sf=u._emscripten_asm_const_iiii,ro=u._emscripten_asm_const_iiididi,Ms=u.___syscall6,ml=u._atexit,Uu=u.___syscall140,G0=u.___syscall146,Fs=w(0);let tt=w(0);function zi(e){e=e|0;var n=0;return n=h,h=h+e|0,h=h+15&-16,n|0}function lu(){return h|0}function Ho(e){e=e|0,h=e}function O0(e,n){e=e|0,n=n|0,h=e,re=n}function vl(e,n){e=e|0,n=n|0,oe||(oe=e,Se=n)}function gl(e){e=e|0,be=e}function fu(){return be|0}function _l(){var e=0,n=0;vn(8104,8,400)|0,vn(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));c[9088]=0,c[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Bt(17,8104,Q|0)|0}function Sn(e){e=e|0,lf(e+948|0)}function gt(e){return e=w(e),((Ar(e)|0)&2147483647)>>>0>2139095040|0}function en(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 I0(e){e=e|0;var n=0;return n=uh(1e3)|0,li(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,vn(n|0,8104,1e3)|0,c[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function li(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,zs(e,5,3197,o)),h=s}function qu(){return I0(956)|0}function Wi(e){e=e|0;var n=0;return n=Tt(1e3)|0,zu(n,e),li(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function zu(e,n){e=e|0,n=n|0;var r=0;vn(e|0,n|0,948)|0,af(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 Wu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Ls(r+948|0,e)|0,t[n>>2]=0),r=fi(e)|0,r|0){n=0;do t[(e0(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,o=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(o|0)&&(t[s>>2]=n+(~((n+-4-o|0)>>>2)<<2)),io(r),sh(e),t[2276]=(t[2276]|0)+-1}function Ls(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e+4|0,r=t[_>>2]|0,l=r;e:do if((o|0)==(r|0))s=o,d=4;else for(e=o;;){if((t[e>>2]|0)==(n|0)){s=e,d=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(d|0)==4&&((s|0)!=(r|0)?(o=s+4|0,e=l-o|0,n=e>>2,n&&(Y1(s|0,o|0,e|0)|0,r=t[_>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[_>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function fi(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function e0(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 io(e){e=e|0;var n=0,r=0,o=0,s=0;o=h,h=h+32|0,n=o,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,z(n,s,s,e+8|0),dr(e,n),Or(n)),h=o}function D0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;k=fi(e)|0;do if(k|0){if((t[(e0(e,0)|0)+944>>2]|0)==(e|0)){if(!(Ls(e+948|0,n)|0))break;vn(n+400|0,8504,540)|0,t[n+944>>2]=0,ln(e);break}d=t[(t[e+976>>2]|0)+12>>2]|0,_=e+948|0,y=(d|0)==0,r=0,l=0;do o=t[(t[_>>2]|0)+(l<<2)>>2]|0,(o|0)==(n|0)?ln(e):(s=Wi(o)|0,t[(t[_>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,y||Q4[d&15](o,s,e,r),r=r+1|0),l=l+1|0;while((l|0)!=(k|0));if(r>>>0>>0){y=e+948|0,_=e+952|0,d=r,r=t[_>>2]|0;do l=(t[y>>2]|0)+(d<<2)|0,o=l+4|0,s=r-o|0,n=s>>2,n&&(Y1(l|0,o|0,s|0)|0,r=t[_>>2]|0),s=r,o=l+(n<<2)|0,(s|0)!=(o|0)&&(r=s+(~((s+-4-o|0)>>>2)<<2)|0,t[_>>2]=r),d=d+1|0;while((d|0)!=(k|0))}}while(0)}function Do(e){e=e|0;var n=0,r=0,o=0,s=0;i0(e,(fi(e)|0)==0,2491),i0(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,o=e+952|0,s=t[o>>2]|0,(s|0)!=(r|0)&&(t[o>>2]=s+(~((s+-4-r|0)>>>2)<<2)),io(n),n=e+976|0,r=t[n>>2]|0,vn(e|0,8104,1e3)|0,c[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,wn(e,5,3197,o)),h=s}function Rs(){return t[2276]|0}function a0(){var e=0;return e=uh(20)|0,Hu((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 Hu(e,n){e=e|0,n=n|0;var r=0,o=0;o=h,h=h+16|0,r=o,e||(t[r>>2]=n,wn(0,5,3197,r)),h=o}function V0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}function bu(e,n){e=e|0,n=n|0;var r=0;n?(i0(e,(fi(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ns(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+8|0,s=o+4|0,d=o,t[s>>2]=n,i0(e,(t[n+944>>2]|0)==0,2709),i0(e,(t[e+964>>2]|0)==0,2763),bo(e),n=e+948|0,t[d>>2]=(t[n>>2]|0)+(r<<2),t[l>>2]=t[d>>2],P0(n,l,s)|0,t[(t[s>>2]|0)+944>>2]=e,ln(e),h=o}function bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=fi(e)|0,r|0?(t[(e0(e,0)|0)+944>>2]|0)!=(e|0):0){o=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,l=(o|0)==0,n=0;do d=t[(t[s>>2]|0)+(n<<2)>>2]|0,_=Wi(d)|0,t[(t[s>>2]|0)+(n<<2)>>2]=_,t[_+944>>2]=e,l||Q4[o&15](d,_,e,n),n=n+1|0;while((n|0)!=(r|0))}}function P0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0;Pe=h,h=h+64|0,P=Pe+52|0,_=Pe+48|0,q=Pe+28|0,we=Pe+24|0,le=Pe+20|0,ie=Pe,o=t[e>>2]|0,l=o,n=o+((t[n>>2]|0)-l>>2<<2)|0,o=e+4|0,s=t[o>>2]|0,d=e+8|0;do if(s>>>0<(t[d>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[o>>2]=(t[o>>2]|0)+4;break}Qn(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[o>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{o=(s-l>>2)+1|0,s=Q0(e)|0,s>>>0>>0&&$n(e),T=t[e>>2]|0,k=(t[d>>2]|0)-T|0,l=k>>1,z(ie,k>>2>>>0>>1>>>0?l>>>0>>0?o:l:s,n-T>>2,e+8|0),T=ie+8|0,o=t[T>>2]|0,l=ie+12|0,k=t[l>>2]|0,d=k,y=o;do if((o|0)==(k|0)){if(k=ie+4|0,o=t[k>>2]|0,ke=t[ie>>2]|0,s=ke,o>>>0<=ke>>>0){o=d-s>>1,o=(o|0)==0?1:o,z(q,o,o>>>2,t[ie+16>>2]|0),t[we>>2]=t[k>>2],t[le>>2]=t[T>>2],t[_>>2]=t[we>>2],t[P>>2]=t[le>>2],s0(q,_,P),o=t[ie>>2]|0,t[ie>>2]=t[q>>2],t[q>>2]=o,o=q+4|0,ke=t[k>>2]|0,t[k>>2]=t[o>>2],t[o>>2]=ke,o=q+8|0,ke=t[T>>2]|0,t[T>>2]=t[o>>2],t[o>>2]=ke,o=q+12|0,ke=t[l>>2]|0,t[l>>2]=t[o>>2],t[o>>2]=ke,Or(q),o=t[T>>2]|0;break}l=o,d=((l-s>>2)+1|0)/-2|0,_=o+(d<<2)|0,s=y-l|0,l=s>>2,l&&(Y1(_|0,o|0,s|0)|0,o=t[k>>2]|0),ke=_+(l<<2)|0,t[T>>2]=ke,t[k>>2]=o+(d<<2),o=ke}while(0);t[o>>2]=t[r>>2],t[T>>2]=(t[T>>2]|0)+4,n=nn(e,ie,n)|0,Or(ie)}while(0);return h=Pe,n|0}function ln(e){e=e|0;var n=0;do{if(n=e+984|0,c[n>>0]|0)break;c[n>>0]=1,D[e+504>>2]=w(J),e=t[e+944>>2]|0}while((e|0)!=0)}function lf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function nr(e){return e=e|0,t[e+944>>2]|0}function rr(e){e=e|0,i0(e,(t[e+964>>2]|0)!=0,2832),ln(e)}function Go(e){return e=e|0,(c[e+984>>0]|0)!=0|0}function Gu(e,n){e=e|0,n=n|0,fL(e,n,400)|0&&(vn(e|0,n|0,400)|0,ln(e))}function yl(e){e=e|0;var n=tt;return n=w(D[e+44>>2]),e=gt(n)|0,w(e?w(0):n)}function cu(e){e=e|0;var n=tt;return n=w(D[e+48>>2]),gt(n)|0&&(n=c[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Bs(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Vu(e){return e=e|0,t[e+980>>2]|0}function M0(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,ln(e))}function au(e){return e=e|0,t[e+4>>2]|0}function Lr(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,ln(e))}function F(e){return e=e|0,t[e+8>>2]|0}function R(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,ln(e))}function U(e){return e=e|0,t[e+12>>2]|0}function H(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,ln(e))}function fe(e){return e=e|0,t[e+16>>2]|0}function ue(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,ln(e))}function de(e){return e=e|0,t[e+20>>2]|0}function W(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,ln(e))}function ve(e){return e=e|0,t[e+24>>2]|0}function Fe(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,ln(e))}function Ge(e){return e=e|0,t[e+28>>2]|0}function K(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,ln(e))}function xe(e){return e=e|0,t[e+32>>2]|0}function je(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,ln(e))}function Xe(e){return e=e|0,t[e+36>>2]|0}function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function st(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function xt(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function wt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+52|0,s=e+56|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function lt(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function Rt(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function yn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function sn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function rn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Hn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function d0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function Cr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(D[e+60+(n<<3)>>2]=w(J),t[r>>2]=3,ln(e))}function He(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Qe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Ne(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function ft(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function St(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}function Qt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+348|0,s=e+352|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Cn(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(J),t[n>>2]=3,ln(e))}function p0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function h0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+356|0,s=e+360|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function ci(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function xi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(J),t[n>>2]=3,ln(e))}function E0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function qr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Eo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function So(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function wl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function js(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Dl(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function du(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Yu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Us(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function oo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Hi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function qs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function F0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function Gr(e){return e=e|0,w(D[e+396>>2])}function ir(e){return e=e|0,w(D[e+400>>2])}function L0(e){return e=e|0,w(D[e+404>>2])}function Y0(e){return e=e|0,w(D[e+408>>2])}function Co(e){return e=e|0,w(D[e+412>>2])}function $u(e){return e=e|0,w(D[e+416>>2])}function Vo(e){return e=e|0,w(D[e+420>>2])}function Rr(e,n){switch(e=e|0,n=n|0,i0(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(D[e+424+(n<<2)>>2])}function Jn(e,n){switch(e=e|0,n=n|0,i0(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(D[e+448+(n<<2)>>2])}function ai(e,n){switch(e=e|0,n=n|0,i0(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(D[e+472+(n<<2)>>2])}function o0(e,n){e=e|0,n=n|0;var r=0,o=tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(o=w(D[e>>2]),e=w(Ot(w(o-w(D[n>>2]))))>2]=0,t[o+4>>2]=0,t[o+8>>2]=0,Ru(o|0,e|0,n|0,0),wn(e,3,(c[o+11>>0]|0)<0?t[o>>2]|0:o,r),ML(o),h=r}function $0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=tt;e=w(e*n),s=w(V4(e,w(1)));do if(Vr(s,w(0))|0)e=w(e-s);else{if(e=w(e-s),Vr(s,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}o||(s>w(.5)?s=w(1):(o=Vr(s,w(.5))|0,s=w(o?1:0)),e=w(e+s))}while(0);return w(e/n)}function K0(e,n,r,o,s,l,d,_,y,k,T,P,q){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,_=w(_),y=w(y),k=w(k),T=w(T),P=w(P),q=q|0;var we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt;return y>2]),le!=w(0)):0)?(Pe=w($0(n,le,0,0)),ke=w($0(o,le,0,0)),ie=w($0(l,le,0,0)),le=w($0(_,le,0,0))):(ie=l,Pe=n,le=_,ke=o),(s|0)==(e|0)?we=Vr(ie,Pe)|0:we=0,(d|0)==(r|0)?q=Vr(le,ke)|0:q=0,((we?0:(qe=w(n-T),!(ae(e,qe,y)|0)))?!(Be(e,qe,s,y)|0):0)?we=Ie(e,qe,s,l,y)|0:we=1,((q?0:(pe=w(o-P),!(ae(r,pe,k)|0)))?!(Be(r,pe,d,k)|0):0)?q=Ie(r,pe,d,_,k)|0:q=1,q=we&q),q|0}function ae(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Vr(n,r)|0:e=0,e|0}function Be(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?n>=o?e=1:e=Vr(n,o)|0:e=0,e|0}function Ie(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&(r|0)==2&o>n?s<=n?e=1:e=Vr(n,s)|0:e=0,e|0}function ht(e,n,r,o,s,l,d,_,y,k,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0,T=T|0;var P=0,q=0,we=0,le=0,ie=tt,Pe=tt,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=tt,Ki=tt,Xi=tt,Ji=0,Ro=0;zt=h,h=h+160|0,It=zt+152|0,Ht=zt+120|0,Ln=zt+104|0,pe=zt+72|0,le=zt+56|0,vt=zt+8|0,qe=zt,_e=(t[2279]|0)+1|0,t[2279]=_e,gn=e+984|0,((c[gn>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?ke=4:(t[e+516>>2]|0)==(o|0)?Pn=0:ke=4,(ke|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,D[e+932>>2]=w(-1),D[e+936>>2]=w(-1),Pn=1);e:do if(t[e+964>>2]|0)if(ie=w(mt(e,2,d)),Pe=w(mt(e,0,d)),P=e+916|0,Xi=w(D[P>>2]),Ki=w(D[e+920>>2]),Dr=w(D[e+932>>2]),K0(s,n,l,r,t[e+924>>2]|0,Xi,t[e+928>>2]|0,Ki,Dr,w(D[e+936>>2]),ie,Pe,T)|0)ke=22;else if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,Dr=w(D[P>>2]),Ki=w(D[e+524+(q*24|0)+4>>2]),Xi=w(D[e+524+(q*24|0)+16>>2]),K0(s,n,l,r,t[e+524+(q*24|0)+8>>2]|0,Dr,t[e+524+(q*24|0)+12>>2]|0,Ki,Xi,w(D[e+524+(q*24|0)+20>>2]),ie,Pe,T)|0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}else{if(y){if(P=e+916|0,!(Vr(w(D[P>>2]),n)|0)){ke=21;break}if(!(Vr(w(D[e+920>>2]),r)|0)){ke=21;break}if((t[e+924>>2]|0)!=(s|0)){ke=21;break}P=(t[e+928>>2]|0)==(l|0)?P:0,ke=22;break}if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,((Vr(w(D[P>>2]),n)|0?Vr(w(D[e+524+(q*24|0)+4>>2]),r)|0:0)?(t[e+524+(q*24|0)+8>>2]|0)==(s|0):0)?(t[e+524+(q*24|0)+12>>2]|0)==(l|0):0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}}while(0);do if((ke|0)==21)c[11697]|0?(P=0,ke=28):(P=0,ke=31);else if((ke|0)==22){if(q=(c[11697]|0)!=0,!((P|0)!=0&(Pn^1)))if(q){ke=28;break}else{ke=31;break}le=P+16|0,t[e+908>>2]=t[le>>2],we=P+20|0,t[e+912>>2]=t[we>>2],(c[11698]|0)==0|q^1||(t[qe>>2]=Gn(_e)|0,t[qe+4>>2]=_e,wn(e,4,2972,qe),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),s=$t(s,y)|0,l=$t(l,y)|0,Ro=+w(D[le>>2]),Ji=+w(D[we>>2]),t[vt>>2]=s,t[vt+4>>2]=l,L[vt+8>>3]=+n,L[vt+16>>3]=+r,L[vt+24>>3]=Ro,L[vt+32>>3]=Ji,t[vt+40>>2]=k,wn(e,4,2989,vt))}while(0);return(ke|0)==28&&(q=Gn(_e)|0,t[le>>2]=q,t[le+4>>2]=_e,t[le+8>>2]=Pn?3047:11699,wn(e,4,3038,le),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,ke=$t(l,y)|0,t[pe>>2]=vt,t[pe+4>>2]=ke,L[pe+8>>3]=+n,L[pe+16>>3]=+r,t[pe+24>>2]=k,wn(e,4,3049,pe),ke=31),(ke|0)==31&&(X0(e,n,r,o,s,l,d,_,y,T),c[11697]|0&&(q=t[2279]|0,vt=Gn(q)|0,t[Ln>>2]=vt,t[Ln+4>>2]=q,t[Ln+8>>2]=Pn?3047:11699,wn(e,4,3083,Ln),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,Ln=$t(l,y)|0,Ji=+w(D[e+908>>2]),Ro=+w(D[e+912>>2]),t[Ht>>2]=vt,t[Ht+4>>2]=Ln,L[Ht+8>>3]=Ji,L[Ht+16>>3]=Ro,t[Ht+24>>2]=k,wn(e,4,3092,Ht)),t[e+516>>2]=o,P||(q=e+520|0,P=t[q>>2]|0,(P|0)==16&&(c[11697]|0&&wn(e,4,3124,It),t[q>>2]=0,P=0),y?P=e+916|0:(t[q>>2]=P+1,P=e+524+(P*24|0)|0),D[P>>2]=n,D[P+4>>2]=r,t[P+8>>2]=s,t[P+12>>2]=l,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),y&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],c[e+985>>0]=1,c[gn>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],h=zt,Pn|(P|0)==0|0}function mt(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(Tr(e,n,r)),w(o+w(R0(e,n,r)))}function wn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=h,h=h+16|0,s=l,t[s>>2]=o,e?o=t[e+976>>2]|0:o=0,Ku(o,e,n,r,s),h=l}function Gn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function $t(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+32|0,r=s+12|0,o=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[o>>2]=t[257],t[o+4>>2]=t[258],t[o+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?o:r)+(e<<2)>>2]|0,h=s,e|0}function X0(e,n,r,o,s,l,d,_,y,k){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0;var T=0,P=0,q=0,we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt,_e=tt,vt=0,Ln=0,Ht=0,It=tt,gn=tt,Pn=0,zt=tt,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=tt,Rf=tt,Zs=tt,el=tt,ss=tt,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=tt,tl=tt,ql=tt,zl=tt,Li=tt,Di=tt,ku=0,xr=tt,Wl=tt,Qi=tt,ls=tt,Zi=tt,fs=tt,Hl=0,bl=0,cs=tt,Ri=tt,Au=0,Gl=0,Vl=0,Yl=0,En=tt,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0,kt=tt,$l=0,Qr=0;Ou=h,h=h+16|0,Fi=Ou+12|0,nu=Ou+8|0,go=Ou+4|0,xu=Ou,i0(e,(s|0)==0|(gt(n)|0)^1,3326),i0(e,(l|0)==0|(gt(r)|0)^1,3406),Ei=so(e,o)|0,t[e+496>>2]=Ei,xn=N0(2,Ei)|0,Vt=N0(0,Ei)|0,D[e+440>>2]=w(Tr(e,xn,d)),D[e+444>>2]=w(R0(e,xn,d)),D[e+428>>2]=w(Tr(e,Vt,d)),D[e+436>>2]=w(R0(e,Vt,d)),D[e+464>>2]=w(C0(e,xn)),D[e+468>>2]=w(di(e,xn)),D[e+452>>2]=w(C0(e,Vt)),D[e+460>>2]=w(di(e,Vt)),D[e+488>>2]=w(u0(e,xn,d)),D[e+492>>2]=w(v0(e,xn,d)),D[e+476>>2]=w(u0(e,Vt,d)),D[e+484>>2]=w(v0(e,Vt,d));do if(t[e+964>>2]|0)To(e,n,r,s,l,d,_);else{if(eo=e+948|0,Ni=(t[e+952>>2]|0)-(t[eo>>2]|0)>>2,!Ni){pu(e,n,r,s,l,d,_);break}if(y?0:Sl(e,n,r,s,l,d,_)|0)break;bo(e),Tu=e+508|0,c[Tu>>0]=0,xn=N0(t[e+4>>2]|0,Ei)|0,Vt=Cl(xn,Ei)|0,br=Nr(xn)|0,Ff=t[e+8>>2]|0,Gl=e+28|0,us=(t[Gl>>2]|0)!=0,Zi=br?d:_,cs=br?_:d,Lf=w(B0(e,xn,d)),Rf=w(hu(e,xn,d)),le=w(B0(e,Vt,d)),fs=w(Fn(e,xn,d)),Ri=w(Fn(e,Vt,d)),Ht=br?s:l,Au=br?l:s,En=br?fs:Ri,qe=br?Ri:fs,ls=w(mt(e,2,d)),ke=w(mt(e,0,d)),ie=w(w(Tn(e+364|0,d))-En),Pe=w(w(Tn(e+380|0,d))-En),pe=w(w(Tn(e+372|0,_))-qe),_e=w(w(Tn(e+388|0,_))-qe),Zs=br?ie:pe,el=br?Pe:_e,ls=w(n-ls),n=w(ls-En),gt(n)|0?En=n:En=w(Ur(w(cc(n,Pe)),ie)),Wl=w(r-ke),n=w(Wl-qe),gt(n)|0?Qi=n:Qi=w(Ur(w(cc(n,_e)),pe)),ie=br?En:Qi,xr=br?Qi:En;e:do if((Ht|0)==1)for(o=0,P=0;;){if(T=e0(e,P)|0,!o)(w(Br(T))>w(0)?w(zr(T))>w(0):0)?o=T:o=0;else if(pi(T)|0){we=0;break e}if(P=P+1|0,P>>>0>=Ni>>>0){we=o;break}}else we=0;while(0);vt=we+500|0,Ln=we+504|0,o=0,T=0,n=w(0),q=0;do{if(P=t[(t[eo>>2]|0)+(q<<2)>>2]|0,(t[P+36>>2]|0)==1)lo(P),c[P+985>>0]=1,c[P+984>>0]=0;else{$r(P),y&&Yo(P,so(P,Ei)|0,ie,xr,En);do if((t[P+24>>2]|0)!=1)if((P|0)==(we|0)){t[vt>>2]=t[2278],D[Ln>>2]=w(0);break}else{wr(e,P,En,s,Qi,En,Qi,l,Ei,k);break}else T|0&&(t[T+960>>2]=P),t[P+960>>2]=0,T=P,o=(o|0)==0?P:o;while(0);Di=w(D[P+504>>2]),n=w(n+w(Di+w(mt(P,xn,En))))}q=q+1|0}while((q|0)!=(Ni|0));for(Xi=n>ie,ku=us&((Ht|0)==2&Xi)?1:Ht,Dr=(Au|0)==1,Ro=Dr&(y^1),kf=(ku|0)==1,Af=(ku|0)==2,Cu=976+(xn<<2)|0,Of=(Au|2|0)==2,Mf=Dr&(us^1),Js=1040+(Vt<<2)|0,Qs=1040+(xn<<2)|0,If=976+(Vt<<2)|0,Pf=(Au|0)!=1,Xi=us&((Ht|0)!=0&Xi),Ki=e+976|0,Dr=Dr^1,n=ie,Pn=0,Ji=0,Di=w(0),ss=w(0);;){e:do if(Pn>>>0>>0)for(Ln=t[eo>>2]|0,q=0,_e=w(0),pe=w(0),Pe=w(0),ie=w(0),P=0,T=0,we=Pn;;){if(vt=t[Ln+(we<<2)>>2]|0,(t[vt+36>>2]|0)!=1?(t[vt+940>>2]=Ji,(t[vt+24>>2]|0)!=1):0){if(ke=w(mt(vt,xn,En)),Kn=t[Cu>>2]|0,r=w(Tn(vt+380+(Kn<<3)|0,Zi)),qe=w(D[vt+504>>2]),r=w(cc(r,qe)),r=w(Ur(w(Tn(vt+364+(Kn<<3)|0,Zi)),r)),us&(q|0)!=0&w(ke+w(pe+r))>n){l=q,ke=_e,Ht=we;break e}ke=w(ke+r),r=w(pe+ke),ke=w(_e+ke),pi(vt)|0&&(Pe=w(Pe+w(Br(vt))),ie=w(ie-w(qe*w(zr(vt))))),T|0&&(t[T+960>>2]=vt),t[vt+960>>2]=0,q=q+1|0,T=vt,P=(P|0)==0?vt:P}else ke=_e,r=pe;if(we=we+1|0,we>>>0>>0)_e=ke,pe=r;else{l=q,Ht=we;break}}else l=0,ke=w(0),Pe=w(0),ie=w(0),P=0,Ht=Pn;while(0);Kn=Pe>w(0)&Pew(0)&ieel&((gt(el)|0)^1))n=el,Kn=51;else if(c[(t[Ki>>2]|0)+3>>0]|0)Kn=51;else{if(It!=w(0)?w(Br(e))!=w(0):0){Kn=53;break}n=ke,Kn=53}while(0);if((Kn|0)==51&&(Kn=0,gt(n)|0?Kn=53:(gn=w(n-ke),zt=n)),(Kn|0)==53&&(Kn=0,ke>2]|0,we=gnw(0),pe=w(gn/It),Pe=w(0),ke=w(0),n=w(0),T=P;do r=w(Tn(T+380+(q<<3)|0,Zi)),ie=w(Tn(T+364+(q<<3)|0,Zi)),ie=w(cc(r,w(Ur(ie,w(D[T+504>>2]))))),we?(r=w(ie*w(zr(T))),(r!=w(-0)?(kt=w(ie-w(qe*r)),Ul=w(kn(T,xn,kt,zt,En)),kt!=Ul):0)&&(Pe=w(Pe-w(Ul-ie)),n=w(n+r))):((vt?(tl=w(Br(T)),tl!=w(0)):0)?(kt=w(ie+w(pe*tl)),ql=w(kn(T,xn,kt,zt,En)),kt!=ql):0)&&(Pe=w(Pe-w(ql-ie)),ke=w(ke-tl)),T=t[T+960>>2]|0;while((T|0)!=0);if(n=w(_e+n),ie=w(gn+Pe),jl)n=w(0);else{qe=w(It+ke),we=t[Cu>>2]|0,vt=iew(0),qe=w(ie/qe),n=w(0);do{kt=w(Tn(P+380+(we<<3)|0,Zi)),Pe=w(Tn(P+364+(we<<3)|0,Zi)),Pe=w(cc(kt,w(Ur(Pe,w(D[P+504>>2]))))),vt?(kt=w(Pe*w(zr(P))),ie=w(-kt),kt!=w(-0)?(kt=w(pe*ie),ie=w(kn(P,xn,w(Pe+(Ln?ie:kt)),zt,En))):ie=Pe):(q?(zl=w(Br(P)),zl!=w(0)):0)?ie=w(kn(P,xn,w(Pe+w(qe*zl)),zt,En)):ie=Pe,n=w(n-w(ie-Pe)),ke=w(mt(P,xn,En)),r=w(mt(P,Vt,En)),ie=w(ie+ke),D[nu>>2]=ie,t[xu>>2]=1,Pe=w(D[P+396>>2]);e:do if(gt(Pe)|0){T=gt(xr)|0;do if(!T){if(Xi|(m0(P,Vt,xr)|0|Dr)||(T0(e,P)|0)!=4||(t[(hi(P,Vt)|0)+4>>2]|0)==3||(t[(Ai(P,Vt)|0)+4>>2]|0)==3)break;D[Fi>>2]=xr,t[go>>2]=1;break e}while(0);if(m0(P,Vt,xr)|0){T=t[P+992+(t[If>>2]<<2)>>2]|0,kt=w(r+w(Tn(T,xr))),D[Fi>>2]=kt,T=Pf&(t[T+4>>2]|0)==2,t[go>>2]=((gt(kt)|0|T)^1)&1;break}else{D[Fi>>2]=xr,t[go>>2]=T?0:2;break}}else kt=w(ie-ke),It=w(kt/Pe),kt=w(Pe*kt),t[go>>2]=1,D[Fi>>2]=w(r+(br?It:kt));while(0);Kt(P,xn,zt,En,xu,nu),Kt(P,Vt,xr,En,go,Fi);do if(m0(P,Vt,xr)|0?0:(T0(e,P)|0)==4){if((t[(hi(P,Vt)|0)+4>>2]|0)==3){T=0;break}T=(t[(Ai(P,Vt)|0)+4>>2]|0)!=3}else T=0;while(0);kt=w(D[nu>>2]),It=w(D[Fi>>2]),$l=t[xu>>2]|0,Qr=t[go>>2]|0,ht(P,br?kt:It,br?It:kt,Ei,br?$l:Qr,br?Qr:$l,En,Qi,y&(T^1),3488,k)|0,c[Tu>>0]=c[Tu>>0]|c[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(gn+n),Qr=n>0]=Qr|C[Tu>>0],Af&n>w(0)?(T=t[Cu>>2]|0,((t[e+364+(T<<3)+4>>2]|0)!=0?(Li=w(Tn(e+364+(T<<3)|0,Zi)),Li>=w(0)):0)?ie=w(Ur(w(0),w(Li-w(zt-n)))):ie=w(0)):ie=n,vt=Pn>>>0>>0,vt){we=t[eo>>2]|0,q=Pn,T=0;do P=t[we+(q<<2)>>2]|0,t[P+24>>2]|0||(T=((t[(hi(P,xn)|0)+4>>2]|0)==3&1)+T|0,T=T+((t[(Ai(P,xn)|0)+4>>2]|0)==3&1)|0),q=q+1|0;while((q|0)!=(Ht|0));T?(ke=w(0),r=w(0)):Kn=101}else Kn=101;e:do if((Kn|0)==101)switch(Kn=0,Ff|0){case 1:{T=0,ke=w(ie*w(.5)),r=w(0);break e}case 2:{T=0,ke=ie,r=w(0);break e}case 3:{if(l>>>0<=1){T=0,ke=w(0),r=w(0);break e}r=w((l+-1|0)>>>0),T=0,ke=w(0),r=w(w(Ur(ie,w(0)))/r);break e}case 5:{r=w(ie/w((l+1|0)>>>0)),T=0,ke=r;break e}case 4:{r=w(ie/w(l>>>0)),T=0,ke=w(r*w(.5));break e}default:{T=0,ke=w(0),r=w(0);break e}}while(0);if(n=w(Lf+ke),vt){Pe=w(ie/w(T|0)),q=t[eo>>2]|0,P=Pn,ie=w(0);do{T=t[q+(P<<2)>>2]|0;e:do if((t[T+36>>2]|0)!=1){switch(t[T+24>>2]|0){case 1:{if(X(T,xn)|0){if(!y)break e;kt=w(Y(T,xn,zt)),kt=w(kt+w(C0(e,xn))),kt=w(kt+w(Tr(T,xn,En))),D[T+400+(t[Qs>>2]<<2)>>2]=kt;break e}break}case 0:if(Qr=(t[(hi(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,y&&(Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(n+w(D[Qr>>2]))),Qr=(t[(Ai(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,Ro){kt=w(r+w(mt(T,xn,En))),ie=xr,n=w(n+w(kt+w(D[T+504>>2])));break e}else{n=w(n+w(r+w(ye(T,xn,En)))),ie=w(Ur(ie,w(ye(T,Vt,En))));break e}default:}y&&(kt=w(ke+w(C0(e,xn))),Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2])))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}else ie=w(0);if(r=w(Rf+n),Of?ke=w(w(kn(e,Vt,w(Ri+ie),cs,d))-Ri):ke=xr,Pe=w(w(kn(e,Vt,w(Ri+(Mf?xr:ie)),cs,d))-Ri),vt&y){P=Pn;do{q=t[(t[eo>>2]|0)+(P<<2)>>2]|0;do if((t[q+36>>2]|0)!=1){if((t[q+24>>2]|0)==1){if(X(q,Vt)|0){if(kt=w(Y(q,Vt,xr)),kt=w(kt+w(C0(e,Vt))),kt=w(kt+w(Tr(q,Vt,En))),T=t[Js>>2]|0,D[q+400+(T<<2)>>2]=kt,!(gt(kt)|0))break}else T=t[Js>>2]|0;kt=w(C0(e,Vt)),D[q+400+(T<<2)>>2]=w(kt+w(Tr(q,Vt,En)));break}T=T0(e,q)|0;do if((T|0)==4){if((t[(hi(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if(m0(q,Vt,xr)|0){n=le;break}$l=t[q+908+(t[Cu>>2]<<2)>>2]|0,t[Fi>>2]=$l,n=w(D[q+396>>2]),Qr=gt(n)|0,ie=(t[j>>2]=$l,w(D[j>>2])),Qr?n=Pe:(gn=w(mt(q,Vt,En)),kt=w(ie/n),n=w(n*ie),n=w(gn+(br?kt:n))),D[nu>>2]=n,D[Fi>>2]=w(w(mt(q,xn,En))+ie),t[go>>2]=1,t[xu>>2]=1,Kt(q,xn,zt,En,go,Fi),Kt(q,Vt,xr,En,xu,nu),n=w(D[Fi>>2]),gn=w(D[nu>>2]),kt=br?n:gn,n=br?gn:n,Qr=((gt(kt)|0)^1)&1,ht(q,kt,n,Ei,Qr,((gt(n)|0)^1)&1,En,Qi,1,3493,k)|0,n=le}else Kn=139;while(0);e:do if((Kn|0)==139){Kn=0,n=w(ke-w(ye(q,Vt,En)));do if((t[(hi(q,Vt)|0)+4>>2]|0)==3){if((t[(Ai(q,Vt)|0)+4>>2]|0)!=3)break;n=w(le+w(Ur(w(0),w(n*w(.5)))));break e}while(0);if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){n=le;break}if((t[(hi(q,Vt)|0)+4>>2]|0)==3){n=w(le+w(Ur(w(0),n)));break}switch(T|0){case 1:{n=le;break e}case 2:{n=w(le+w(n*w(.5)));break e}default:{n=w(le+n);break e}}}while(0);kt=w(Di+n),Qr=q+400+(t[Js>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2]))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}if(Di=w(Di+Pe),ss=w(Ur(ss,r)),l=Ji+1|0,Ht>>>0>=Ni>>>0)break;n=zt,Pn=Ht,Ji=l}do if(y){if(T=l>>>0>1,T?0:!(he(e)|0))break;if(!(gt(xr)|0)){n=w(xr-Di);e:do switch(t[e+12>>2]|0){case 3:{le=w(le+n),pe=w(0);break}case 2:{le=w(le+w(n*w(.5))),pe=w(0);break}case 4:{xr>Di?pe=w(n/w(l>>>0)):pe=w(0);break}case 7:if(xr>Di){le=w(le+w(n/w(l<<1>>>0))),pe=w(n/w(l>>>0)),pe=T?pe:w(0);break e}else{le=w(le+w(n*w(.5))),pe=w(0);break e}case 6:{pe=w(n/w(Ji>>>0)),pe=xr>Di&T?pe:w(0);break}default:pe=w(0)}while(0);if(l|0)for(vt=1040+(Vt<<2)|0,Ln=976+(Vt<<2)|0,we=0,P=0;;){e:do if(P>>>0>>0)for(ie=w(0),Pe=w(0),n=w(0),q=P;;){T=t[(t[eo>>2]|0)+(q<<2)>>2]|0;do if((t[T+36>>2]|0)!=1?(t[T+24>>2]|0)==0:0){if((t[T+940>>2]|0)!=(we|0))break e;if(We(T,Vt)|0&&(kt=w(D[T+908+(t[Ln>>2]<<2)>>2]),n=w(Ur(n,w(kt+w(mt(T,Vt,En)))))),(T0(e,T)|0)!=5)break;Li=w(et(T)),Li=w(Li+w(Tr(T,0,En))),kt=w(D[T+912>>2]),kt=w(w(kt+w(mt(T,0,En)))-Li),Li=w(Ur(Pe,Li)),kt=w(Ur(ie,kt)),ie=kt,Pe=Li,n=w(Ur(n,w(Li+kt)))}while(0);if(T=q+1|0,T>>>0>>0)q=T;else{q=T;break}}else Pe=w(0),n=w(0),q=P;while(0);if(qe=w(pe+n),r=le,le=w(le+qe),P>>>0>>0){ke=w(r+Pe),T=P;do{P=t[(t[eo>>2]|0)+(T<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(T0(e,P)|0){case 1:{kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 3:{kt=w(w(le-w(R0(P,Vt,En)))-w(D[P+908+(t[Ln>>2]<<2)>>2])),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 2:{kt=w(r+w(w(qe-w(D[P+908+(t[Ln>>2]<<2)>>2]))*w(.5))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 4:{if(kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt,m0(P,Vt,xr)|0||(br?(ie=w(D[P+908>>2]),n=w(ie+w(mt(P,xn,En))),Pe=qe):(Pe=w(D[P+912>>2]),Pe=w(Pe+w(mt(P,Vt,En))),n=qe,ie=w(D[P+908>>2])),Vr(n,ie)|0?Vr(Pe,w(D[P+912>>2]))|0:0))break e;ht(P,n,Pe,Ei,1,1,En,Qi,1,3501,k)|0;break e}case 5:{D[P+404>>2]=w(w(ke-w(et(P)))+w(Y(P,0,xr)));break e}default:break e}while(0);T=T+1|0}while((T|0)!=(q|0))}if(we=we+1|0,(we|0)==(l|0))break;P=q}}}while(0);if(D[e+908>>2]=w(kn(e,2,ls,d,d)),D[e+912>>2]=w(kn(e,0,Wl,_,d)),((ku|0)!=0?(Hl=t[e+32>>2]|0,bl=(ku|0)==2,!(bl&(Hl|0)!=2)):0)?bl&(Hl|0)==2&&(n=w(fs+zt),n=w(Ur(w(cc(n,w(Dt(e,xn,ss,Zi)))),fs)),Kn=198):(n=w(kn(e,xn,ss,Zi,d)),Kn=198),(Kn|0)==198&&(D[e+908+(t[976+(xn<<2)>>2]<<2)>>2]=n),((Au|0)!=0?(Vl=t[e+32>>2]|0,Yl=(Au|0)==2,!(Yl&(Vl|0)!=2)):0)?Yl&(Vl|0)==2&&(n=w(Ri+xr),n=w(Ur(w(cc(n,w(Dt(e,Vt,w(Ri+Di),cs)))),Ri)),Kn=204):(n=w(kn(e,Vt,w(Ri+Di),cs,d)),Kn=204),(Kn|0)==204&&(D[e+908+(t[976+(Vt<<2)>>2]<<2)>>2]=n),y){if((t[Gl>>2]|0)==2){P=976+(Vt<<2)|0,q=1040+(Vt<<2)|0,T=0;do we=e0(e,T)|0,t[we+24>>2]|0||($l=t[P>>2]|0,kt=w(D[e+908+($l<<2)>>2]),Qr=we+400+(t[q>>2]<<2)|0,kt=w(kt-w(D[Qr>>2])),D[Qr>>2]=w(kt-w(D[we+908+($l<<2)>>2]))),T=T+1|0;while((T|0)!=(Ni|0))}if(o|0){T=br?ku:s;do bt(e,o,En,T,Qi,Ei,k),o=t[o+960>>2]|0;while((o|0)!=0)}if(T=(xn|2|0)==3,P=(Vt|2|0)==3,T|P){o=0;do q=t[(t[eo>>2]|0)+(o<<2)>>2]|0,(t[q+36>>2]|0)!=1&&(T&&Zt(e,q,xn),P&&Zt(e,q,Vt)),o=o+1|0;while((o|0)!=(Ni|0))}}}while(0);h=Ou}function ki(e,n){e=e|0,n=w(n);var r=0;li(e,n>=w(0),3147),r=n==w(0),D[e+4>>2]=r?w(0):n}function Yr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=tt,l=tt,d=0,_=0,y=0;t[2278]=(t[2278]|0)+1,$r(e),m0(e,2,n)|0?(s=w(Tn(t[e+992>>2]|0,n)),y=1,s=w(s+w(mt(e,2,n)))):(s=w(Tn(e+380|0,n)),s>=w(0)?y=2:(y=((gt(n)|0)^1)&1,s=n)),m0(e,0,r)|0?(l=w(Tn(t[e+996>>2]|0,r)),_=1,l=w(l+w(mt(e,0,n)))):(l=w(Tn(e+388|0,r)),l>=w(0)?_=2:(_=((gt(r)|0)^1)&1,l=r)),d=e+976|0,(ht(e,s,l,o,y,_,n,r,1,3189,t[d>>2]|0)|0?(Yo(e,t[e+496>>2]|0,n,r,n),bi(e,w(D[(t[d>>2]|0)+4>>2]),w(0),w(0)),c[11696]|0):0)&&ff(e,7)}function $r(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;_=h,h=h+32|0,d=_+24|0,l=_+16|0,o=_+8|0,s=_,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(y=n,k=t[y+4>>2]|0,T=o,t[T>>2]=t[y>>2],t[T+4>>2]=k,T=e+364+(r<<3)|0,k=t[T+4>>2]|0,y=s,t[y>>2]=t[T>>2],t[y+4>>2]=k,t[l>>2]=t[o>>2],t[l+4>>2]=t[o+4>>2],t[d>>2]=t[s>>2],t[d+4>>2]=t[s+4>>2],o0(l,d)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);h=_}function m0(e,n,r){e=e|0,n=n|0,r=w(r);var o=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(D[e>>2])>2])>2]|0){case 2:{n=w(w(w(D[e>>2])*n)/w(100));break}case 1:{n=w(D[e>>2]);break}default:n=w(J)}return w(n)}function Yo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=tt;n=t[e+944>>2]|0?n:1,l=N0(t[e+4>>2]|0,n)|0,n=Cl(l,n)|0,r=w(Wr(e,l,r)),o=w(Wr(e,n,o)),d=w(r+w(Tr(e,l,s))),D[e+400+(t[1040+(l<<2)>>2]<<2)>>2]=d,r=w(r+w(R0(e,l,s))),D[e+400+(t[1e3+(l<<2)>>2]<<2)>>2]=r,r=w(o+w(Tr(e,n,s))),D[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=w(o+w(R0(e,n,s))),D[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function bi(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=tt,_=tt,y=0,k=0,T=tt,P=0,q=tt,we=tt,le=tt,ie=tt;if(n!=w(0)&&(s=e+400|0,ie=w(D[s>>2]),l=e+404|0,le=w(D[l>>2]),P=e+416|0,we=w(D[P>>2]),k=e+420|0,d=w(D[k>>2]),q=w(ie+r),T=w(le+o),o=w(q+we),_=w(T+d),y=(t[e+988>>2]|0)==1,D[s>>2]=w($0(ie,n,0,y)),D[l>>2]=w($0(le,n,0,y)),r=w(V4(w(we*n),w(1))),Vr(r,w(0))|0?l=0:l=(Vr(r,w(1))|0)^1,r=w(V4(w(d*n),w(1))),Vr(r,w(0))|0?s=0:s=(Vr(r,w(1))|0)^1,ie=w($0(o,n,y&l,y&(l^1))),D[P>>2]=w(ie-w($0(q,n,0,y))),ie=w($0(_,n,y&s,y&(s^1))),D[k>>2]=w(ie-w($0(T,n,0,y))),l=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,l|0)){s=0;do bi(e0(e,s)|0,n,q,T),s=s+1|0;while((s|0)!=(l|0))}}function or(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:case 0:{e=q8(t[489]|0,o,s)|0;break}default:e=AL(o,s)|0}return e|0}function zs(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=h,h=h+16|0,l=s,t[l>>2]=o,Ku(e,0,n,r,l),h=s}function Ku(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,sD[t[e+8>>2]&1](e,n,r,o,s)|0,(r|0)==5)_n();else return}function J0(e,n,r){e=e|0,n=n|0,r=r|0,c[e+n>>0]=r&1}function af(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(S0(e,o),El(e,t[n>>2]|0,t[r>>2]|0,o))}function S0(e,n){e=e|0,n=n|0;var r=0;if((Q0(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function El(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function Q0(e){return e=e|0,1073741823}function Tr(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=en(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function R0(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=en(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function Nr(e){return e=e|0,(e|1|0)==3|0}function uo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Tn(e,n)),w(n)}function so(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 N0(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 C0(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(D[e+308>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function di(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(D[e+316>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function u0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+240>>2]|0)!=0:0)?(o=w(Tn(e+236|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+248>>2]|0)!=0:0)?(o=w(Tn(e+244|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function To(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt,P=tt,q=tt,we=0,le=0,ie=0;ie=h,h=h+16|0,we=ie,le=e+964|0,i0(e,(t[le>>2]|0)!=0,3519),_=w(Fn(e,2,n)),y=w(Fn(e,0,n)),k=w(mt(e,2,n)),T=w(mt(e,0,n)),gt(n)|0?P=n:P=w(Ur(w(0),w(w(n-k)-_))),gt(r)|0?q=r:q=w(Ur(w(0),w(w(r-T)-y))),(o|0)==1&(s|0)==1?(D[e+908>>2]=w(kn(e,2,w(n-k),l,l)),n=w(kn(e,0,w(r-T),d,l))):(lD[t[le>>2]&1](we,e,P,o,q,s),P=w(_+w(D[we>>2])),q=w(n-k),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?P:q,l,l)),q=w(y+w(D[we+4>>2])),n=w(r-T),n=w(kn(e,0,(s|2|0)==2?q:n,d,l))),D[e+912>>2]=n,h=ie}function pu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt;k=w(Fn(e,2,l)),_=w(Fn(e,0,l)),T=w(mt(e,2,l)),y=w(mt(e,0,l)),n=w(n-T),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?k:n,l,l)),r=w(r-y),D[e+912>>2]=w(kn(e,0,(s|2|0)==2?_:r,d,l))}function Sl(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=0,y=tt,k=tt;return _=(o|0)==2,((n<=w(0)&_?0:!(r<=w(0)&(s|0)==2))?!((o|0)==1&(s|0)==1):0)?e=0:(y=w(mt(e,0,l)),k=w(mt(e,2,l)),_=n>2]=w(kn(e,2,_?w(0):n,l,l)),n=w(r-y),_=r>2]=w(kn(e,0,_?w(0):n,d,l)),e=1),e|0}function Cl(e,n){return e=e|0,n=n|0,qt(e)|0?e=N0(2,n)|0:e=0,e|0}function B0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(u0(e,n,r)),w(r+w(C0(e,n)))}function hu(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(di(e,n)))}function Fn(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(B0(e,n,r)),w(o+w(hu(e,n,r)))}function pi(e){return e=e|0,t[e+24>>2]|0?e=0:w(Br(e))!=w(0)?e=1:e=w(zr(e))!=w(0),e|0}function Br(e){e=e|0;var n=tt;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),gt(n)|0)return n=w(D[e+40>>2]),e=n>w(0)&((gt(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function zr(e){e=e|0;var n=tt,r=0,o=tt;do if(t[e+944>>2]|0){if(n=w(D[e+48>>2]),gt(n)|0){if(r=c[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(o=w(D[e+40>>2]),o>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function lo(e){e=e|0;var n=0,r=0;if(pa(e+400|0,0,540)|0,c[e+985>>0]=1,bo(e),r=fi(e)|0,r|0){n=e+948|0,e=0;do lo(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function wr(e,n,r,o,s,l,d,_,y,k){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),d=w(d),_=_|0,y=y|0,k=k|0;var T=0,P=tt,q=0,we=0,le=tt,ie=tt,Pe=0,ke=tt,qe=0,pe=tt,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0;Dr=h,h=h+16|0,Ln=Dr+12|0,Ht=Dr+8|0,It=Dr+4|0,gn=Dr,zt=N0(t[e+4>>2]|0,y)|0,_e=Nr(zt)|0,P=w(Tn(Ut(n)|0,_e?l:d)),vt=m0(n,2,l)|0,Pn=m0(n,0,d)|0;do if(gt(P)|0?0:!(gt(_e?r:s)|0)){if(T=n+504|0,!(gt(w(D[T>>2]))|0)&&(!(fn(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;D[T>>2]=w(Ur(P,w(Fn(n,zt,l))))}else q=7;while(0);do if((q|0)==7){if(qe=_e^1,!(qe|vt^1)){d=w(Tn(t[n+992>>2]|0,l)),D[n+504>>2]=w(Ur(d,w(Fn(n,2,l))));break}if(!(_e|Pn^1)){d=w(Tn(t[n+996>>2]|0,d)),D[n+504>>2]=w(Ur(d,w(Fn(n,0,l))));break}D[Ln>>2]=w(J),D[Ht>>2]=w(J),t[It>>2]=0,t[gn>>2]=0,ke=w(mt(n,2,l)),pe=w(mt(n,0,l)),vt?(le=w(ke+w(Tn(t[n+992>>2]|0,l))),D[Ln>>2]=le,t[It>>2]=1,we=1):(we=0,le=w(J)),Pn?(P=w(pe+w(Tn(t[n+996>>2]|0,d))),D[Ht>>2]=P,t[gn>>2]=1,T=1):(T=0,P=w(J)),q=t[e+32>>2]|0,_e&(q|0)==2?q=2:(gt(le)|0?!(gt(r)|0):0)&&(D[Ln>>2]=r,t[It>>2]=2,we=2,le=r),(((q|0)==2&qe?0:gt(P)|0)?!(gt(s)|0):0)&&(D[Ht>>2]=s,t[gn>>2]=2,T=2,P=s),ie=w(D[n+396>>2]),Pe=gt(ie)|0;do if(Pe)q=we;else{if((we|0)==1&qe){D[Ht>>2]=w(w(le-ke)/ie),t[gn>>2]=1,T=1,q=1;break}_e&(T|0)==1?(D[Ln>>2]=w(ie*w(P-pe)),t[It>>2]=1,T=1,q=1):q=we}while(0);Ki=gt(r)|0,we=(T0(e,n)|0)!=4,(_e|vt|((o|0)!=1|Ki)|(we|(q|0)==1)?0:(D[Ln>>2]=r,t[It>>2]=1,!Pe))&&(D[Ht>>2]=w(w(r-ke)/ie),t[gn>>2]=1,T=1),(Pn|qe|((_|0)!=1|(gt(s)|0))|(we|(T|0)==1)?0:(D[Ht>>2]=s,t[gn>>2]=1,!Pe))&&(D[Ln>>2]=w(ie*w(s-pe)),t[It>>2]=1),Kt(n,2,l,l,It,Ln),Kt(n,0,d,l,gn,Ht),r=w(D[Ln>>2]),s=w(D[Ht>>2]),ht(n,r,s,y,t[It>>2]|0,t[gn>>2]|0,l,d,0,3565,k)|0,d=w(D[n+908+(t[976+(zt<<2)>>2]<<2)>>2]),D[n+504>>2]=w(Ur(d,w(Fn(n,zt,l))))}while(0);t[n+500>>2]=t[2278],h=Dr}function kn(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(Dt(e,n,r,o)),w(Ur(o,w(Fn(e,n,s))))}function T0(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?qt(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function hi(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ai(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Kt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=w(Tn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(mt(e,n,o))),t[s>>2]|0){case 2:case 1:{s=gt(r)|0,o=w(D[l>>2]),D[l>>2]=s|o>2]=2,D[l>>2]=r);break}default:}}function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,4,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1040+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function ye(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),o=w(o+w(Tr(e,n,r))),w(o+w(R0(e,n,r)))}function he(e){e=e|0;var n=0,r=0,o=0;e:do if(qt(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=fi(e)|0,!r)n=0;else for(n=0;;){if(o=e0(e,n)|0,(t[o+24>>2]|0)==0?(t[o+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 We(e,n){e=e|0,n=n|0;var r=tt;return r=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((gt(r)|0)^1)|0}function et(e){e=e|0;var n=tt,r=0,o=0,s=0,l=0,d=0,_=0,y=tt;if(r=t[e+968>>2]|0,r)y=w(D[e+908>>2]),n=w(D[e+912>>2]),n=w(rD[r&0](e,y,n)),i0(e,(gt(n)|0)^1,3573);else{l=fi(e)|0;do if(l|0){for(r=0,s=0;;){if(o=e0(e,s)|0,t[o+940>>2]|0){d=8;break}if((t[o+24>>2]|0)!=1)if(_=(T0(e,o)|0)==5,_){r=o;break}else r=(r|0)==0?o:r;if(s=s+1|0,s>>>0>=l>>>0){d=8;break}}if((d|0)==8&&!r)break;return n=w(et(r)),w(n+w(D[r+404>>2]))}while(0);n=w(D[e+912>>2])}return w(n)}function Dt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=tt,l=0;return qt(n)|0?(n=1,l=3):Nr(n)|0?(n=0,l=3):(o=w(J),s=w(J)),(l|0)==3&&(s=w(Tn(e+364+(n<<3)|0,o)),o=w(Tn(e+380+(n<<3)|0,o))),l=o=w(0)&((gt(o)|0)^1)),r=l?o:r,l=s>=w(0)&((gt(s)|0)^1)&r>2]|0,l)|0,le=Cl(Pe,l)|0,ie=Nr(Pe)|0,P=w(mt(n,2,r)),q=w(mt(n,0,r)),m0(n,2,r)|0?_=w(P+w(Tn(t[n+992>>2]|0,r))):(X(n,2)|0?_t(n,2)|0:0)?(_=w(D[e+908>>2]),y=w(C0(e,2)),y=w(_-w(y+w(di(e,2)))),_=w(Y(n,2,r)),_=w(kn(n,2,w(y-w(_+w(_r(n,2,r)))),r,r))):_=w(J),m0(n,0,s)|0?y=w(q+w(Tn(t[n+996>>2]|0,s))):(X(n,0)|0?_t(n,0)|0:0)?(y=w(D[e+912>>2]),qe=w(C0(e,0)),qe=w(y-w(qe+w(di(e,0)))),y=w(Y(n,0,s)),y=w(kn(n,0,w(qe-w(y+w(_r(n,0,s)))),s,r))):y=w(J),k=gt(_)|0,T=gt(y)|0;do if(k^T?(we=w(D[n+396>>2]),!(gt(we)|0)):0)if(k){_=w(P+w(w(y-q)*we));break}else{qe=w(q+w(w(_-P)/we)),y=T?qe:y;break}while(0);T=gt(_)|0,k=gt(y)|0,T|k&&(pe=(T^1)&1,o=r>w(0)&((o|0)!=0&T),_=ie?_:o?r:_,ht(n,_,y,l,ie?pe:o?2:pe,T&(k^1)&1,_,y,0,3623,d)|0,_=w(D[n+908>>2]),_=w(_+w(mt(n,2,r))),y=w(D[n+912>>2]),y=w(y+w(mt(n,0,r)))),ht(n,_,y,l,1,1,_,y,1,3635,d)|0,(_t(n,Pe)|0?!(X(n,Pe)|0):0)?(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,Pe))),qe=w(qe-w(R0(n,Pe,r))),qe=w(qe-w(_r(n,Pe,ie?r:s))),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe):ke=21;do if((ke|0)==21){if(X(n,Pe)|0?0:(t[e+8>>2]|0)==1){pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe;break}(X(n,Pe)|0?0:(t[e+8>>2]|0)==2)&&(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe)}while(0);(_t(n,le)|0?!(X(n,le)|0):0)?(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,le))),qe=w(qe-w(R0(n,le,r))),qe=w(qe-w(_r(n,le,ie?s:r))),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe):ke=30;do if((ke|0)==30?!(X(n,le)|0):0){if((T0(e,n)|0)==2){pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe;break}pe=(T0(e,n)|0)==3,pe^(t[e+28>>2]|0)==2&&(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe)}while(0)}function Zt(e,n,r){e=e|0,n=n|0,r=r|0;var o=tt,s=0;s=t[976+(r<<2)>>2]|0,o=w(D[n+908+(s<<2)>>2]),o=w(w(D[e+908+(s<<2)>>2])-o),o=w(o-w(D[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),D[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=o}function qt(e){return e=e|0,(e|1|0)==1|0}function Ut(e){e=e|0;var n=tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[e+40>>2]),n>w(0)&((gt(n)|0)^1)?e=c[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function fn(e,n){return e=e|0,n=n|0,(c[e+n>>0]|0)!=0|0}function _t(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function _r(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,5,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1e3+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function Wr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(-w(_r(e,n,r))),w(r)}function Ar(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function z(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Or(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function Qn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+4|0,_=t[d>>2]|0,s=_-o|0,l=s>>2,e=n+(l<<2)|0,e>>>0>>0){o=_;do t[o>>2]=t[e>>2],e=e+4|0,o=(t[d>>2]|0)+4|0,t[d>>2]=o;while(e>>>0>>0)}l|0&&Y1(_+(0-l<<2)|0,n|0,s|0)|0}function nn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return _=n+4|0,y=t[_>>2]|0,s=t[e>>2]|0,d=r,l=d-s|0,o=y+(0-(l>>2)<<2)|0,t[_>>2]=o,(l|0)>0&&vn(o|0,s|0,l|0)|0,s=e+4|0,l=n+8|0,o=(t[s>>2]|0)-d|0,(o|0)>0&&(vn(t[l>>2]|0,r|0,o|0)|0,t[l>>2]=(t[l>>2]|0)+(o>>>2<<2)),d=t[e>>2]|0,t[e>>2]=t[_>>2],t[_>>2]=d,d=t[s>>2]|0,t[s>>2]=t[l>>2],t[l>>2]=d,d=e+8|0,r=n+12|0,e=t[d>>2]|0,t[d>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[_>>2],y|0}function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,l=t[r>>2]|0,(d|0)!=(l|0)){s=e+8|0,r=((l+-4-d|0)>>>2)+1|0,e=d,o=t[s>>2]|0;do t[o>>2]=t[e>>2],o=(t[s>>2]|0)+4|0,t[s>>2]=o,e=e+4|0;while((e|0)!=(l|0));t[n>>2]=d+(r<<2)}}function t0(){_l()}function g0(){var e=0;return e=Tt(4)|0,Kr(e),e|0}function Kr(e){e=e|0,t[e>>2]=a0()|0}function _0(e){e=e|0,e|0&&(Gi(e),Ve(e))}function Gi(e){e=e|0,V0(t[e>>2]|0)}function fo(e,n,r){e=e|0,n=n|0,r=r|0,J0(t[e>>2]|0,n,r)}function x0(e,n){e=e|0,n=w(n),ki(t[e>>2]|0,n)}function Xu(e,n){return e=e|0,n=n|0,fn(t[e>>2]|0,n)|0}function Z0(){var e=0;return e=Tt(8)|0,df(e,0),e|0}function df(e,n){e=e|0,n=n|0,n?n=I0(t[n>>2]|0)|0:n=qu()|0,t[e>>2]=n,t[e+4>>2]=0,Bs(n,e)}function Ba(e){e=e|0;var n=0;return n=Tt(8)|0,df(n,e),n|0}function Oc(e){e=e|0,e|0&&(mu(e),Ve(e))}function mu(e){e=e|0;var n=0;Wu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(Ju(e),Ve(e))}function Ju(e){e=e|0,ei(e)}function ei(e){e=e|0,e=t[e>>2]|0,e|0&&ju(e|0)}function Yf(e){return e=e|0,Vu(e)|0}function pf(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),Do(t[e>>2]|0)}function ja(e,n){e=e|0,n=n|0,Gu(t[e>>2]|0,t[n>>2]|0)}function Ua(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}function Ic(e,n,r){e=e|0,n=n|0,r=+r,yn(t[e>>2]|0,n,w(r))}function vu(e,n,r){e=e|0,n=n|0,r=+r,sn(t[e>>2]|0,n,w(r))}function $f(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}function gu(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}function co(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function qa(e,n){e=e|0,n=n|0,M0(t[e>>2]|0,n)}function Ws(e,n){e=e|0,n=n|0,Fe(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function Pc(e,n,r){e=e|0,n=n|0,r=+r,rn(t[e>>2]|0,n,w(r))}function Qu(e,n,r){e=e|0,n=n|0,r=+r,Hn(t[e>>2]|0,n,w(r))}function Mc(e,n){e=e|0,n=n|0,Cr(t[e>>2]|0,n)}function Fc(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}function Lc(e,n){e=e|0,n=n|0,je(t[e>>2]|0,n)}function Kf(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}function Tl(e,n){e=e|0,n=+n,wt(t[e>>2]|0,w(n))}function xl(e,n){e=e|0,n=+n,lt(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}function xo(e,n){e=e|0,n=+n,xt(t[e>>2]|0,w(n))}function mf(e,n){e=e|0,n=+n,Qt(t[e>>2]|0,w(n))}function Wa(e,n){e=e|0,n=+n,Cn(t[e>>2]|0,w(n))}function ti(e){e=e|0,bn(t[e>>2]|0)}function Hs(e,n){e=e|0,n=+n,h0(t[e>>2]|0,w(n))}function mi(e,n){e=e|0,n=+n,ci(t[e>>2]|0,w(n))}function vi(e){e=e|0,xi(t[e>>2]|0)}function Xf(e,n){e=e|0,n=+n,qr(t[e>>2]|0,w(n))}function Rc(e,n){e=e|0,n=+n,Eo(t[e>>2]|0,w(n))}function Jf(e,n){e=e|0,n=+n,wl(t[e>>2]|0,w(n))}function ao(e,n){e=e|0,n=+n,js(t[e>>2]|0,w(n))}function $o(e,n){e=e|0,n=+n,du(t[e>>2]|0,w(n))}function kl(e,n){e=e|0,n=+n,Yu(t[e>>2]|0,w(n))}function Nc(e,n){e=e|0,n=+n,oo(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Hi(t[e>>2]|0,w(n))}function vf(e,n){e=e|0,n=+n,F0(t[e>>2]|0,w(n))}function Qf(e,n,r){e=e|0,n=n|0,r=+r,ft(t[e>>2]|0,n,w(r))}function k0(e,n,r){e=e|0,n=n|0,r=+r,He(t[e>>2]|0,n,w(r))}function v(e,n,r){e=e|0,n=n|0,r=+r,Qe(t[e>>2]|0,n,w(r))}function m(e){return e=e|0,ve(t[e>>2]|0)|0}function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,ar(s,t[n>>2]|0,r),O(e,s),h=o}function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}function b(e){return e=e|0,U(t[e>>2]|0)|0}function ee(e){return e=e|0,fe(t[e>>2]|0)|0}function Ye(e){return e=e|0,de(t[e>>2]|0)|0}function Ze(e){return e=e|0,au(t[e>>2]|0)|0}function ut(e){return e=e|0,Ge(t[e>>2]|0)|0}function In(e){return e=e|0,F(t[e>>2]|0)|0}function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,d0(s,t[n>>2]|0,r),O(e,s),h=o}function jr(e){return e=e|0,xe(t[e>>2]|0)|0}function gi(e){return e=e|0,Xe(t[e>>2]|0)|0}function po(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Rt(o,t[n>>2]|0),O(e,o),h=r}function _i(e){return e=e|0,+ +w(yl(t[e>>2]|0))}function Re(e){return e=e|0,+ +w(cu(t[e>>2]|0))}function Ce(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,p0(o,t[n>>2]|0),O(e,o),h=r}function ze(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,E0(o,t[n>>2]|0),O(e,o),h=r}function Et(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,So(o,t[n>>2]|0),O(e,o),h=r}function on(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Dl(o,t[n>>2]|0),O(e,o),h=r}function sr(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Us(o,t[n>>2]|0),O(e,o),h=r}function mn(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,qs(o,t[n>>2]|0),O(e,o),h=r}function pr(e){return e=e|0,+ +w(Gr(t[e>>2]|0))}function Hr(e,n){return e=e|0,n=n|0,+ +w(St(t[e>>2]|0,n))}function Vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Ne(s,t[n>>2]|0,r),O(e,s),h=o}function ni(e,n,r){e=e|0,n=n|0,r=r|0,Ns(t[e>>2]|0,t[n>>2]|0,r)}function Zf(e,n){e=e|0,n=n|0,D0(t[e>>2]|0,t[n>>2]|0)}function Pm(e){return e=e|0,fi(t[e>>2]|0)|0}function Ha(e){return e=e|0,e=nr(t[e>>2]|0)|0,e?e=Yf(e)|0:e=0,e|0}function vd(e,n){return e=e|0,n=n|0,e=e0(t[e>>2]|0,n)|0,e?e=Yf(e)|0:e=0,e|0}function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=Tt(4)|0,ba(o,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=o,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,1)}function ba(e,n){e=e|0,n=n|0,Oo(e,n)}function Bc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Mm(_,Vu(n)|0,+r,o,+s,l),D[e>>2]=w(+L[_>>3]),D[e+4>>2]=w(+L[_+8>>3]),h=d}function Mm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y=0,k=0,T=0;d=h,h=h+32|0,T=d+8|0,k=d+20|0,y=d,_=d+16|0,L[T>>3]=r,t[k>>2]=o,L[y>>3]=s,t[_>>2]=l,_d(e,t[n+4>>2]|0,T,k,y,_),h=d}function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Zo(_),n=Oi(n)|0,Fm(e,n,+L[r>>3],t[o>>2]|0,+L[s>>3],t[l>>2]|0),eu(_),h=d}function Oi(e){return e=e|0,t[e>>2]|0}function Fm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=ko(yd()|0)|0,r=+Ko(r),o=jc(o)|0,s=+Ko(s),Ga(e,ro(0,d|0,n|0,+r,o|0,+s,jc(l)|0)|0)}function yd(){var e=0;return c[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function ko(e){return e=e|0,t[e+8>>2]|0}function Ko(e){return e=+e,+ +Ol(e)}function jc(e){return e=e|0,Dd(e)|0}function Ga(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=n,o&1?(Lm(r,0),c0(o|0,r|0)|0,Va(e,r),Wn(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]),h=s}function Lm(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,c[e+24>>0]=0}function Va(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 Wn(e){e=e|0,c[e+24>>0]=0}function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}function Dd(e){return e=e|0,e|0}function Ol(e){return e=+e,+e}function Ed(e){e=e|0,Ao(e,Rm()|0,4)}function Rm(){return 1064}function Ao(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]=hl(n|0,r+1|0)|0}function Oo(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,qi(n|0)}function Nm(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,0)}function Uc(e){e=e|0,rr(t[e>>2]|0)}function Ya(e){return e=e|0,Go(t[e>>2]|0)|0}function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Yr(t[e>>2]|0,w(n),w(r),o)}function Cd(e){return e=e|0,+ +w(ir(t[e>>2]|0))}function ho(e){return e=e|0,+ +w(Y0(t[e>>2]|0))}function bs(e){return e=e|0,+ +w(L0(t[e>>2]|0))}function $a(e){return e=e|0,+ +w(Co(t[e>>2]|0))}function Td(e){return e=e|0,+ +w($u(t[e>>2]|0))}function qc(e){return e=e|0,+ +w(Vo(t[e>>2]|0))}function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(ir(t[n>>2]|0)),L[e+8>>3]=+w(Y0(t[n>>2]|0)),L[e+16>>3]=+w(L0(t[n>>2]|0)),L[e+24>>3]=+w(Co(t[n>>2]|0)),L[e+32>>3]=+w($u(t[n>>2]|0)),L[e+40>>3]=+w(Vo(t[n>>2]|0))}function Ka(e,n){return e=e|0,n=n|0,+ +w(Rr(t[e>>2]|0,n))}function kd(e,n){return e=e|0,n=n|0,+ +w(Jn(t[e>>2]|0,n))}function Xa(e,n){return e=e|0,n=n|0,+ +w(ai(t[e>>2]|0,n))}function Ja(){return Rs()|0}function Gs(){Bm(),Vs(),Ad(),Od(),Qa(),jm()}function Bm(){hO(11713,4938,1)}function Vs(){FA(10448)}function Ad(){hA(10408)}function Od(){Bk(10324)}function Qa(){Gx(10096)}function jm(){Um(9132)}function Um(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=0,Rf=0,Zs=0,el=0,ss=0,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=0,tl=0,ql=0,zl=0,Li=0,Di=0,ku=0,xr=0,Wl=0,Qi=0,ls=0,Zi=0,fs=0,Hl=0,bl=0,cs=0,Ri=0,Au=0,Gl=0,Vl=0,Yl=0,En=0,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0;n=h,h=h+672|0,r=n+656|0,Ou=n+648|0,Vt=n+640|0,xn=n+632|0,Ni=n+624|0,eo=n+616|0,Ei=n+608|0,br=n+600|0,En=n+592|0,Yl=n+584|0,Vl=n+576|0,Gl=n+568|0,Au=n+560|0,Ri=n+552|0,cs=n+544|0,bl=n+536|0,Hl=n+528|0,fs=n+520|0,Zi=n+512|0,ls=n+504|0,Qi=n+496|0,Wl=n+488|0,xr=n+480|0,ku=n+472|0,Di=n+464|0,Li=n+456|0,zl=n+448|0,ql=n+440|0,tl=n+432|0,Ul=n+424|0,jl=n+416|0,xu=n+408|0,go=n+400|0,nu=n+392|0,Fi=n+384|0,ss=n+376|0,el=n+368|0,Zs=n+360|0,Rf=n+352|0,Lf=n+344|0,us=n+336|0,Ff=n+328|0,Tu=n+320|0,Kn=n+312|0,Mf=n+304|0,Pf=n+296|0,If=n+288|0,Qs=n+280|0,Js=n+272|0,Of=n+264|0,Cu=n+256|0,Af=n+248|0,kf=n+240|0,Ro=n+232|0,Ji=n+224|0,Xi=n+216|0,Ki=n+208|0,Dr=n+200|0,zt=n+192|0,Pn=n+184|0,gn=n+176|0,It=n+168|0,Ht=n+160|0,Ln=n+152|0,vt=n+144|0,_e=n+136|0,pe=n+128|0,qe=n+120|0,ke=n+112|0,Pe=n+104|0,ie=n+96|0,le=n+88|0,we=n+80|0,q=n+72|0,P=n+64|0,T=n+56|0,k=n+48|0,y=n+40|0,_=n+32|0,d=n+24|0,l=n+16|0,s=n+8|0,o=n,qm(e,3646),Id(e,3651,2)|0,Pd(e,3665,2)|0,zm(e,3682,18)|0,t[Ou>>2]=19,t[Ou+4>>2]=0,t[r>>2]=t[Ou>>2],t[r+4>>2]=t[Ou+4>>2],gf(e,3690,r)|0,t[Vt>>2]=1,t[Vt+4>>2]=0,t[r>>2]=t[Vt>>2],t[r+4>>2]=t[Vt+4>>2],Md(e,3696,r)|0,t[xn>>2]=2,t[xn+4>>2]=0,t[r>>2]=t[xn>>2],t[r+4>>2]=t[xn+4>>2],Xr(e,3706,r)|0,t[Ni>>2]=1,t[Ni+4>>2]=0,t[r>>2]=t[Ni>>2],t[r+4>>2]=t[Ni+4>>2],yi(e,3722,r)|0,t[eo>>2]=2,t[eo+4>>2]=0,t[r>>2]=t[eo>>2],t[r+4>>2]=t[eo+4>>2],yi(e,3734,r)|0,t[Ei>>2]=3,t[Ei+4>>2]=0,t[r>>2]=t[Ei>>2],t[r+4>>2]=t[Ei+4>>2],Xr(e,3753,r)|0,t[br>>2]=4,t[br+4>>2]=0,t[r>>2]=t[br>>2],t[r+4>>2]=t[br+4>>2],Xr(e,3769,r)|0,t[En>>2]=5,t[En+4>>2]=0,t[r>>2]=t[En>>2],t[r+4>>2]=t[En+4>>2],Xr(e,3783,r)|0,t[Yl>>2]=6,t[Yl+4>>2]=0,t[r>>2]=t[Yl>>2],t[r+4>>2]=t[Yl+4>>2],Xr(e,3796,r)|0,t[Vl>>2]=7,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],Xr(e,3813,r)|0,t[Gl>>2]=8,t[Gl+4>>2]=0,t[r>>2]=t[Gl>>2],t[r+4>>2]=t[Gl+4>>2],Xr(e,3825,r)|0,t[Au>>2]=3,t[Au+4>>2]=0,t[r>>2]=t[Au>>2],t[r+4>>2]=t[Au+4>>2],yi(e,3843,r)|0,t[Ri>>2]=4,t[Ri+4>>2]=0,t[r>>2]=t[Ri>>2],t[r+4>>2]=t[Ri+4>>2],yi(e,3853,r)|0,t[cs>>2]=9,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],Xr(e,3870,r)|0,t[bl>>2]=10,t[bl+4>>2]=0,t[r>>2]=t[bl>>2],t[r+4>>2]=t[bl+4>>2],Xr(e,3884,r)|0,t[Hl>>2]=11,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],Xr(e,3896,r)|0,t[fs>>2]=1,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],j0(e,3907,r)|0,t[Zi>>2]=2,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],j0(e,3915,r)|0,t[ls>>2]=3,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],j0(e,3928,r)|0,t[Qi>>2]=4,t[Qi+4>>2]=0,t[r>>2]=t[Qi>>2],t[r+4>>2]=t[Qi+4>>2],j0(e,3948,r)|0,t[Wl>>2]=5,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],j0(e,3960,r)|0,t[xr>>2]=6,t[xr+4>>2]=0,t[r>>2]=t[xr>>2],t[r+4>>2]=t[xr+4>>2],j0(e,3974,r)|0,t[ku>>2]=7,t[ku+4>>2]=0,t[r>>2]=t[ku>>2],t[r+4>>2]=t[ku+4>>2],j0(e,3983,r)|0,t[Di>>2]=20,t[Di+4>>2]=0,t[r>>2]=t[Di>>2],t[r+4>>2]=t[Di+4>>2],gf(e,3999,r)|0,t[Li>>2]=8,t[Li+4>>2]=0,t[r>>2]=t[Li>>2],t[r+4>>2]=t[Li+4>>2],j0(e,4012,r)|0,t[zl>>2]=9,t[zl+4>>2]=0,t[r>>2]=t[zl>>2],t[r+4>>2]=t[zl+4>>2],j0(e,4022,r)|0,t[ql>>2]=21,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],gf(e,4039,r)|0,t[tl>>2]=10,t[tl+4>>2]=0,t[r>>2]=t[tl>>2],t[r+4>>2]=t[tl+4>>2],j0(e,4053,r)|0,t[Ul>>2]=11,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],j0(e,4065,r)|0,t[jl>>2]=12,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],j0(e,4084,r)|0,t[xu>>2]=13,t[xu+4>>2]=0,t[r>>2]=t[xu>>2],t[r+4>>2]=t[xu+4>>2],j0(e,4097,r)|0,t[go>>2]=14,t[go+4>>2]=0,t[r>>2]=t[go>>2],t[r+4>>2]=t[go+4>>2],j0(e,4117,r)|0,t[nu>>2]=15,t[nu+4>>2]=0,t[r>>2]=t[nu>>2],t[r+4>>2]=t[nu+4>>2],j0(e,4129,r)|0,t[Fi>>2]=16,t[Fi+4>>2]=0,t[r>>2]=t[Fi>>2],t[r+4>>2]=t[Fi+4>>2],j0(e,4148,r)|0,t[ss>>2]=17,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],j0(e,4161,r)|0,t[el>>2]=18,t[el+4>>2]=0,t[r>>2]=t[el>>2],t[r+4>>2]=t[el+4>>2],j0(e,4181,r)|0,t[Zs>>2]=5,t[Zs+4>>2]=0,t[r>>2]=t[Zs>>2],t[r+4>>2]=t[Zs+4>>2],yi(e,4196,r)|0,t[Rf>>2]=6,t[Rf+4>>2]=0,t[r>>2]=t[Rf>>2],t[r+4>>2]=t[Rf+4>>2],yi(e,4206,r)|0,t[Lf>>2]=7,t[Lf+4>>2]=0,t[r>>2]=t[Lf>>2],t[r+4>>2]=t[Lf+4>>2],yi(e,4217,r)|0,t[us>>2]=3,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],Zu(e,4235,r)|0,t[Ff>>2]=1,t[Ff+4>>2]=0,t[r>>2]=t[Ff>>2],t[r+4>>2]=t[Ff+4>>2],_f(e,4251,r)|0,t[Tu>>2]=4,t[Tu+4>>2]=0,t[r>>2]=t[Tu>>2],t[r+4>>2]=t[Tu+4>>2],Zu(e,4263,r)|0,t[Kn>>2]=5,t[Kn+4>>2]=0,t[r>>2]=t[Kn>>2],t[r+4>>2]=t[Kn+4>>2],Zu(e,4279,r)|0,t[Mf>>2]=6,t[Mf+4>>2]=0,t[r>>2]=t[Mf>>2],t[r+4>>2]=t[Mf+4>>2],Zu(e,4293,r)|0,t[Pf>>2]=7,t[Pf+4>>2]=0,t[r>>2]=t[Pf>>2],t[r+4>>2]=t[Pf+4>>2],Zu(e,4306,r)|0,t[If>>2]=8,t[If+4>>2]=0,t[r>>2]=t[If>>2],t[r+4>>2]=t[If+4>>2],Zu(e,4323,r)|0,t[Qs>>2]=9,t[Qs+4>>2]=0,t[r>>2]=t[Qs>>2],t[r+4>>2]=t[Qs+4>>2],Zu(e,4335,r)|0,t[Js>>2]=2,t[Js+4>>2]=0,t[r>>2]=t[Js>>2],t[r+4>>2]=t[Js+4>>2],_f(e,4353,r)|0,t[Of>>2]=12,t[Of+4>>2]=0,t[r>>2]=t[Of>>2],t[r+4>>2]=t[Of+4>>2],Io(e,4363,r)|0,t[Cu>>2]=1,t[Cu+4>>2]=0,t[r>>2]=t[Cu>>2],t[r+4>>2]=t[Cu+4>>2],_u(e,4376,r)|0,t[Af>>2]=2,t[Af+4>>2]=0,t[r>>2]=t[Af>>2],t[r+4>>2]=t[Af+4>>2],_u(e,4388,r)|0,t[kf>>2]=13,t[kf+4>>2]=0,t[r>>2]=t[kf>>2],t[r+4>>2]=t[kf+4>>2],Io(e,4402,r)|0,t[Ro>>2]=14,t[Ro+4>>2]=0,t[r>>2]=t[Ro>>2],t[r+4>>2]=t[Ro+4>>2],Io(e,4411,r)|0,t[Ji>>2]=15,t[Ji+4>>2]=0,t[r>>2]=t[Ji>>2],t[r+4>>2]=t[Ji+4>>2],Io(e,4421,r)|0,t[Xi>>2]=16,t[Xi+4>>2]=0,t[r>>2]=t[Xi>>2],t[r+4>>2]=t[Xi+4>>2],Io(e,4433,r)|0,t[Ki>>2]=17,t[Ki+4>>2]=0,t[r>>2]=t[Ki>>2],t[r+4>>2]=t[Ki+4>>2],Io(e,4446,r)|0,t[Dr>>2]=18,t[Dr+4>>2]=0,t[r>>2]=t[Dr>>2],t[r+4>>2]=t[Dr+4>>2],Io(e,4458,r)|0,t[zt>>2]=3,t[zt+4>>2]=0,t[r>>2]=t[zt>>2],t[r+4>>2]=t[zt+4>>2],_u(e,4471,r)|0,t[Pn>>2]=1,t[Pn+4>>2]=0,t[r>>2]=t[Pn>>2],t[r+4>>2]=t[Pn+4>>2],ec(e,4486,r)|0,t[gn>>2]=10,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],Zu(e,4496,r)|0,t[It>>2]=11,t[It+4>>2]=0,t[r>>2]=t[It>>2],t[r+4>>2]=t[It+4>>2],Zu(e,4508,r)|0,t[Ht>>2]=3,t[Ht+4>>2]=0,t[r>>2]=t[Ht>>2],t[r+4>>2]=t[Ht+4>>2],_f(e,4519,r)|0,t[Ln>>2]=4,t[Ln+4>>2]=0,t[r>>2]=t[Ln>>2],t[r+4>>2]=t[Ln+4>>2],Wm(e,4530,r)|0,t[vt>>2]=19,t[vt+4>>2]=0,t[r>>2]=t[vt>>2],t[r+4>>2]=t[vt+4>>2],Fd(e,4542,r)|0,t[_e>>2]=12,t[_e+4>>2]=0,t[r>>2]=t[_e>>2],t[r+4>>2]=t[_e+4>>2],yf(e,4554,r)|0,t[pe>>2]=13,t[pe+4>>2]=0,t[r>>2]=t[pe>>2],t[r+4>>2]=t[pe+4>>2],tc(e,4568,r)|0,t[qe>>2]=2,t[qe+4>>2]=0,t[r>>2]=t[qe>>2],t[r+4>>2]=t[qe+4>>2],Hm(e,4578,r)|0,t[ke>>2]=20,t[ke+4>>2]=0,t[r>>2]=t[ke>>2],t[r+4>>2]=t[ke+4>>2],Ld(e,4587,r)|0,t[Pe>>2]=22,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],gf(e,4602,r)|0,t[ie>>2]=23,t[ie+4>>2]=0,t[r>>2]=t[ie>>2],t[r+4>>2]=t[ie+4>>2],gf(e,4619,r)|0,t[le>>2]=14,t[le+4>>2]=0,t[r>>2]=t[le>>2],t[r+4>>2]=t[le+4>>2],Rd(e,4629,r)|0,t[we>>2]=1,t[we+4>>2]=0,t[r>>2]=t[we>>2],t[r+4>>2]=t[we+4>>2],zc(e,4637,r)|0,t[q>>2]=4,t[q+4>>2]=0,t[r>>2]=t[q>>2],t[r+4>>2]=t[q+4>>2],_u(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],_u(e,4669,r)|0,t[T>>2]=6,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],_u(e,4686,r)|0,t[k>>2]=7,t[k+4>>2]=0,t[r>>2]=t[k>>2],t[r+4>>2]=t[k+4>>2],_u(e,4701,r)|0,t[y>>2]=8,t[y+4>>2]=0,t[r>>2]=t[y>>2],t[r+4>>2]=t[y+4>>2],_u(e,4719,r)|0,t[_>>2]=9,t[_+4>>2]=0,t[r>>2]=t[_>>2],t[r+4>>2]=t[_+4>>2],_u(e,4736,r)|0,t[d>>2]=21,t[d+4>>2]=0,t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],Nd(e,4754,r)|0,t[l>>2]=2,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],ec(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],ec(e,4790,r)|0,t[o>>2]=4,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],ec(e,4808,r)|0,h=n}function qm(e,n){e=e|0,n=n|0;var r=0;r=Nx()|0,t[e>>2]=r,Bx(r,n),Cf(t[e>>2]|0)}function Id(e,n,r){return e=e|0,n=n|0,r=r|0,Ex(e,Zn(n)|0,r,0),e|0}function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,ux(e,Zn(n)|0,r,0),e|0}function zm(e,n,r){return e=e|0,n=n|0,r=r|0,V9(e,Zn(n)|0,r,0),e|0}function gf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],I9(e,n,s),h=o,e|0}function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],vo(e,n,s),h=o,e|0}function Xr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],a(e,n,s),h=o,e|0}function yi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],n4(e,n,s),h=o,e|0}function j0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],b_(e,n,s),h=o,e|0}function Zu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L_(e,n,s),h=o,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hp(e,n,s),h=o,e|0}function Io(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],e_(e,n,s),h=o,e|0}function _u(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ip(e,n,s),h=o,e|0}function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ng(e,n,s),h=o,e|0}function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],l0(e,n,s),h=o,e|0}function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],hg(e,n,s),h=o,e|0}function yf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sg(e,n,s),h=o,e|0}function tc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Kv(e,n,s),h=o,e|0}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y1(e,n,s),h=o,e|0}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],wv(e,n,s),h=o,e|0}function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],fv(e,n,s),h=o,e|0}function zc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gd(e,n,s),h=o,e|0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Wc(e,n,s),h=o,e|0}function Wc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hc(e,r,s,1),h=o}function Zn(e){return e=e|0,e|0}function Hc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Za()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Bd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,bc(l,o)|0,o),h=s}function Za(){var e=0,n=0;if(c[7616]|0||(yu(9136),Bt(24,9136,Q|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yu(9136)}return 9136}function Bd(e){return e=e|0,0}function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Za()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],n1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ur(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;d=h,h=h+32|0,q=d+24|0,P=d+20|0,y=d+16|0,T=d+12|0,k=d+8|0,_=d+4|0,we=d,t[P>>2]=n,t[y>>2]=r,t[T>>2]=o,t[k>>2]=s,t[_>>2]=l,l=e+28|0,t[we>>2]=t[l>>2],t[q>>2]=t[we>>2],e1(e+24|0,q,P,T,k,y,_)|0,t[l>>2]=t[t[l>>2]>>2],h=d}function e1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,e=bm(n)|0,n=Tt(24)|0,t1(n+4|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0,t[d>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function bm(e){return e=e|0,t[e>>2]|0}function t1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Lt(e,n){return e=e|0,n=n|0,n|e|0}function n1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Gm(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ud(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],n1(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Vm(e,_),Ym(_),h=k;return}}function Gm(e){return e=e|0,357913941}function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Vm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ym(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function yu(e){e=e|0,Gc(e)}function r1(e){e=e|0,i1(e+24|0)}function Dn(e){return e=e|0,t[e>>2]|0}function i1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Gc(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,cn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function An(){return 9228}function cn(){return 1140}function Vc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Il(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=$m(n,o)|0,h=r,n|0}function Nn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Il(e){return e=e|0,(t[(Za()|0)+24>>2]|0)+(e*12|0)|0}function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+48|0,o=s,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),Bl[r&31](o,e),o=o1(o)|0,h=s,o|0}function o1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(u1()|0)|0,o?(s1(n,o),l1(r,n),qd(e,r),e=f1(n)|0):e=zd(e)|0,h=s,e|0}function u1(){var e=0;return c[7632]|0||(nc(9184),Bt(25,9184,Q|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function U0(e){return e=e|0,t[e+36>>2]|0}function s1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function l1(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 qd(e,n){e=e|0,n=n|0,Ii(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function f1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function zd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=h,h=h+16|0,r=y+4|0,o=y,s=Qo(8)|0,l=s,d=Tt(48)|0,_=d,n=_+48|0;do t[_>>2]=t[e>>2],_=_+4|0,e=e+4|0;while((_|0)<(n|0));return n=l+4|0,t[n>>2]=d,_=Tt(8)|0,d=t[n>>2]|0,t[o>>2]=0,t[r>>2]=t[o>>2],Wd(_,d,r),t[s>>2]=_,h=y,l|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(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 Km(e){e=e|0,da(e),Ve(e)}function Xm(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function es(e){e=e|0,Ve(e)}function Ii(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,l=c1(t[e>>2]|0,n,r,o,s,l,d)|0,d=e+4|0,t[(t[d>>2]|0)+8>>2]=l,t[(t[d>>2]|0)+8>>2]|0}function c1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var _=0,y=0;return _=h,h=h+16|0,y=_,Zo(y),e=Oi(e)|0,d=Jm(e,+L[n>>3],+L[r>>3],+L[o>>3],+L[s>>3],+L[l>>3],+L[d>>3])|0,eu(y),h=_,d|0}function Jm(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;return _=ko(a1()|0)|0,n=+Ko(n),r=+Ko(r),o=+Ko(o),s=+Ko(s),l=+Ko(l),xs(0,_|0,e|0,+n,+r,+o,+s,+l,+ +Ko(d))|0}function a1(){var e=0;return c[7624]|0||(Qm(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function Qm(e){e=e|0,Ao(e,Zm()|0,6)}function Zm(){return 1112}function nc(e){e=e|0,Ys(e)}function Hd(e){e=e|0,d1(e+24|0),bd(e+16|0)}function d1(e){e=e|0,tv(e)}function bd(e){e=e|0,ev(e)}function ev(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,Ve(r);while((n|0)!=0);t[e>>2]=0}function tv(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,Ve(r);while((n|0)!=0);t[e>>2]=0}function Ys(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,c[e+40>>0]=0,c[e+41>>0]=0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vd(e,r,s,0),h=o}function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=p1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=h1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Yd(l,o)|0,o),h=s}function p1(){var e=0,n=0;if(c[7640]|0||(Xo(9232),Bt(26,9232,Q|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Xo(9232)}return 9232}function h1(e){return e=e|0,0}function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=p1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],wf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(m1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=$d(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Kd(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],wf(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yc(e,_),Xd(_),h=k;return}}function $d(e){return e=e|0,357913941}function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Xo(e){e=e|0,Jd(e)}function Pl(e){e=e|0,nv(e+24|0)}function nv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Jd(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,rv()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rv(){return 1144}function iv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,d=l+8|0,_=l,y=ov(e)|0,e=t[y+4>>2]|0,t[_>>2]=t[y>>2],t[_+4>>2]=e,t[d>>2]=t[_>>2],t[d+4>>2]=t[_+4>>2],uv(n,d,r,o,s),h=l}function ov(e){return e=e|0,(t[(p1()|0)+24>>2]|0)+(e*12|0)|0}function uv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,k=0;k=h,h=h+16|0,d=k+2|0,_=k+1|0,y=k,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),wu(d,r),r=+Du(d,r),wu(_,o),o=+Du(_,o),ts(y,s),y=ns(y,s)|0,iD[l&1](e,r,o,y),h=k}function wu(e,n){e=e|0,n=+n}function Du(e,n){return e=e|0,n=+n,+ +lv(n)}function ts(e,n){e=e|0,n=n|0}function ns(e,n){return e=e|0,n=n|0,sv(n)|0}function sv(e){return e=e|0,e|0}function lv(e){return e=+e,+e}function fv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qd(e,r,s,1),h=o}function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=$c()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Zd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cv(l,o)|0,o),h=s}function $c(){var e=0,n=0;if(c[7648]|0||(np(9268),Bt(27,9268,Q|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));np(9268)}return 9268}function Zd(e){return e=e|0,0}function cv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=$c()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(av(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function av(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=tp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,dv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,pv(e,_),hv(_),h=k;return}}function tp(e){return e=e|0,357913941}function dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function pv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function hv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function np(e){e=e|0,Po(e)}function mv(e){e=e|0,vv(e+24|0)}function vv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Po(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,gv()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gv(){return 1160}function _v(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=yv(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=rp(n,o)|0,h=r,n|0}function yv(e){return e=e|0,(t[($c()|0)+24>>2]|0)+(e*12|0)|0}function rp(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),ip(dc[r&31](e)|0)|0}function ip(e){return e=e|0,e&1|0}function wv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Dv(e,r,s,0),h=o}function Dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=v1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=g1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Ev(l,o)|0,o),h=s}function v1(){var e=0,n=0;if(c[7656]|0||(up(9304),Bt(28,9304,Q|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));up(9304)}return 9304}function g1(e){return e=e|0,0}function Ev(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=v1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],op(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Sv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Sv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Cv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Tv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],op(l,o,r),t[y>>2]=(t[y>>2]|0)+12,xv(e,_),kv(_),h=k;return}}function Cv(e){return e=e|0,357913941}function Tv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function xv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function up(e){e=e|0,Iv(e)}function Av(e){e=e|0,Ov(e+24|0)}function Ov(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Iv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Pv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pv(){return 1164}function Mv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Fv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Lv(n,s,r),h=o}function Fv(e){return e=e|0,(t[(v1()|0)+24>>2]|0)+(e*12|0)|0}function Lv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$s(s,r),r=Ks(s,r)|0,Bl[o&31](e,r),Xs(s),h=l}function $s(e,n){e=e|0,n=n|0,Rv(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,Ju(e)}function Rv(e,n){e=e|0,n=n|0,_1(e,n)}function _1(e,n){e=e|0,n=n|0,t[e>>2]=n}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sp(e,r,s,0),h=o}function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Nv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Bv(l,o)|0,o),h=s}function w1(){var e=0,n=0;if(c[7664]|0||(cp(9340),Bt(29,9340,Q|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cp(9340)}return 9340}function Nv(e){return e=e|0,0}function Bv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Uv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,qv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zv(e,_),fp(_),h=k;return}}function Uv(e){return e=e|0,357913941}function qv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function cp(e){e=e|0,Hv(e)}function Kc(e){e=e|0,Wv(e+24|0)}function Wv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Hv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,bv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bv(){return 1180}function Gv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Vv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=Yv(n,s,r)|0,h=o,r|0}function Vv(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}function Yv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Ml(s,r),s=Fl(s,r)|0,s=Xc(J4[o&15](e,s)|0)|0,h=l,s|0}function Ml(e,n){e=e|0,n=n|0}function Fl(e,n){return e=e|0,n=n|0,$v(n)|0}function Xc(e){return e=e|0,e|0}function $v(e){return e=e|0,e|0}function Kv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Xv(e,r,s,0),h=o}function Xv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=D1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Jv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Qv(l,o)|0,o),h=s}function D1(){var e=0,n=0;if(c[7672]|0||(hp(9376),Bt(30,9376,Q|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9376)}return 9376}function Jv(e){return e=e|0,0}function Qv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=D1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ap(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(dp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=pp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Zv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ap(l,o,r),t[y>>2]=(t[y>>2]|0)+12,eg(e,_),tg(_),h=k;return}}function pp(e){return e=e|0,357913941}function Zv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function tg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function hp(e){e=e|0,rg(e)}function Jc(e){e=e|0,ng(e+24|0)}function ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function rg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mp(){return 1196}function ig(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=og(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=ug(n,o)|0,h=r,n|0}function og(e){return e=e|0,(t[(D1()|0)+24>>2]|0)+(e*12|0)|0}function ug(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),Xc(dc[r&31](e)|0)|0}function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],lg(e,r,s,1),h=o}function lg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=fg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cg(l,o)|0,o),h=s}function E1(){var e=0,n=0;if(c[7680]|0||(C1(9412),Bt(31,9412,Q|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));C1(9412)}return 9412}function fg(e){return e=e|0,0}function cg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],rc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ag(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function rc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ag(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=vp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,gp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],rc(l,o,r),t[y>>2]=(t[y>>2]|0)+12,S1(e,_),_p(_),h=k;return}}function vp(e){return e=e|0,357913941}function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function S1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function C1(e){e=e|0,dg(e)}function yp(e){e=e|0,wp(e+24|0)}function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function dg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Dp(){return 1200}function pg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Qc(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Zc(n,o)|0,h=r,n|0}function Qc(e){return e=e|0,(t[(E1()|0)+24>>2]|0)+(e*12|0)|0}function Zc(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),ea(dc[r&31](e)|0)|0}function ea(e){return e=e|0,e|0}function hg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],T1(e,r,s,0),h=o}function T1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=ta()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=mg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,vg(l,o)|0,o),h=s}function ta(){var e=0,n=0;if(c[7688]|0||(Sp(9448),Bt(32,9448,Q|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9448)}return 9448}function mg(e){return e=e|0,0}function vg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=ta()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(gg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function gg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=_g(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,yg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,wg(e,_),Dg(_),h=k;return}}function _g(e){return e=e|0,357913941}function yg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function wg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Dg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Sp(e){e=e|0,Cg(e)}function Eg(e){e=e|0,Sg(e+24|0)}function Sg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Cg(e){e=e|0;var n=0;n=An()|0,Nn(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 1204}function Tg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=xg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ll(n,s,r),h=o}function xg(e){return e=e|0,(t[(ta()|0)+24>>2]|0)+(e*12|0)|0}function Ll(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),On(s,r),s=x1(s,r)|0,Bl[o&31](e,s),h=l}function On(e,n){e=e|0,n=n|0}function x1(e,n){return e=e|0,n=n|0,Vi(n)|0}function Vi(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],kg(e,r,s,0),h=o}function kg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Eu()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Ag(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Og(l,o)|0,o),h=s}function Eu(){var e=0,n=0;if(c[7696]|0||(A1(9484),Bt(33,9484,Q|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A1(9484)}return 9484}function Ag(e){return e=e|0,0}function Og(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Eu()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ig(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Ig(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Pg(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,k1(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Cp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Mg(e,_),rs(_),h=k;return}}function Pg(e){return e=e|0,357913941}function k1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function rs(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function A1(e){e=e|0,n0(e)}function na(e){e=e|0,Jr(e+24|0)}function Jr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function n0(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tp(){return 1212}function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Lg(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],Rg(n,l,r,o),h=s}function Lg(e){return e=e|0,(t[(Eu()|0)+24>>2]|0)+(e*12|0)|0}function Rg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,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),On(l,r),l=x1(l,r)|0,Ml(d,o),d=Fl(d,o)|0,X1[s&15](e,l,d),h=_}function Ng(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Bg(e,r,s,1),h=o}function Bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=O1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=xp(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,ic(l,o)|0,o),h=s}function O1(){var e=0,n=0;if(c[7704]|0||(Ap(9520),Bt(34,9520,Q|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ap(9520)}return 9520}function xp(e){return e=e|0,0}function ic(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=O1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ra(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ra(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,ia(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ra(l,o,r),t[y>>2]=(t[y>>2]|0)+12,mo(e,_),Df(_),h=k;return}}function kp(e){return e=e|0,357913941}function ia(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function mo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Df(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ap(e){e=e|0,zg(e)}function Ug(e){e=e|0,qg(e+24|0)}function qg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function zg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Wg()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Wg(){return 1224}function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=h,h=h+16|0,l=s+8|0,d=s,_=is(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],o=+jn(n,l,r),h=s,+o}function is(e){return e=e|0,(t[(O1()|0)+24>>2]|0)+(e*12|0)|0}function jn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,d=+Ol(+uD[o&7](e,s)),h=l,+d}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fo(e,r,s,1),h=o}function Fo(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oa()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Hg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,yr(l,o)|0,o),h=s}function oa(){var e=0,n=0;if(c[7712]|0||(Fp(9556),Bt(35,9556,Q|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fp(9556)}return 9556}function Hg(e){return e=e|0,0}function yr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oa()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Pp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=ua(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,bg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Pp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Gg(e,_),Vg(_),h=k;return}}function ua(e){return e=e|0,357913941}function bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Gg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Vg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Fp(e){e=e|0,Kg(e)}function Yg(e){e=e|0,$g(e+24|0)}function $g(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Kg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Xg()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Xg(){return 1232}function Jg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Qg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=+Zg(n,s),h=o,+r}function Qg(e){return e=e|0,(t[(oa()|0)+24>>2]|0)+(e*12|0)|0}function Zg(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),+ +Ol(+oD[r&15](e))}function e_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t_(e,r,s,1),h=o}function t_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oc()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=n_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,I1(l,o)|0,o),h=s}function oc(){var e=0,n=0;if(c[7720]|0||(Rp(9592),Bt(36,9592,Q|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rp(9592)}return 9592}function n_(e){return e=e|0,0}function I1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oc()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function r_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=i_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,q0(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yi(e,_),o_(_),h=k;return}}function i_(e){return e=e|0,357913941}function q0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function o_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Rp(e){e=e|0,s_(e)}function u_(e){e=e|0,Np(e+24|0)}function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function s_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,l_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function l_(){return 1276}function f_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Bp(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=c_(n,o)|0,h=r,n|0}function Bp(e){return e=e|0,(t[(oc()|0)+24>>2]|0)+(e*12|0)|0}function c_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+16|0,o=s,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),Bl[r&31](o,e),o=jp(o)|0,h=s,o|0}function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(Up()|0)|0,o?(s1(n,o),l1(r,n),qp(e,r),e=f1(n)|0):e=zp(e)|0,h=s,e|0}function Up(){var e=0;return c[7736]|0||(Wp(9640),Bt(25,9640,Q|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function qp(e,n){e=e|0,n=n|0,Ef(n,e,e+8|0)|0}function zp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(16)|0,t[_>>2]=t[e>>2],t[_+4>>2]=t[e+4>>2],t[_+8>>2]=t[e+8>>2],t[_+12>>2]=t[e+12>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(e,l,s),t[o>>2]=e,h=r,n|0}function P1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(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 a_(e){e=e|0,da(e),Ve(e)}function d_(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function p_(e){e=e|0,Ve(e)}function Ef(e,n,r){return e=e|0,n=n|0,r=r|0,n=h_(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 h_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=h,h=h+16|0,s=o,Zo(s),e=Oi(e)|0,r=m_(e,t[n>>2]|0,+L[r>>3])|0,eu(s),h=o,r|0}function m_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=ko(v_()|0)|0,n=jc(n)|0,dl(0,o|0,e|0,n|0,+ +Ko(r))|0}function v_(){var e=0;return c[7728]|0||(g_(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function g_(e){e=e|0,Ao(e,__()|0,2)}function __(){return 1264}function Wp(e){e=e|0,Ys(e)}function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y_(e,r,s,1),h=o}function y_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=M1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=w_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,D_(l,o)|0,o),h=s}function M1(){var e=0,n=0;if(c[7744]|0||(Gp(9684),Bt(37,9684,Q|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gp(9684)}return 9684}function w_(e){return e=e|0,0}function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=M1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],bp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(E_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function bp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function E_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=S_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,C_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],bp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,T_(e,_),x_(_),h=k;return}}function S_(e){return e=e|0,357913941}function C_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function T_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function x_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Gp(e){e=e|0,O_(e)}function k_(e){e=e|0,A_(e+24|0)}function A_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function O_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,I_()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function I_(){return 1280}function P_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=M_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=F_(n,s,r)|0,h=o,r|0}function M_(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function F_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=h,h=h+32|0,s=d,l=d+16|0,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(l,r),l=ns(l,r)|0,X1[o&15](s,e,l),l=jp(s)|0,h=d,l|0}function L_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],R_(e,r,s,1),h=o}function R_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=F1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=N_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B_(l,o)|0,o),h=s}function F1(){var e=0,n=0;if(c[7752]|0||(Kp(9720),Bt(38,9720,Q|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kp(9720)}return 9720}function N_(e){return e=e|0,0}function B_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=F1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Vp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(j_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function j_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=L1(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Yp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Vp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$p(e,_),U_(_),h=k;return}}function L1(e){return e=e|0,357913941}function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function U_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Kp(e){e=e|0,z_(e)}function q_(e){e=e|0,R1(e+24|0)}function R1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,W_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W_(){return 1288}function H_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=$i(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=N1(n,o)|0,h=r,n|0}function $i(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}function N1(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),Dd(dc[r&31](e)|0)|0}function b_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],G_(e,r,s,0),h=o}function G_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=B1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=V_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,j1(l,o)|0,o),h=s}function B1(){var e=0,n=0;if(c[7760]|0||(q1(9756),Bt(39,9756,Q|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));q1(9756)}return 9756}function V_(e){return e=e|0,0}function j1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=B1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Xp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(U1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function U1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Y_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,$_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Xp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,K_(e,_),X_(_),h=k;return}}function Y_(e){return e=e|0,357913941}function $_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function K_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function X_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function q1(e){e=e|0,Z_(e)}function J_(e){e=e|0,Q_(e+24|0)}function Q_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,z1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function z1(){return 1292}function W1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=e4(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t4(n,s,r),h=o}function e4(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}function t4(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),wu(s,r),r=+Du(s,r),nD[o&31](e,r),h=l}function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r4(e,r,s,0),h=o}function r4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=H1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=i4(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,o4(l,o)|0,o),h=s}function H1(){var e=0,n=0;if(c[7768]|0||(Qp(9792),Bt(40,9792,Q|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qp(9792)}return 9792}function i4(e){return e=e|0,0}function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=H1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Jp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(u4(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function u4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=s4(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,l4(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Jp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,f4(e,_),c4(_),h=k;return}}function s4(e){return e=e|0,357913941}function l4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function f4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function c4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Qp(e){e=e|0,p4(e)}function a4(e){e=e|0,d4(e+24|0)}function d4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function p4(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,h4()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h4(){return 1300}function m4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=v4(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],g4(n,l,r,o),h=s}function v4(e){return e=e|0,(t[(H1()|0)+24>>2]|0)+(e*12|0)|0}function g4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,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),ts(l,r),l=ns(l,r)|0,wu(d,o),o=+Du(d,o),cD[s&15](e,l,o),h=_}function a(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],p(e,r,s,0),h=o}function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=I(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B(l,o)|0,o),h=s}function E(){var e=0,n=0;if(c[7776]|0||(nt(9828),Bt(41,9828,Q|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));nt(9828)}return 9828}function I(e){return e=e|0,0}function B(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],G(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(te(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function te(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=se(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ee(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],G(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$e(e,_),Ke(_),h=k;return}}function se(e){return e=e|0,357913941}function Ee(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $e(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ke(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function nt(e){e=e|0,an(e)}function Ct(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function an(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,qn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qn(){return 1312}function dn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Yn(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],er(n,s,r),h=o}function Yn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}function er(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,Bl[o&31](e,s),h=l}function vo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Pi(e,r,s,0),h=o}function Pi(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Mi()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=f0(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Jo(l,o)|0,o),h=s}function Mi(){var e=0,n=0;if(c[7784]|0||(kw(9864),Bt(42,9864,Q|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));kw(9864)}return 9864}function f0(e){return e=e|0,0}function Jo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Mi()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Su(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Su(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=v9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,g9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Su(l,o,r),t[y>>2]=(t[y>>2]|0)+12,_9(e,_),y9(_),h=k;return}}function v9(e){return e=e|0,357913941}function g9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function _9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function y9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function kw(e){e=e|0,E9(e)}function w9(e){e=e|0,D9(e+24|0)}function D9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function E9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,S9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function S9(){return 1320}function C9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=T9(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],x9(n,s,r),h=o}function T9(e){return e=e|0,(t[(Mi()|0)+24>>2]|0)+(e*12|0)|0}function x9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),k9(s,r),s=A9(s,r)|0,Bl[o&31](e,s),h=l}function k9(e,n){e=e|0,n=n|0}function A9(e,n){return e=e|0,n=n|0,O9(n)|0}function O9(e){return e=e|0,e|0}function I9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],P9(e,r,s,0),h=o}function P9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=_4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=M9(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,F9(l,o)|0,o),h=s}function _4(){var e=0,n=0;if(c[7792]|0||(Ow(9900),Bt(43,9900,Q|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ow(9900)}return 9900}function M9(e){return e=e|0,0}function F9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=_4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Aw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(L9(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Aw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function L9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=R9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,N9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Aw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,B9(e,_),j9(_),h=k;return}}function R9(e){return e=e|0,357913941}function N9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function B9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function j9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ow(e){e=e|0,z9(e)}function U9(e){e=e|0,q9(e+24|0)}function q9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,22,n,W9()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W9(){return 1344}function H9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=h,h=h+16|0,o=r+8|0,s=r,l=b9(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],G9(n,o),h=r}function b9(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}function G9(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),Nl[r&127](e)}function V9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=y4()|0,e=Y9(r)|0,ur(l,n,s,e,$9(r,o)|0,o)}function y4(){var e=0,n=0;if(c[7800]|0||(Pw(9936),Bt(44,9936,Q|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Pw(9936)}return 9936}function Y9(e){return e=e|0,e|0}function $9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=y4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Iw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(K9(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Iw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function K9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=X9(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,J9(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Iw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Q9(e,s),Z9(s),h=_;return}}function X9(e){return e=e|0,536870911}function J9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Q9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Z9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Pw(e){e=e|0,nx(e)}function ex(e){e=e|0,tx(e+24|0)}function tx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function nx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,23,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rx(e,n){e=e|0,n=n|0,ox(t[(ix(e)|0)>>2]|0,n)}function ix(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e<<3)|0}function ox(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,On(o,n),n=x1(o,n)|0,Nl[e&127](n),h=r}function ux(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=w4()|0,e=sx(r)|0,ur(l,n,s,e,lx(r,o)|0,o)}function w4(){var e=0,n=0;if(c[7808]|0||(Fw(9972),Bt(45,9972,Q|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fw(9972)}return 9972}function sx(e){return e=e|0,e|0}function lx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=w4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Mw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=cx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,ax(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Mw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,dx(e,s),px(s),h=_;return}}function cx(e){return e=e|0,536870911}function ax(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function dx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function px(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Fw(e){e=e|0,vx(e)}function hx(e){e=e|0,mx(e+24|0)}function mx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function vx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,9,n,gx()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gx(){return 1348}function _x(e,n){return e=e|0,n=n|0,wx(t[(yx(e)|0)>>2]|0,n)|0}function yx(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e<<3)|0}function wx(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,n=Xc(dc[e&31](n)|0)|0,h=r,n|0}function Lw(e,n){e=e|0,n=n|0}function Rw(e,n){return e=e|0,n=n|0,Dx(n)|0}function Dx(e){return e=e|0,e|0}function Ex(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D4()|0,e=Sx(r)|0,ur(l,n,s,e,Cx(r,o)|0,o)}function D4(){var e=0,n=0;if(c[7816]|0||(Bw(10008),Bt(46,10008,Q|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Bw(10008)}return 10008}function Sx(e){return e=e|0,e|0}function Cx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=D4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Nw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Tx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Nw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Tx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=xx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,kx(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Nw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Ax(e,s),Ox(s),h=_;return}}function xx(e){return e=e|0,536870911}function kx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Ax(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ox(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Bw(e){e=e|0,Mx(e)}function Ix(e){e=e|0,Px(e+24|0)}function Px(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Mx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,15,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fx(e){return e=e|0,Rx(t[(Lx(e)|0)>>2]|0)|0}function Lx(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}function Rx(e){return e=e|0,Xc(ph[e&7]()|0)|0}function Nx(){var e=0;return c[7832]|0||(bx(10052),Bt(25,10052,Q|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Bx(e,n){e=e|0,n=n|0,t[e>>2]=jx()|0,t[e+4>>2]=Ux()|0,t[e+12>>2]=n,t[e+8>>2]=qx()|0,t[e+32>>2]=2}function jx(){return 11709}function Ux(){return 1188}function qx(){return eh()|0}function zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Wx(r),Ve(r)):n|0&&(mu(n),Ve(n))}function Sf(e,n){return e=e|0,n=n|0,n&e|0}function Wx(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function eh(){var e=0;return c[7824]|0||(t[2511]=Hx()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function Hx(){return 0}function bx(e){e=e|0,Ys(e)}function Gx(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=h,h=h+32|0,r=n+24|0,l=n+16|0,s=n+8|0,o=n,Vx(e,4827),Yx(e,4834,3)|0,$x(e,3682,47)|0,t[l>>2]=9,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],Kx(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Xx(e,4871,r)|0,t[o>>2]=10,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],Jx(e,4891,r)|0,h=n}function Vx(e,n){e=e|0,n=n|0;var r=0;r=Ok()|0,t[e>>2]=r,Ik(r,n),Cf(t[e>>2]|0)}function Yx(e,n,r){return e=e|0,n=n|0,r=r|0,pk(e,Zn(n)|0,r,0),e|0}function $x(e,n,r){return e=e|0,n=n|0,r=r|0,Q7(e,Zn(n)|0,r,0),e|0}function Kx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],F7(e,n,s),h=o,e|0}function Xx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],h7(e,n,s),h=o,e|0}function Jx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qx(e,n,s),h=o,e|0}function Qx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Zx(e,r,s,1),h=o}function Zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=e7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,t7(l,o)|0,o),h=s}function E4(){var e=0,n=0;if(c[7840]|0||(Uw(10100),Bt(48,10100,Q|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uw(10100)}return 10100}function e7(e){return e=e|0,0}function t7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],jw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(n7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function jw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function n7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=r7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,i7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],jw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,o7(e,_),u7(_),h=k;return}}function r7(e){return e=e|0,357913941}function i7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function o7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function u7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Uw(e){e=e|0,f7(e)}function s7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function f7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,c7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c7(){return 1364}function a7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=d7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=p7(n,s,r)|0,h=o,r|0}function d7(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e*12|0)|0}function p7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,s=ip(J4[o&15](e,s)|0)|0,h=l,s|0}function h7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],m7(e,r,s,0),h=o}function m7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=S4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=v7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,g7(l,o)|0,o),h=s}function S4(){var e=0,n=0;if(c[7848]|0||(zw(10136),Bt(49,10136,Q|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zw(10136)}return 10136}function v7(e){return e=e|0,0}function g7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=S4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],qw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(_7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function _7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=y7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,w7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],qw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,D7(e,_),E7(_),h=k;return}}function y7(e){return e=e|0,357913941}function w7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function D7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function E7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function zw(e){e=e|0,T7(e)}function S7(e){e=e|0,C7(e+24|0)}function C7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function T7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,9,n,x7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x7(){return 1372}function k7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=A7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],O7(n,s,r),h=o}function A7(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e*12|0)|0}function O7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=tt;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),I7(s,r),d=w(P7(s,r)),tD[o&1](e,d),h=l}function I7(e,n){e=e|0,n=+n}function P7(e,n){return e=e|0,n=+n,w(M7(n))}function M7(e){return e=+e,w(e)}function F7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L7(e,r,s,0),h=o}function L7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=C4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=R7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,N7(l,o)|0,o),h=s}function C4(){var e=0,n=0;if(c[7856]|0||(Hw(10172),Bt(50,10172,Q|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hw(10172)}return 10172}function R7(e){return e=e|0,0}function N7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=C4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ww(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(B7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ww(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function B7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=j7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,U7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ww(l,o,r),t[y>>2]=(t[y>>2]|0)+12,q7(e,_),z7(_),h=k;return}}function j7(e){return e=e|0,357913941}function U7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function q7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function z7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Hw(e){e=e|0,b7(e)}function W7(e){e=e|0,H7(e+24|0)}function H7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function b7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,G7()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function G7(){return 1380}function V7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Y7(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],$7(n,l,r,o),h=s}function Y7(e){return e=e|0,(t[(C4()|0)+24>>2]|0)+(e*12|0)|0}function $7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,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),ts(l,r),l=ns(l,r)|0,K7(d,o),d=X7(d,o)|0,X1[s&15](e,l,d),h=_}function K7(e,n){e=e|0,n=n|0}function X7(e,n){return e=e|0,n=n|0,J7(n)|0}function J7(e){return e=e|0,(e|0)!=0|0}function Q7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=T4()|0,e=Z7(r)|0,ur(l,n,s,e,ek(r,o)|0,o)}function T4(){var e=0,n=0;if(c[7864]|0||(Gw(10208),Bt(51,10208,Q|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10208)}return 10208}function Z7(e){return e=e|0,e|0}function ek(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=T4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(bw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function bw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rk(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,bw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,ik(e,s),ok(s),h=_;return}}function nk(e){return e=e|0,536870911}function rk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function ik(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function ok(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Gw(e){e=e|0,lk(e)}function uk(e){e=e|0,sk(e+24|0)}function sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,24,n,fk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fk(){return 1392}function ck(e,n){e=e|0,n=n|0,dk(t[(ak(e)|0)>>2]|0,n)}function ak(e){return e=e|0,(t[(T4()|0)+24>>2]|0)+(e<<3)|0}function dk(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,Nl[e&127](n),h=r}function pk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=x4()|0,e=hk(r)|0,ur(l,n,s,e,mk(r,o)|0,o)}function x4(){var e=0,n=0;if(c[7872]|0||(Yw(10244),Bt(52,10244,Q|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Yw(10244)}return 10244}function hk(e){return e=e|0,e|0}function mk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=x4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Vw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(vk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function vk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=gk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,_k(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Vw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,yk(e,s),wk(s),h=_;return}}function gk(e){return e=e|0,536870911}function _k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function yk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function wk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Yw(e){e=e|0,Sk(e)}function Dk(e){e=e|0,Ek(e+24|0)}function Ek(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Sk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,16,n,Ck()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ck(){return 1400}function Tk(e){return e=e|0,kk(t[(xk(e)|0)>>2]|0)|0}function xk(e){return e=e|0,(t[(x4()|0)+24>>2]|0)+(e<<3)|0}function kk(e){return e=e|0,Ak(ph[e&7]()|0)|0}function Ak(e){return e=e|0,e|0}function Ok(){var e=0;return c[7880]|0||(Nk(10280),Bt(25,10280,Q|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Ik(e,n){e=e|0,n=n|0,t[e>>2]=Pk()|0,t[e+4>>2]=Mk()|0,t[e+12>>2]=n,t[e+8>>2]=Fk()|0,t[e+32>>2]=4}function Pk(){return 11711}function Mk(){return 1356}function Fk(){return eh()|0}function Lk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Rk(r),Ve(r)):n|0&&(Gi(n),Ve(n))}function Rk(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function Nk(e){e=e|0,Ys(e)}function Bk(e){e=e|0,jk(e,4920),Uk(e)|0,qk(e)|0}function jk(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,sA(r,n),Cf(t[e>>2]|0)}function Uk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,Jk()|0),e|0}function qk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,zk()|0),e|0}function zk(){var e=0;return c[7888]|0||($w(10328),Bt(53,10328,Q|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),Dn(10328)|0||$w(10328),10328}function uc(e,n){e=e|0,n=n|0,ur(e,0,n,0,0,0)}function $w(e){e=e|0,bk(e),sc(e,10)}function Wk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function bk(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,$k()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Gk(e,n,r){e=e|0,n=n|0,r=+r,Vk(e,n,r)}function sc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function Vk(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,l=o+8|0,_=o+13|0,s=o,d=o+12|0,ts(_,n),t[l>>2]=ns(_,n)|0,wu(d,r),L[s>>3]=+Du(d,r),Yk(e,l,s),h=o}function Yk(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),c[e+24>>0]=1}function $k(){return 1404}function Kk(e,n){return e=e|0,n=+n,Xk(e,n)|0}function Xk(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,l=o+4|0,d=o+8|0,_=o,s=Qo(8)|0,r=s,y=Tt(16)|0,ts(l,e),e=ns(l,e)|0,wu(d,n),M(y,e,+Du(d,n)),d=r+4|0,t[d>>2]=y,e=Tt(8)|0,d=t[d>>2]|0,t[_>>2]=0,t[l>>2]=t[_>>2],P1(e,d,l),t[s>>2]=e,h=o,r|0}function Jk(){var e=0;return c[7896]|0||(Kw(10364),Bt(54,10364,Q|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),Dn(10364)|0||Kw(10364),10364}function Kw(e){e=e|0,eA(e),sc(e,55)}function Qk(e){e=e|0,Zk(e+24|0)}function Zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function eA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,4,n,iA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function tA(e){e=e|0,nA(e)}function nA(e){e=e|0,rA(e)}function rA(e){e=e|0,Xw(e+8|0),c[e+24>>0]=1}function Xw(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}function iA(){return 1424}function oA(){return uA()|0}function uA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,Xw(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(o,l,s),t[r>>2]=o,h=n,e|0}function sA(e,n){e=e|0,n=n|0,t[e>>2]=lA()|0,t[e+4>>2]=fA()|0,t[e+12>>2]=n,t[e+8>>2]=cA()|0,t[e+32>>2]=5}function lA(){return 11710}function fA(){return 1416}function cA(){return th()|0}function aA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dA(r),Ve(r)):n|0&&Ve(n)}function dA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function th(){var e=0;return c[7904]|0||(t[2600]=pA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function pA(){return t[357]|0}function hA(e){e=e|0,mA(e,4926),vA(e)|0}function mA(e,n){e=e|0,n=n|0;var r=0;r=u1()|0,t[e>>2]=r,kA(r,n),Cf(t[e>>2]|0)}function vA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,gA()|0),e|0}function gA(){var e=0;return c[7912]|0||(Jw(10412),Bt(56,10412,Q|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),Dn(10412)|0||Jw(10412),10412}function Jw(e){e=e|0,wA(e),sc(e,57)}function _A(e){e=e|0,yA(e+24|0)}function yA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function wA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,5,n,CA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DA(e){e=e|0,EA(e)}function EA(e){e=e|0,SA(e)}function SA(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));c[e+56>>0]=1}function CA(){return 1432}function TA(){return xA()|0}function xA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=h,h=h+16|0,e=d+4|0,n=d,r=Qo(8)|0,o=r,s=Tt(48)|0,l=s,_=l+48|0;do t[l>>2]=0,l=l+4|0;while((l|0)<(_|0));return l=o+4|0,t[l>>2]=s,_=Tt(8)|0,l=t[l>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Wd(_,l,e),t[r>>2]=_,h=d,o|0}function kA(e,n){e=e|0,n=n|0,t[e>>2]=AA()|0,t[e+4>>2]=OA()|0,t[e+12>>2]=n,t[e+8>>2]=IA()|0,t[e+32>>2]=6}function AA(){return 11704}function OA(){return 1436}function IA(){return th()|0}function PA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(MA(r),Ve(r)):n|0&&Ve(n)}function MA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function FA(e){e=e|0,LA(e,4933),RA(e)|0,NA(e)|0}function LA(e,n){e=e|0,n=n|0;var r=0;r=uO()|0,t[e>>2]=r,sO(r,n),Cf(t[e>>2]|0)}function RA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,XA()|0),e|0}function NA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,BA()|0),e|0}function BA(){var e=0;return c[7920]|0||(Qw(10452),Bt(58,10452,Q|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),Dn(10452)|0||Qw(10452),10452}function Qw(e){e=e|0,qA(e),sc(e,1)}function jA(e){e=e|0,UA(e+24|0)}function UA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function qA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,bA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zA(e,n,r){e=e|0,n=+n,r=+r,WA(e,n,r)}function WA(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,l=o+8|0,_=o+17|0,s=o,d=o+16|0,wu(_,n),L[l>>3]=+Du(_,n),wu(d,r),L[s>>3]=+Du(d,r),HA(e,l,s),h=o}function HA(e,n,r){e=e|0,n=n|0,r=r|0,Zw(e+8|0,+L[n>>3],+L[r>>3]),c[e+24>>0]=1}function Zw(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}function bA(){return 1472}function GA(e,n){return e=+e,n=+n,VA(e,n)|0}function VA(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,d=o+4|0,_=o+8|0,y=o,s=Qo(8)|0,r=s,l=Tt(16)|0,wu(d,e),e=+Du(d,e),wu(_,n),Zw(l,e,+Du(_,n)),_=r+4|0,t[_>>2]=l,l=Tt(8)|0,_=t[_>>2]|0,t[y>>2]=0,t[d>>2]=t[y>>2],e8(l,_,d),t[s>>2]=l,h=o,r|0}function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(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 YA(e){e=e|0,da(e),Ve(e)}function $A(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function KA(e){e=e|0,Ve(e)}function XA(){var e=0;return c[7928]|0||(t8(10488),Bt(59,10488,Q|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),Dn(10488)|0||t8(10488),10488}function t8(e){e=e|0,ZA(e),sc(e,60)}function JA(e){e=e|0,QA(e+24|0)}function QA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function ZA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,6,n,rO()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eO(e){e=e|0,tO(e)}function tO(e){e=e|0,nO(e)}function nO(e){e=e|0,n8(e+8|0),c[e+24>>0]=1}function n8(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function rO(){return 1492}function iO(){return oO()|0}function oO(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,n8(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],e8(o,l,s),t[r>>2]=o,h=n,e|0}function uO(){var e=0;return c[7936]|0||(pO(10524),Bt(25,10524,Q|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function sO(e,n){e=e|0,n=n|0,t[e>>2]=lO()|0,t[e+4>>2]=fO()|0,t[e+12>>2]=n,t[e+8>>2]=cO()|0,t[e+32>>2]=7}function lO(){return 11700}function fO(){return 1484}function cO(){return th()|0}function aO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dO(r),Ve(r)):n|0&&Ve(n)}function dO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function pO(e){e=e|0,Ys(e)}function hO(e,n,r){e=e|0,n=n|0,r=r|0,e=Zn(n)|0,n=mO(r)|0,r=vO(r,0)|0,VO(e,n,r,k4()|0,0)}function mO(e){return e=e|0,e|0}function vO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=k4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(i8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SO(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k4(){var e=0,n=0;if(c[7944]|0||(r8(10568),Bt(61,10568,Q|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r8(10568)}return 10568}function r8(e){e=e|0,yO(e)}function gO(e){e=e|0,_O(e+24|0)}function _O(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yO(e){e=e|0;var n=0;n=An()|0,Nn(e,1,17,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wO(e){return e=e|0,EO(t[(DO(e)|0)>>2]|0)|0}function DO(e){return e=e|0,(t[(k4()|0)+24>>2]|0)+(e<<3)|0}function EO(e){return e=e|0,ea(ph[e&7]()|0)|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=CO(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,TO(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,i8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,xO(e,s),kO(s),h=_;return}}function CO(e){return e=e|0,536870911}function TO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function xO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function AO(){OO()}function OO(){IO(10604)}function IO(e){e=e|0,PO(e,4955)}function PO(e,n){e=e|0,n=n|0;var r=0;r=MO()|0,t[e>>2]=r,FO(r,n),Cf(t[e>>2]|0)}function MO(){var e=0;return c[7952]|0||(WO(10612),Bt(25,10612,Q|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function FO(e,n){e=e|0,n=n|0,t[e>>2]=BO()|0,t[e+4>>2]=jO()|0,t[e+12>>2]=n,t[e+8>>2]=UO()|0,t[e+32>>2]=8}function Cf(e){e=e|0;var n=0,r=0;n=h,h=h+16|0,r=n,sa()|0,t[r>>2]=e,LO(10608,r),h=n}function sa(){return c[11714]|0||(t[2652]=0,Bt(62,10608,Q|0)|0,c[11714]=1),10608}function LO(e,n){e=e|0,n=n|0;var r=0;r=Tt(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function RO(e){e=e|0,NO(e)}function NO(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,Ve(r);while((n|0)!=0);t[e>>2]=0}function BO(){return 11715}function jO(){return 1496}function UO(){return eh()|0}function qO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(zO(r),Ve(r)):n|0&&Ve(n)}function zO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function WO(e){e=e|0,Ys(e)}function HO(e,n){e=e|0,n=n|0;var r=0,o=0;sa()|0,r=t[2652]|0;e:do if(r|0){for(;o=t[r+4>>2]|0,!(o|0?(U8(A4(o)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;bO(o,n)}while(0)}function A4(e){return e=e|0,t[e+12>>2]|0}function bO(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Ju(r),Ve(r)),r=Tt(4)|0,ba(r,n),t[e>>2]=r}function O4(){return c[11716]|0||(t[2664]=0,Bt(63,10656,Q|0)|0,c[11716]=1),10656}function o8(){var e=0;return c[11717]|0?e=t[2665]|0:(GO(),t[2665]=1504,c[11717]=1,e=1504),e|0}function GO(){c[11740]|0||(c[11718]=Lt(Lt(8,0)|0,0)|0,c[11719]=Lt(Lt(0,0)|0,0)|0,c[11720]=Lt(Lt(0,16)|0,0)|0,c[11721]=Lt(Lt(8,0)|0,0)|0,c[11722]=Lt(Lt(0,0)|0,0)|0,c[11723]=Lt(Lt(8,0)|0,0)|0,c[11724]=Lt(Lt(0,0)|0,0)|0,c[11725]=Lt(Lt(8,0)|0,0)|0,c[11726]=Lt(Lt(0,0)|0,0)|0,c[11727]=Lt(Lt(8,0)|0,0)|0,c[11728]=Lt(Lt(0,0)|0,0)|0,c[11729]=Lt(Lt(0,0)|0,32)|0,c[11730]=Lt(Lt(0,0)|0,32)|0,c[11740]=1)}function u8(){return 1572}function VO(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0;l=h,h=h+32|0,T=l+16|0,k=l+12|0,y=l+8|0,_=l+4|0,d=l,t[T>>2]=e,t[k>>2]=n,t[y>>2]=r,t[_>>2]=o,t[d>>2]=s,O4()|0,YO(10656,T,k,y,_,d),h=l}function YO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=Tt(24)|0,t1(d+4|0,t[n>>2]|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0),t[d>>2]=t[e>>2],t[e>>2]=d}function s8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0;if(qe=h,h=h+32|0,le=qe+20|0,ie=qe+8|0,Pe=qe+4|0,ke=qe,n=t[n>>2]|0,n|0){we=le+4|0,y=le+8|0,k=ie+4|0,T=ie+8|0,P=ie+8|0,q=le+8|0;do{if(d=n+4|0,_=I4(d)|0,_|0){if(s=b1(_)|0,t[le>>2]=0,t[we>>2]=0,t[y>>2]=0,o=(G1(_)|0)+1|0,$O(le,o),o|0)for(;o=o+-1|0,os(ie,t[s>>2]|0),l=t[we>>2]|0,l>>>0<(t[q>>2]|0)>>>0?(t[l>>2]=t[ie>>2],t[we>>2]=(t[we>>2]|0)+4):P4(le,ie),o;)s=s+4|0;o=V1(_)|0,t[ie>>2]=0,t[k>>2]=0,t[T>>2]=0;e:do if(t[o>>2]|0)for(s=0,l=0;;){if((s|0)==(l|0)?KO(ie,o):(t[s>>2]=t[o>>2],t[k>>2]=(t[k>>2]|0)+4),o=o+4|0,!(t[o>>2]|0))break e;s=t[k>>2]|0,l=t[P>>2]|0}while(0);t[Pe>>2]=nh(d)|0,t[ke>>2]=Dn(_)|0,XO(r,e,Pe,ke,le,ie),M4(ie),Rl(le)}n=t[n>>2]|0}while((n|0)!=0)}h=qe}function I4(e){return e=e|0,t[e+12>>2]|0}function b1(e){return e=e|0,t[e+12>>2]|0}function G1(e){return e=e|0,t[e+16>>2]|0}function $O(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=t[e>>2]|0,(t[e+8>>2]|0)-o>>2>>>0>>0&&(m8(r,n,(t[e+4>>2]|0)-o>>2,e+8|0),v8(e,r),g8(r)),h=s}function P4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=h8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,m8(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,v8(e,r),g8(r),h=d;return}}function V1(e){return e=e|0,t[e+8>>2]|0}function KO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=p8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,mI(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,vI(e,r),gI(r),h=d;return}}function nh(e){return e=e|0,t[e>>2]|0}function XO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JO(e,n,r,o,s,l)}function M4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function Rl(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function JO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+48|0,T=d+40|0,_=d+32|0,P=d+24|0,y=d+12|0,k=d,Zo(_),e=Oi(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,o=t[o>>2]|0,F4(y,s),QO(k,l),t[T>>2]=t[P>>2],ZO(e,T,r,o,y,k),M4(k),Rl(y),eu(_),h=d}function F4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(pI(e,o),hI(e,t[n>>2]|0,t[r>>2]|0,o))}function QO(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(aI(e,o),dI(e,t[n>>2]|0,t[r>>2]|0,o))}function ZO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,T=d+28|0,P=d+24|0,_=d+12|0,y=d,k=ko(eI()|0)|0,t[P>>2]=t[n>>2],t[T>>2]=t[P>>2],n=lc(T)|0,r=l8(r)|0,o=L4(o)|0,t[_>>2]=t[s>>2],T=s+4|0,t[_+4>>2]=t[T>>2],P=s+8|0,t[_+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[s>>2]=0,s=R4(_)|0,t[y>>2]=t[l>>2],T=l+4|0,t[y+4>>2]=t[T>>2],P=l+8|0,t[y+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[l>>2]=0,qo(0,k|0,e|0,n|0,r|0,o|0,s|0,tI(y)|0)|0,M4(y),Rl(_),h=d}function eI(){var e=0;return c[7968]|0||(fI(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function lc(e){return e=e|0,c8(e)|0}function l8(e){return e=e|0,f8(e)|0}function L4(e){return e=e|0,ea(e)|0}function R4(e){return e=e|0,rI(e)|0}function tI(e){return e=e|0,nI(e)|0}function nI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=f8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function f8(e){return e=e|0,e|0}function rI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=c8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function c8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(a8()|0)|0,o?(s1(n,o),l1(r,n),UF(e,r),e=f1(n)|0):e=iI(e)|0,h=s,e|0}function a8(){var e=0;return c[7960]|0||(lI(10664),Bt(25,10664,Q|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function iI(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,t[_>>2]=t[e>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function d8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(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 oI(e){e=e|0,da(e),Ve(e)}function uI(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function sI(e){e=e|0,Ve(e)}function lI(e){e=e|0,Ys(e)}function fI(e){e=e|0,Ao(e,cI()|0,5)}function cI(){return 1676}function aI(e,n){e=e|0,n=n|0;var r=0;if((p8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function dI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function p8(e){return e=e|0,1073741823}function pI(e,n){e=e|0,n=n|0;var r=0;if((h8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function hI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function h8(e){return e=e|0,1073741823}function mI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function vI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function m8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function v8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function g8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function _I(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(ie=h,h=h+32|0,T=ie+20|0,P=ie+12|0,k=ie+16|0,q=ie+4|0,we=ie,le=ie+8|0,_=o8()|0,l=t[_>>2]|0,d=t[l>>2]|0,d|0)for(y=t[_+8>>2]|0,_=t[_+4>>2]|0;os(T,d),yI(e,T,_,y),l=l+4|0,d=t[l>>2]|0,d;)y=y+1|0,_=_+1|0;if(l=u8()|0,d=t[l>>2]|0,d|0)do os(T,d),t[P>>2]=t[l+4>>2],wI(n,T,P),l=l+8|0,d=t[l>>2]|0;while((d|0)!=0);if(l=t[(sa()|0)>>2]|0,l|0)do n=t[l+4>>2]|0,os(T,t[(la(n)|0)>>2]|0),t[P>>2]=A4(n)|0,DI(r,T,P),l=t[l>>2]|0;while((l|0)!=0);if(os(k,0),l=O4()|0,t[T>>2]=t[k>>2],s8(T,l,s),l=t[(sa()|0)>>2]|0,l|0){e=T+4|0,n=T+8|0,r=T+8|0;do{if(y=t[l+4>>2]|0,os(P,t[(la(y)|0)>>2]|0),EI(q,_8(y)|0),d=t[q>>2]|0,d|0){t[T>>2]=0,t[e>>2]=0,t[n>>2]=0;do os(we,t[(la(t[d+4>>2]|0)|0)>>2]|0),_=t[e>>2]|0,_>>>0<(t[r>>2]|0)>>>0?(t[_>>2]=t[we>>2],t[e>>2]=(t[e>>2]|0)+4):P4(T,we),d=t[d>>2]|0;while((d|0)!=0);SI(o,P,T),Rl(T)}t[le>>2]=t[P>>2],k=y8(y)|0,t[T>>2]=t[le>>2],s8(T,k,s),bd(q),l=t[l>>2]|0}while((l|0)!=0)}h=ie}function yI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,RI(e,n,r,o)}function wI(e,n,r){e=e|0,n=n|0,r=r|0,LI(e,n,r)}function la(e){return e=e|0,e|0}function DI(e,n,r){e=e|0,n=n|0,r=r|0,II(e,n,r)}function _8(e){return e=e|0,e+16|0}function EI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=h,h=h+16|0,s=l+8|0,r=l,t[e>>2]=0,o=t[n>>2]|0,t[s>>2]=o,t[r>>2]=e,r=OI(r)|0,o|0){if(o=Tt(12)|0,d=(w8(s)|0)+4|0,e=t[d+4>>2]|0,n=o+4|0,t[n>>2]=t[d>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=o;else for(n=o;e=Tt(12)|0,y=(w8(s)|0)+4|0,_=t[y+4>>2]|0,d=e+4|0,t[d>>2]=t[y>>2],t[d+4>>2]=_,t[n>>2]=e,d=t[t[s>>2]>>2]|0,t[s>>2]=d,d;)n=e;t[e>>2]=t[r>>2],t[r>>2]=o}h=l}function SI(e,n,r){e=e|0,n=n|0,r=r|0,CI(e,n,r)}function y8(e){return e=e|0,e+24|0}function CI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+24|0,s=o+16|0,_=o+12|0,l=o,Zo(s),e=Oi(e)|0,t[_>>2]=t[n>>2],F4(l,r),t[d>>2]=t[_>>2],TI(e,d,l),Rl(l),eu(s),h=o}function TI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+16|0,_=o+12|0,s=o,l=ko(xI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,t[s>>2]=t[r>>2],d=r+4|0,t[s+4>>2]=t[d>>2],_=r+8|0,t[s+8>>2]=t[_>>2],t[_>>2]=0,t[d>>2]=0,t[r>>2]=0,Ts(0,l|0,e|0,n|0,R4(s)|0)|0,Rl(s),h=o}function xI(){var e=0;return c[7976]|0||(kI(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function kI(e){e=e|0,Ao(e,AI()|0,2)}function AI(){return 1732}function OI(e){return e=e|0,t[e>>2]|0}function w8(e){return e=e|0,t[e>>2]|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function D8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+4|0,d=o,s=ko(PI()|0)|0,t[d>>2]=t[n>>2],t[l>>2]=t[d>>2],n=lc(l)|0,Ts(0,s|0,e|0,n|0,l8(r)|0)|0,h=o}function PI(){var e=0;return c[7984]|0||(MI(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function MI(e){e=e|0,Ao(e,FI()|0,2)}function FI(){return 1744}function LI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function RI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),e=Oi(e)|0,t[_>>2]=t[n>>2],r=c[r>>0]|0,o=c[o>>0]|0,t[d>>2]=t[_>>2],NI(e,d,r,o),eu(l),h=s}function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,d=s+4|0,_=s,l=ko(BI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,r=fa(r)|0,Bu(0,l|0,e|0,n|0,r|0,fa(o)|0)|0,h=s}function BI(){var e=0;return c[7992]|0||(UI(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function fa(e){return e=e|0,jI(e)|0}function jI(e){return e=e|0,e&255|0}function UI(e){e=e|0,Ao(e,qI()|0,3)}function qI(){return 1756}function zI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;switch(q=h,h=h+32|0,_=q+8|0,y=q+4|0,k=q+20|0,T=q,_1(e,0),o=jF(n)|0,t[_>>2]=0,P=_+4|0,t[P>>2]=0,t[_+8>>2]=0,o<<24>>24){case 0:{c[k>>0]=0,WI(y,r,k),rh(e,y)|0,ei(y);break}case 8:{P=z4(n)|0,c[k>>0]=8,os(T,t[P+4>>2]|0),HI(y,r,k,T,P+8|0),rh(e,y)|0,ei(y);break}case 9:{if(l=z4(n)|0,n=t[l+4>>2]|0,n|0)for(d=_+8|0,s=l+12|0;n=n+-1|0,os(y,t[s>>2]|0),o=t[P>>2]|0,o>>>0<(t[d>>2]|0)>>>0?(t[o>>2]=t[y>>2],t[P>>2]=(t[P>>2]|0)+4):P4(_,y),n;)s=s+4|0;c[k>>0]=9,os(T,t[l+8>>2]|0),bI(y,r,k,T,_),rh(e,y)|0,ei(y);break}default:P=z4(n)|0,c[k>>0]=o,os(T,t[P+4>>2]|0),GI(y,r,k,T),rh(e,y)|0,ei(y)}Rl(_),h=q}function WI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Zo(s),n=Oi(n)|0,iP(e,n,c[r>>0]|0),eu(s),h=o}function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&ju(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function HI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+32|0,_=l+16|0,d=l+8|0,y=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[y>>2]=t[o>>2],s=t[s>>2]|0,t[_>>2]=t[y>>2],eP(e,n,r,_,s),eu(d),h=l}function bI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+24|0,d=l+16|0,k=l+12|0,_=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[k>>2]=t[o>>2],F4(_,s),t[y>>2]=t[k>>2],XI(e,n,r,y,_),Rl(_),eu(d),h=l}function GI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),n=Oi(n)|0,r=c[r>>0]|0,t[_>>2]=t[o>>2],t[d>>2]=t[_>>2],VI(e,n,r,d),eu(l),h=s}function VI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+4|0,_=s,d=ko(YI()|0)|0,r=fa(r)|0,t[_>>2]=t[o>>2],t[l>>2]=t[_>>2],ih(e,Ts(0,d|0,n|0,r|0,lc(l)|0)|0),h=s}function YI(){var e=0;return c[8e3]|0||($I(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function ih(e,n){e=e|0,n=n|0,_1(e,n)}function $I(e){e=e|0,Ao(e,KI()|0,2)}function KI(){return 1772}function XI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+16|0,k=l+12|0,d=l,_=ko(JI()|0)|0,r=fa(r)|0,t[k>>2]=t[o>>2],t[y>>2]=t[k>>2],o=lc(y)|0,t[d>>2]=t[s>>2],y=s+4|0,t[d+4>>2]=t[y>>2],k=s+8|0,t[d+8>>2]=t[k>>2],t[k>>2]=0,t[y>>2]=0,t[s>>2]=0,ih(e,Bu(0,_|0,n|0,r|0,o|0,R4(d)|0)|0),Rl(d),h=l}function JI(){var e=0;return c[8008]|0||(QI(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function QI(e){e=e|0,Ao(e,ZI()|0,3)}function ZI(){return 1784}function eP(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,_=l+4|0,y=l,d=ko(tP()|0)|0,r=fa(r)|0,t[y>>2]=t[o>>2],t[_>>2]=t[y>>2],o=lc(_)|0,ih(e,Bu(0,d|0,n|0,r|0,o|0,L4(s)|0)|0),h=l}function tP(){var e=0;return c[8016]|0||(nP(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function nP(e){e=e|0,Ao(e,rP()|0,3)}function rP(){return 1800}function iP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=ko(oP()|0)|0,ih(e,sf(0,o|0,n|0,fa(r)|0)|0)}function oP(){var e=0;return c[8024]|0||(uP(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function uP(e){e=e|0,Ao(e,sP()|0,1)}function sP(){return 1816}function lP(){fP(),cP(),aP()}function fP(){t[2702]=K8(65536)|0}function cP(){PP(10856)}function aP(){dP(10816)}function dP(e){e=e|0,pP(e,5044),hP(e)|0}function pP(e,n){e=e|0,n=n|0;var r=0;r=a8()|0,t[e>>2]=r,TP(r,n),Cf(t[e>>2]|0)}function hP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,mP()|0),e|0}function mP(){var e=0;return c[8032]|0||(E8(10820),Bt(64,10820,Q|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),Dn(10820)|0||E8(10820),10820}function E8(e){e=e|0,_P(e),sc(e,25)}function vP(e){e=e|0,gP(e+24|0)}function gP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function _P(e){e=e|0;var n=0;n=An()|0,Nn(e,5,18,n,EP()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yP(e,n){e=e|0,n=n|0,wP(e,n)}function wP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=h,h=h+16|0,o=r,s=r+4|0,Ml(s,n),t[o>>2]=Fl(s,n)|0,DP(e,o),h=r}function DP(e,n){e=e|0,n=n|0,S8(e+4|0,t[n>>2]|0),c[e+8>>0]=1}function S8(e,n){e=e|0,n=n|0,t[e>>2]=n}function EP(){return 1824}function SP(e){return e=e|0,CP(e)|0}function CP(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,Ml(s,e),S8(_,Fl(s,e)|0),l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function Qo(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=K8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function TP(e,n){e=e|0,n=n|0,t[e>>2]=xP()|0,t[e+4>>2]=kP()|0,t[e+12>>2]=n,t[e+8>>2]=AP()|0,t[e+32>>2]=9}function xP(){return 11744}function kP(){return 1832}function AP(){return th()|0}function OP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(IP(r),Ve(r)):n|0&&Ve(n)}function IP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function PP(e){e=e|0,MP(e,5052),FP(e)|0,LP(e,5058,26)|0,RP(e,5069,1)|0,NP(e,5077,10)|0,BP(e,5087,19)|0,jP(e,5094,27)|0}function MP(e,n){e=e|0,n=n|0;var r=0;r=IF()|0,t[e>>2]=r,PF(r,n),Cf(t[e>>2]|0)}function FP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,vF()|0),e|0}function LP(e,n,r){return e=e|0,n=n|0,r=r|0,QM(e,Zn(n)|0,r,0),e|0}function RP(e,n,r){return e=e|0,n=n|0,r=r|0,BM(e,Zn(n)|0,r,0),e|0}function NP(e,n,r){return e=e|0,n=n|0,r=r|0,mM(e,Zn(n)|0,r,0),e|0}function BP(e,n,r){return e=e|0,n=n|0,r=r|0,eM(e,Zn(n)|0,r,0),e|0}function C8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(o=t[r>>2]|0,t[2703]=o,!r)r=o;else break}Ve(r)}t[2701]=e}function jP(e,n,r){return e=e|0,n=n|0,r=r|0,UP(e,Zn(n)|0,r,0),e|0}function UP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N4()|0,e=qP(r)|0,ur(l,n,s,e,zP(r,o)|0,o)}function N4(){var e=0,n=0;if(c[8040]|0||(x8(10860),Bt(65,10860,Q|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10860)}return 10860}function qP(e){return e=e|0,e|0}function zP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=N4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(T8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WP(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function T8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=HP(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,bP(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,T8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,GP(e,s),VP(s),h=_;return}}function HP(e){return e=e|0,536870911}function bP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function GP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function VP(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function x8(e){e=e|0,KP(e)}function YP(e){e=e|0,$P(e+24|0)}function $P(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function KP(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,XP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function XP(){return 1840}function JP(e,n,r){e=e|0,n=n|0,r=r|0,ZP(t[(QP(e)|0)>>2]|0,n,r)}function QP(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}function ZP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+1|0,s=o,Ml(l,n),n=Fl(l,n)|0,Ml(s,r),r=Fl(s,r)|0,Bl[e&31](n,r),h=o}function eM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=B4()|0,e=tM(r)|0,ur(l,n,s,e,nM(r,o)|0,o)}function B4(){var e=0,n=0;if(c[8048]|0||(A8(10896),Bt(66,10896,Q|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A8(10896)}return 10896}function tM(e){return e=e|0,e|0}function nM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=B4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(k8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(rM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function rM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=iM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,oM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,k8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,uM(e,s),sM(s),h=_;return}}function iM(e){return e=e|0,536870911}function oM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function uM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function sM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function A8(e){e=e|0,cM(e)}function lM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function cM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,aM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aM(){return 1852}function dM(e,n){return e=e|0,n=n|0,hM(t[(pM(e)|0)>>2]|0,n)|0}function pM(e){return e=e|0,(t[(B4()|0)+24>>2]|0)+(e<<3)|0}function hM(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Ml(o,n),n=Fl(o,n)|0,n=ea(dc[e&31](n)|0)|0,h=r,n|0}function mM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=j4()|0,e=vM(r)|0,ur(l,n,s,e,gM(r,o)|0,o)}function j4(){var e=0,n=0;if(c[8056]|0||(I8(10932),Bt(67,10932,Q|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I8(10932)}return 10932}function vM(e){return e=e|0,e|0}function gM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=j4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(O8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(_M(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function O8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function _M(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=yM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,wM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,O8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,DM(e,s),EM(s),h=_;return}}function yM(e){return e=e|0,536870911}function wM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function DM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function EM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function I8(e){e=e|0,TM(e)}function SM(e){e=e|0,CM(e+24|0)}function CM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function TM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,7,n,xM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xM(){return 1860}function kM(e,n,r){return e=e|0,n=n|0,r=r|0,OM(t[(AM(e)|0)>>2]|0,n,r)|0}function AM(e){return e=e|0,(t[(j4()|0)+24>>2]|0)+(e<<3)|0}function OM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+32|0,d=o+12|0,l=o+8|0,_=o,y=o+16|0,s=o+4|0,IM(y,n),PM(_,y,n),$s(s,r),r=Ks(s,r)|0,t[d>>2]=t[_>>2],X1[e&15](l,d,r),r=MM(l)|0,ei(l),Xs(s),h=o,r|0}function IM(e,n){e=e|0,n=n|0}function PM(e,n,r){e=e|0,n=n|0,r=r|0,FM(e,r)}function MM(e){return e=e|0,Oi(e)|0}function FM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+16|0,r=s,o=n,o&1?(LM(r,0),c0(o|0,r|0)|0,RM(e,r),NM(r)):t[e>>2]=t[n>>2],h=s}function LM(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,c[e+8>>0]=0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function NM(e){e=e|0,c[e+8>>0]=0}function BM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=U4()|0,e=jM(r)|0,ur(l,n,s,e,UM(r,o)|0,o)}function U4(){var e=0,n=0;if(c[8064]|0||(M8(10968),Bt(68,10968,Q|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));M8(10968)}return 10968}function jM(e){return e=e|0,e|0}function UM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=U4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(P8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(qM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function qM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=zM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,WM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,P8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,HM(e,s),bM(s),h=_;return}}function zM(e){return e=e|0,536870911}function WM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function HM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function bM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function M8(e){e=e|0,YM(e)}function GM(e){e=e|0,VM(e+24|0)}function VM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function YM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,1,n,$M()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $M(){return 1872}function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JM(t[(XM(e)|0)>>2]|0,n,r,o,s,l)}function XM(e){return e=e|0,(t[(U4()|0)+24>>2]|0)+(e<<3)|0}function JM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,_=d+16|0,y=d+12|0,k=d+8|0,T=d+4|0,P=d,$s(_,n),n=Ks(_,n)|0,$s(y,r),r=Ks(y,r)|0,$s(k,o),o=Ks(k,o)|0,$s(T,s),s=Ks(T,s)|0,$s(P,l),l=Ks(P,l)|0,eD[e&1](n,r,o,s,l),Xs(P),Xs(T),Xs(k),Xs(y),Xs(_),h=d}function QM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=q4()|0,e=ZM(r)|0,ur(l,n,s,e,eF(r,o)|0,o)}function q4(){var e=0,n=0;if(c[8072]|0||(L8(11004),Bt(69,11004,Q|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(Dn(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L8(11004)}return 11004}function ZM(e){return e=e|0,e|0}function eF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=q4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(F8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tF(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nF(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rF(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,F8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,iF(e,s),oF(s),h=_;return}}function nF(e){return e=e|0,536870911}function rF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function iF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function oF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function L8(e){e=e|0,lF(e)}function uF(e){e=e|0,sF(e+24|0)}function sF(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lF(e){e=e|0;var n=0;n=An()|0,Nn(e,1,12,n,fF()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fF(){return 1896}function cF(e,n,r){e=e|0,n=n|0,r=r|0,dF(t[(aF(e)|0)>>2]|0,n,r)}function aF(e){return e=e|0,(t[(q4()|0)+24>>2]|0)+(e<<3)|0}function dF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+4|0,s=o,pF(l,n),n=hF(l,n)|0,$s(s,r),r=Ks(s,r)|0,Bl[e&31](n,r),Xs(s),h=o}function pF(e,n){e=e|0,n=n|0}function hF(e,n){return e=e|0,n=n|0,mF(n)|0}function mF(e){return e=e|0,e|0}function vF(){var e=0;return c[8080]|0||(R8(11040),Bt(70,11040,Q|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),Dn(11040)|0||R8(11040),11040}function R8(e){e=e|0,yF(e),sc(e,71)}function gF(e){e=e|0,_F(e+24|0)}function _F(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yF(e){e=e|0;var n=0;n=An()|0,Nn(e,5,7,n,SF()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wF(e){e=e|0,DF(e)}function DF(e){e=e|0,EF(e)}function EF(e){e=e|0,c[e+8>>0]=1}function SF(){return 1936}function CF(){return TF()|0}function TF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,l=e+4|0,t[l>>2]=Tt(1)|0,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],xF(o,l,s),t[r>>2]=o,h=n,e|0}function xF(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(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 kF(e){e=e|0,da(e),Ve(e)}function AF(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function OF(e){e=e|0,Ve(e)}function IF(){var e=0;return c[8088]|0||(BF(11076),Bt(25,11076,Q|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function PF(e,n){e=e|0,n=n|0,t[e>>2]=MF()|0,t[e+4>>2]=FF()|0,t[e+12>>2]=n,t[e+8>>2]=LF()|0,t[e+32>>2]=10}function MF(){return 11745}function FF(){return 1940}function LF(){return eh()|0}function RF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(NF(r),Ve(r)):n|0&&Ve(n)}function NF(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function BF(e){e=e|0,Ys(e)}function os(e,n){e=e|0,n=n|0,t[e>>2]=n}function z4(e){return e=e|0,t[e>>2]|0}function jF(e){return e=e|0,c[t[e>>2]>>0]|0}function UF(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,t[o>>2]=t[e>>2],qF(n,o)|0,h=r}function qF(e,n){e=e|0,n=n|0;var r=0;return r=zF(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 zF(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Zo(o),e=Oi(e)|0,n=WF(e,t[n>>2]|0)|0,eu(o),h=r,n|0}function Zo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function WF(e,n){e=e|0,n=n|0;var r=0;return r=ko(HF()|0)|0,sf(0,r|0,e|0,L4(n)|0)|0}function eu(e){e=e|0,C8(t[e>>2]|0,t[e+4>>2]|0)}function HF(){var e=0;return c[8096]|0||(bF(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function bF(e){e=e|0,Ao(e,GF()|0,1)}function GF(){return 1948}function VF(){YF()}function YF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(le=h,h=h+16|0,T=le+4|0,P=le,si(65536,10804,t[2702]|0,10812),r=o8()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(o=t[r+8>>2]|0,r=t[r+4>>2]|0;As(e|0,C[r>>0]|0|0,c[o>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)o=o+1|0,r=r+1|0;if(e=u8()|0,n=t[e>>2]|0,n|0)do uu(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);uu($F()|0,5167),k=sa()|0,e=t[k>>2]|0;e:do if(e|0){do KF(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[k>>2]|0,e|0){y=k;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(XF(s)|0);)if(t[P>>2]=y,t[T>>2]=t[P>>2],JF(k,T)|0,!e)break e;if(QF(s),y=t[y>>2]|0,n=N8(s)|0,l=Wo()|0,d=h,h=h+((1*(n<<2)|0)+15&-16)|0,_=h,h=h+((1*(n<<2)|0)+15&-16)|0,n=t[(_8(s)|0)>>2]|0,n|0)for(r=d,o=_;t[r>>2]=t[(la(t[n+4>>2]|0)|0)>>2],t[o>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,o=o+4|0;ie=la(s)|0,n=ZF(s)|0,r=N8(s)|0,o=eL(s)|0,Is(ie|0,n|0,d|0,_|0,r|0,o|0,A4(s)|0),b0(l|0)}while((e|0)!=0)}}while(0);if(e=t[(O4()|0)>>2]|0,e|0)do ie=e+4|0,k=I4(ie)|0,s=V1(k)|0,l=b1(k)|0,d=(G1(k)|0)+1|0,_=oh(k)|0,y=B8(ie)|0,k=Dn(k)|0,T=nh(ie)|0,P=W4(ie)|0,zo(0,s|0,l|0,d|0,_|0,y|0,k|0,T|0,P|0,H4(ie)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(sa()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(q=t[(la(n)|0)>>2]|0,we=t[(y8(n)|0)>>2]|0,we|0):0){r=we;do{n=r+4|0,o=I4(n)|0;n:do if(o|0)switch(Dn(o)|0){case 0:break t;case 4:case 3:case 2:{_=V1(o)|0,y=b1(o)|0,k=(G1(o)|0)+1|0,T=oh(o)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,_|0,y|0,k|0,T|0,0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 1:{d=V1(o)|0,_=b1(o)|0,y=(G1(o)|0)+1|0,k=oh(o)|0,T=B8(n)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,d|0,_|0,y|0,k|0,T|0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 5:{k=V1(o)|0,T=b1(o)|0,P=(G1(o)|0)+1|0,ie=oh(o)|0,zo(q|0,k|0,T|0,P|0,ie|0,tL(o)|0,Dn(o)|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}_n()}while(0);uf(),h=le}function $F(){return 11703}function KF(e){e=e|0,c[e+40>>0]=0}function XF(e){return e=e|0,(c[e+40>>0]|0)!=0|0}function JF(e,n){return e=e|0,n=n|0,n=nL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],Ve(e),t[n>>2]|0}function QF(e){e=e|0,c[e+40>>0]=1}function N8(e){return e=e|0,t[e+20>>2]|0}function ZF(e){return e=e|0,t[e+8>>2]|0}function eL(e){return e=e|0,t[e+32>>2]|0}function oh(e){return e=e|0,t[e+4>>2]|0}function B8(e){return e=e|0,t[e+4>>2]|0}function W4(e){return e=e|0,t[e+8>>2]|0}function H4(e){return e=e|0,t[e+16>>2]|0}function tL(e){return e=e|0,t[e+20>>2]|0}function nL(e){return e=e|0,t[e>>2]|0}function uh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0;vt=h,h=h+16|0,q=vt;do if(e>>>0<245){if(k=e>>>0<11?16:e+11&-8,e=k>>>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,o=t[r>>2]|0,s=o+8|0,l=t[s>>2]|0,(e|0)==(l|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=l),_e=n<<3,t[o+4>>2]=_e|3,_e=o+_e+4|0,t[_e>>2]=t[_e>>2]|1,_e=s,h=vt,_e|0;if(T=t[2785]|0,k>>>0>T>>>0){if(r|0)return n=2<>>12&16,n=n>>>d,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,o=n>>>1&1,o=(r|d|s|e|o)+(n>>>o)|0,n=11172+(o<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,d=s+8|0,r=t[d>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),l=(o<<3)-k|0,t[s+4>>2]=k|3,o=s+k|0,t[o+4>>2]=l|1,t[o+l>>2]=l,T|0&&(s=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|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),t[2785]=l,t[2788]=o,_e=d,h=vt,_e|0;if(_=t[2784]|0,_){if(r=(_&0-_)+-1|0,d=r>>>12&16,r=r>>>d,l=r>>>5&8,r=r>>>l,y=r>>>2&4,r=r>>>y,o=r>>>1&2,r=r>>>o,e=r>>>1&1,e=t[11436+((l|d|y|o|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-k|0,o=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!o)y=e,l=r;else{do d=(t[o+4>>2]&-8)-k|0,y=d>>>0>>0,r=y?d:r,e=y?o:e,o=t[o+16+(((t[o+16>>2]|0)==0&1)<<2)>>2]|0;while((o|0)!=0);y=e,l=r}if(d=y+k|0,y>>>0>>0){s=t[y+24>>2]|0,n=t[y+12>>2]|0;do if((n|0)==(y|0)){if(e=y+20|0,n=t[e>>2]|0,!n&&(e=y+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0,r=n}else r=t[y+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[y+28>>2]|0,e=11436+(n<<2)|0,(y|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=_&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[y+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[y+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return l>>>0<16?(_e=l+k|0,t[y+4>>2]=_e|3,_e=y+_e+4|0,t[_e>>2]=t[_e>>2]|1):(t[y+4>>2]=k|3,t[d+4>>2]=l|1,t[d+l>>2]=l,T|0&&(o=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=o,t[n+12>>2]=o,t[o+8>>2]=n,t[o+12>>2]=r),t[2785]=l,t[2788]=d),_e=y+8|0,h=vt,_e|0}else P=k}else P=k}else P=k}else if(e>>>0<=4294967231)if(e=e+11|0,k=e&-8,y=t[2784]|0,y){o=0-k|0,e=e>>>8,e?k>>>0>16777215?_=31:(P=(e+1048320|0)>>>16&8,pe=e<>>16&4,pe=pe<>>16&2,_=14-(T|P|_)+(pe<<_>>>15)|0,_=k>>>(_+7|0)&1|_<<1):_=0,r=t[11436+(_<<2)>>2]|0;e:do if(!r)r=0,e=0,pe=57;else for(e=0,d=k<<((_|0)==31?0:25-(_>>>1)|0),l=0;;){if(s=(t[r+4>>2]&-8)-k|0,s>>>0>>0)if(s)e=r,o=s;else{e=r,o=0,s=r,pe=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(d>>>31<<2)>>2]|0,l=(s|0)==0|(s|0)==(r|0)?l:s,s=(r|0)==0,s){r=l,pe=57;break}else d=d<<((s^1)&1)}while(0);if((pe|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<_,e=y&(e|0-e),!e){P=k;break}P=(e&0-e)+-1|0,d=P>>>12&16,P=P>>>d,l=P>>>5&8,P=P>>>l,_=P>>>2&4,P=P>>>_,T=P>>>1&2,P=P>>>T,r=P>>>1&1,e=0,r=t[11436+((l|d|_|T|r)+(P>>>r)<<2)>>2]|0}r?(s=r,pe=61):(_=e,d=o)}if((pe|0)==61)for(;;)if(pe=0,r=(t[s+4>>2]&-8)-k|0,P=r>>>0>>0,r=P?r:o,e=P?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)o=r,pe=61;else{_=e,d=r;break}if((_|0)!=0?d>>>0<((t[2785]|0)-k|0)>>>0:0){if(l=_+k|0,_>>>0>=l>>>0)return _e=0,h=vt,_e|0;s=t[_+24>>2]|0,n=t[_+12>>2]|0;do if((n|0)==(_|0)){if(e=_+20|0,n=t[e>>2]|0,!n&&(e=_+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0}else _e=t[_+8>>2]|0,t[_e+12>>2]=n,t[n+8>>2]=_e;while(0);do if(s){if(e=t[_+28>>2]|0,r=11436+(e<<2)|0,(_|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){o=y&~(1<>2]|0)!=(_|0)&1)<<2)>>2]=n,!n){o=y;break}t[n+24>>2]=s,e=t[_+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[_+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),o=y}else o=y;while(0);do if(d>>>0>=16){if(t[_+4>>2]=k|3,t[l+4>>2]=d|1,t[l+d>>2]=d,n=d>>>3,d>>>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]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r;break}if(n=d>>>8,n?d>>>0>16777215?n=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=d>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[l+28>>2]=n,e=l+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}for(e=d<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(d|0)){pe=97;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=96;break}}if((pe|0)==96){t[o>>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}else if((pe|0)==97){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=l,t[pe>>2]=l,t[l+8>>2]=_e,t[l+12>>2]=r,t[l+24>>2]=0;break}}else _e=d+k|0,t[_+4>>2]=_e|3,_e=_+_e+4|0,t[_e>>2]=t[_e>>2]|1;while(0);return _e=_+8|0,h=vt,_e|0}else P=k}else P=k;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?(_e=e+P|0,t[2788]=_e,t[2785]=n,t[_e+4>>2]=n|1,t[_e+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,_e=e+r+4|0,t[_e>>2]=t[_e>>2]|1),_e=e+8|0,h=vt,_e|0;if(d=t[2786]|0,d>>>0>P>>>0)return qe=d-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|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=q&-16^1431655768,t[q>>2]=e,t[2901]=e,e=4096),_=P+48|0,y=P+47|0,l=e+y|0,s=0-e|0,k=l&s,k>>>0<=P>>>0||(e=t[2893]|0,e|0?(T=t[2891]|0,q=T+k|0,q>>>0<=T>>>0|q>>>0>e>>>0):0))return _e=0,h=vt,_e|0;e:do if(t[2894]&4)n=0,pe=133;else{r=t[2789]|0;t:do if(r){for(o=11580;e=t[o>>2]|0,!(e>>>0<=r>>>0?(ie=o+4|0,(e+(t[ie>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[o+8>>2]|0,e)o=e;else{pe=118;break t}if(n=l-d&s,n>>>0<2147483647)if(e=xf(n|0)|0,(e|0)==((t[o>>2]|0)+(t[ie>>2]|0)|0)){if((e|0)!=(-1|0)){d=n,l=e,pe=135;break e}}else o=e,pe=126;else n=0}else pe=118;while(0);do if((pe|0)==118)if(r=xf(0)|0,(r|0)!=(-1|0)?(n=r,we=t[2902]|0,le=we+-1|0,n=((le&n|0)==0?0:(le+n&0-we)-n|0)+k|0,we=t[2891]|0,le=n+we|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ie=t[2893]|0,ie|0?le>>>0<=we>>>0|le>>>0>ie>>>0:0){n=0;break}if(e=xf(n|0)|0,(e|0)==(r|0)){d=n,l=r,pe=135;break e}else o=e,pe=126}else n=0;while(0);do if((pe|0)==126){if(r=0-n|0,!(_>>>0>n>>>0&(n>>>0<2147483647&(o|0)!=(-1|0))))if((o|0)==(-1|0)){n=0;break}else{d=n,l=o,pe=135;break e}if(e=t[2903]|0,e=y-n+e&0-e,e>>>0>=2147483647){d=n,l=o,pe=135;break e}if((xf(e|0)|0)==(-1|0)){xf(r|0)|0,n=0;break}else{d=e+n|0,l=o,pe=135;break e}}while(0);t[2894]=t[2894]|4,pe=133}while(0);if((((pe|0)==133?k>>>0<2147483647:0)?(qe=xf(k|0)|0,ie=xf(0)|0,Pe=ie-qe|0,ke=Pe>>>0>(P+40|0)>>>0,!((qe|0)==(-1|0)|ke^1|qe>>>0>>0&((qe|0)!=(-1|0)&(ie|0)!=(-1|0))^1)):0)&&(d=ke?Pe:n,l=qe,pe=135),(pe|0)==135){n=(t[2891]|0)+d|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),y=t[2789]|0;do if(y){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,o=t[r>>2]|0,(l|0)==(e+o|0)){pe=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if(((pe|0)==145?(t[n+12>>2]&8|0)==0:0)?y>>>0>>0&y>>>0>=e>>>0:0){t[r>>2]=o+d,_e=y+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=y+_e|0,_e=(t[2786]|0)+(d-_e)|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905];break}for(l>>>0<(t[2787]|0)>>>0&&(t[2787]=l),r=l+d|0,n=11580;;){if((t[n>>2]|0)==(r|0)){pe=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((pe|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=l,T=n+4|0,t[T>>2]=(t[T>>2]|0)+d,T=l+8|0,T=l+((T&7|0)==0?0:0-T&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,k=T+P|0,_=n-T-P|0,t[T+4>>2]=P|3;do if((n|0)!=(y|0)){if((n|0)==(t[2788]|0)){_e=(t[2785]|0)+_|0,t[2785]=_e,t[2788]=k,t[k+4>>2]=_e|1,t[k+_e>>2]=_e;break}if(e=t[n+4>>2]|0,(e&3|0)==1){d=e&-8,o=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{l=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(o=n+16|0,r=o+4|0,e=t[r>>2]|0,!e)if(e=t[o>>2]|0,e)r=o;else{e=0;break}for(;;){if(o=e+20|0,s=t[o>>2]|0,s|0){e=s,r=o;continue}if(o=e+16|0,s=t[o>>2]|0,s)e=s,r=o;else break}t[r>>2]=0}else _e=t[n+8>>2]|0,t[_e+12>>2]=e,t[e+8>>2]=_e;while(0);if(!l)break;r=t[n+28>>2]|0,o=11436+(r<<2)|0;do if((n|0)!=(t[o>>2]|0)){if(t[l+16+(((t[l+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[o>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=l,r=n+16|0,o=t[r>>2]|0,o|0&&(t[e+16>>2]=o,t[o+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+d|0,s=d+_|0}else s=_;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[k+4>>2]=s|1,t[k+s>>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]=k,t[n+12>>2]=k,t[k+8>>2]=n,t[k+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(o=11436+(n<<2)|0,t[k+28>>2]=n,e=k+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=k,t[k+24>>2]=o,t[k+12>>2]=k,t[k+8>>2]=k;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){pe=194;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=193;break}}if((pe|0)==193){t[o>>2]=k,t[k+24>>2]=r,t[k+12>>2]=k,t[k+8>>2]=k;break}else if((pe|0)==194){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=k,t[pe>>2]=k,t[k+8>>2]=_e,t[k+12>>2]=r,t[k+24>>2]=0;break}}else _e=(t[2786]|0)+_|0,t[2786]=_e,t[2789]=k,t[k+4>>2]=_e|1;while(0);return _e=T+8|0,h=vt,_e|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=y>>>0?(_e=e+(t[n+4>>2]|0)|0,_e>>>0>y>>>0):0);)n=t[n+8>>2]|0;s=_e+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=y+16|0,e=e>>>0>>0?y:e,n=e+8|0,r=l+8|0,r=(r&7|0)==0?0:0-r&7,pe=l+r|0,r=d+-40-r|0,t[2789]=pe,t[2786]=r,t[pe+4>>2]=r|1,t[pe+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]=l,t[2896]=d,t[2898]=0,t[2897]=n,n=e+24|0;do pe=n,n=n+4|0,t[n>>2]=7;while((pe+8|0)>>>0<_e>>>0);if((e|0)!=(y|0)){if(l=e-y|0,t[r>>2]=t[r>>2]&-2,t[y+4>>2]=l|1,t[e>>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]=y,t[n+12>>2]=y,t[y+8>>2]=n,t[y+12>>2]=r;break}if(n=l>>>8,n?l>>>0>16777215?r=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,r=14-(qe|pe|r)+(_e<>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,o=11436+(r<<2)|0,t[y+28>>2]=r,t[y+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=y,t[y+24>>2]=o,t[y+12>>2]=y,t[y+8>>2]=y;break}for(e=l<<((r|0)==31?0:25-(r>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){pe=216;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=215;break}}if((pe|0)==215){t[o>>2]=y,t[y+24>>2]=r,t[y+12>>2]=y,t[y+8>>2]=y;break}else if((pe|0)==216){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=y,t[pe>>2]=y,t[y+8>>2]=_e,t[y+12>>2]=r,t[y+24>>2]=0;break}}}else{_e=t[2787]|0,(_e|0)==0|l>>>0<_e>>>0&&(t[2787]=l),t[2895]=l,t[2896]=d,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do _e=11172+(n<<1<<2)|0,t[_e+12>>2]=_e,t[_e+8>>2]=_e,n=n+1|0;while((n|0)!=32);_e=l+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=l+_e|0,_e=d+-40-_e|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return qe=n-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0}return t[(ca()|0)>>2]=12,_e=0,h=vt,_e|0}function sh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,y=r+n|0;do if(e&1)_=r,d=r;else{if(o=t[r>>2]|0,!(e&3)||(d=r+(0-o)|0,l=o+n|0,d>>>0>>0))return;if((d|0)==(t[2788]|0)){if(e=y+4|0,n=t[e>>2]|0,(n&3|0)!=3){_=d,n=l;break}t[2785]=l,t[e>>2]=n&-2,t[d+4>>2]=l|1,t[d+l>>2]=l;return}if(r=o>>>3,o>>>0<256)if(e=t[d+8>>2]|0,n=t[d+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,_=d,n=l;break}s=t[d+24>>2]|0,e=t[d+12>>2]|0;do if((e|0)==(d|0)){if(r=d+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,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0}else _=t[d+8>>2]|0,t[_+12>>2]=e,t[e+8>>2]=_;while(0);if(s){if(n=t[d+28>>2]|0,r=11436+(n<<2)|0,(d|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(d|0)&1)<<2)>>2]=e,!e){_=d,n=l;break}t[e+24>>2]=s,n=d+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,n=l):(_=d,n=l)}else _=d,n=l}while(0);if(!(d>>>0>=y>>>0)&&(e=y+4|0,o=t[e>>2]|0,!!(o&1))){if(o&2)t[e>>2]=o&-2,t[_+4>>2]=n|1,t[d+n>>2]=n,s=n;else{if(e=t[2788]|0,(y|0)==(t[2789]|0)){if(y=(t[2786]|0)+n|0,t[2786]=y,t[2789]=_,t[_+4>>2]=y|1,(_|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((y|0)==(e|0)){y=(t[2785]|0)+n|0,t[2785]=y,t[2788]=d,t[_+4>>2]=y|1,t[d+y>>2]=y;return}s=(o&-8)+n|0,r=o>>>3;do if(o>>>0<256)if(n=t[y+8>>2]|0,e=t[y+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{l=t[y+24>>2]|0,e=t[y+12>>2]|0;do if((e|0)==(y|0)){if(r=y+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,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0,r=e}else r=t[y+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(l|0){if(e=t[y+28>>2]|0,n=11436+(e<<2)|0,(y|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,e=y+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[_+4>>2]=s|1,t[d+s>>2]=s,(_|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>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]=_,t[e+12>>2]=_,t[_+8>>2]=e,t[_+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(d=(e+1048320|0)>>>16&8,y=e<>>16&4,y=y<>>16&2,e=14-(l|d|e)+(y<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,o=11436+(e<<2)|0,t[_+28>>2]=e,t[_+20>>2]=0,t[_+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(o=r+16+(n>>>31<<2)|0,e=t[o>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[o>>2]=_,t[_+24>>2]=r,t[_+12>>2]=_,t[_+8>>2]=_;break}else if((e|0)==73){d=r+8|0,y=t[d>>2]|0,t[y+12>>2]=_,t[d>>2]=_,t[_+8>>2]=y,t[_+12>>2]=r,t[_+24>>2]=0;break}}else t[2784]=n|r,t[o>>2]=_,t[_+24>>2]=o,t[_+12>>2]=_,t[_+8>>2]=_;while(0);if(y=(t[2791]|0)+-1|0,t[2791]=y,!y)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function rL(){return 11628}function iL(e){e=e|0;var n=0,r=0;return n=h,h=h+16|0,r=n,t[r>>2]=sL(t[e+60>>2]|0)|0,e=lh(Ms(6,r|0)|0)|0,h=n,e|0}function j8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;P=h,h=h+48|0,k=P+16|0,l=P,s=P+32|0,_=e+28|0,o=t[_>>2]|0,t[s>>2]=o,y=e+20|0,o=(t[y>>2]|0)-o|0,t[s+4>>2]=o,t[s+8>>2]=n,t[s+12>>2]=r,o=o+r|0,d=e+60|0,t[l>>2]=t[d>>2],t[l+4>>2]=s,t[l+8>>2]=2,l=lh(G0(146,l|0)|0)|0;e:do if((o|0)!=(l|0)){for(n=2;!((l|0)<0);)if(o=o-l|0,we=t[s+4>>2]|0,q=l>>>0>we>>>0,s=q?s+8|0:s,n=(q<<31>>31)+n|0,we=l-(q?we:0)|0,t[s>>2]=(t[s>>2]|0)+we,q=s+4|0,t[q>>2]=(t[q>>2]|0)-we,t[k>>2]=t[d>>2],t[k+4>>2]=s,t[k+8>>2]=n,l=lh(G0(146,k|0)|0)|0,(o|0)==(l|0)){T=3;break e}t[e+16>>2]=0,t[_>>2]=0,t[y>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else T=3;while(0);return(T|0)==3&&(we=t[e+44>>2]|0,t[e+16>>2]=we+(t[e+48>>2]|0),t[_>>2]=we,t[y>>2]=we),h=P,r|0}function oL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return s=h,h=h+32|0,l=s,o=s+20|0,t[l>>2]=t[e+60>>2],t[l+4>>2]=0,t[l+8>>2]=n,t[l+12>>2]=o,t[l+16>>2]=r,(lh(Uu(140,l|0)|0)|0)<0?(t[o>>2]=-1,e=-1):e=t[o>>2]|0,h=s,e|0}function lh(e){return e=e|0,e>>>0>4294963200&&(t[(ca()|0)>>2]=0-e,e=-1),e|0}function ca(){return(uL()|0)+64|0}function uL(){return b4()|0}function b4(){return 2084}function sL(e){return e=e|0,e|0}function lL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return s=h,h=h+32|0,o=s,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[o>>2]=t[e+60>>2],t[o+4>>2]=21523,t[o+8>>2]=s+16,su(54,o|0)|0):0)&&(c[e+75>>0]=-1),o=j8(e,n,r)|0,h=s,o|0}function U8(e,n){e=e|0,n=n|0;var r=0,o=0;if(r=c[e>>0]|0,o=c[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=o<<24>>24)e=o;else{do e=e+1|0,n=n+1|0,r=c[e>>0]|0,o=c[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=o<<24>>24));e=o}return(r&255)-(e&255)|0}function fL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;e:do if(!r)e=0;else{for(;o=c[e>>0]|0,s=c[n>>0]|0,o<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(o&255)-(s&255)|0}while(0);return e|0}function q8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;ie=h,h=h+224|0,T=ie+120|0,P=ie+80|0,we=ie,le=ie+136|0,o=P,s=o+40|0;do t[o>>2]=0,o=o+4|0;while((o|0)<(s|0));return t[T>>2]=t[r>>2],(G4(0,n,T,we,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?q=cL(e)|0:q=0,r=t[e>>2]|0,k=r&32,(c[e+74>>0]|0)<1&&(t[e>>2]=r&-33),o=e+48|0,t[o>>2]|0?r=G4(e,n,T,we,P)|0:(s=e+44|0,l=t[s>>2]|0,t[s>>2]=le,d=e+28|0,t[d>>2]=le,_=e+20|0,t[_>>2]=le,t[o>>2]=80,y=e+16|0,t[y>>2]=le+80,r=G4(e,n,T,we,P)|0,l&&(dh[t[e+36>>2]&7](e,0,0)|0,r=(t[_>>2]|0)==0?-1:r,t[s>>2]=l,t[o>>2]=0,t[y>>2]=0,t[d>>2]=0,t[_>>2]=0)),o=t[e>>2]|0,t[e>>2]=o|k,q|0&&aL(e),r=(o&32|0)==0?r:-1),h=ie,r|0}function G4(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0;zt=h,h=h+64|0,Ht=zt+16|0,It=zt,vt=zt+24|0,gn=zt+8|0,Pn=zt+20|0,t[Ht>>2]=n,qe=(e|0)!=0,pe=vt+40|0,_e=pe,vt=vt+39|0,Ln=gn+4|0,d=0,l=0,T=0;e:for(;;){do if((l|0)>-1)if((d|0)>(2147483647-l|0)){t[(ca()|0)>>2]=75,l=-1;break}else{l=d+l|0;break}while(0);if(d=c[n>>0]|0,d<<24>>24)_=n;else{ke=87;break}t:for(;;){switch(d<<24>>24){case 37:{d=_,ke=9;break t}case 0:{d=_;break t}default:}Pe=_+1|0,t[Ht>>2]=Pe,d=c[Pe>>0]|0,_=Pe}t:do if((ke|0)==9)for(;;){if(ke=0,(c[_+1>>0]|0)!=37)break t;if(d=d+1|0,_=_+2|0,t[Ht>>2]=_,(c[_>>0]|0)==37)ke=9;else break}while(0);if(d=d-n|0,qe&&ri(e,n,d),d|0){n=_;continue}y=_+1|0,d=(c[y>>0]|0)+-48|0,d>>>0<10?(Pe=(c[_+2>>0]|0)==36,ie=Pe?d:-1,T=Pe?1:T,y=Pe?_+3|0:y):ie=-1,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0;t:do if(_>>>0<32)for(k=0,P=d;;){if(d=1<<_,!(d&75913)){d=P;break t}if(k=d|k,y=y+1|0,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0,_>>>0>=32)break;P=d}else k=0;while(0);if(d<<24>>24==42){if(_=y+1|0,d=(c[_>>0]|0)+-48|0,d>>>0<10?(c[y+2>>0]|0)==36:0)t[s+(d<<2)>>2]=10,d=t[o+((c[_>>0]|0)+-48<<3)>>2]|0,T=1,y=y+3|0;else{if(T|0){l=-1;break}qe?(T=(t[r>>2]|0)+(4-1)&~(4-1),d=t[T>>2]|0,t[r>>2]=T+4,T=0,y=_):(d=0,T=0,y=_)}t[Ht>>2]=y,Pe=(d|0)<0,d=Pe?0-d|0:d,k=Pe?k|8192:k}else{if(d=z8(Ht)|0,(d|0)<0){l=-1;break}y=t[Ht>>2]|0}do if((c[y>>0]|0)==46){if((c[y+1>>0]|0)!=42){t[Ht>>2]=y+1,_=z8(Ht)|0,y=t[Ht>>2]|0;break}if(P=y+2|0,_=(c[P>>0]|0)+-48|0,_>>>0<10?(c[y+3>>0]|0)==36:0){t[s+(_<<2)>>2]=10,_=t[o+((c[P>>0]|0)+-48<<3)>>2]|0,y=y+4|0,t[Ht>>2]=y;break}if(T|0){l=-1;break e}qe?(Pe=(t[r>>2]|0)+(4-1)&~(4-1),_=t[Pe>>2]|0,t[r>>2]=Pe+4):_=0,t[Ht>>2]=P,y=P}else _=-1;while(0);for(le=0;;){if(((c[y>>0]|0)+-65|0)>>>0>57){l=-1;break e}if(Pe=y+1|0,t[Ht>>2]=Pe,P=c[(c[y>>0]|0)+-65+(5178+(le*58|0))>>0]|0,q=P&255,(q+-1|0)>>>0<8)le=q,y=Pe;else break}if(!(P<<24>>24)){l=-1;break}we=(ie|0)>-1;do if(P<<24>>24==19)if(we){l=-1;break e}else ke=49;else{if(we){t[s+(ie<<2)>>2]=q,we=o+(ie<<3)|0,ie=t[we+4>>2]|0,ke=It,t[ke>>2]=t[we>>2],t[ke+4>>2]=ie,ke=49;break}if(!qe){l=0;break e}W8(It,q,r)}while(0);if((ke|0)==49?(ke=0,!qe):0){d=0,n=Pe;continue}y=c[y>>0]|0,y=(le|0)!=0&(y&15|0)==3?y&-33:y,we=k&-65537,ie=(k&8192|0)==0?k:we;t:do switch(y|0){case 110:switch((le&255)<<24>>24){case 0:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 1:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 2:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}case 3:{g[t[It>>2]>>1]=l,d=0,n=Pe;continue e}case 4:{c[t[It>>2]>>0]=l,d=0,n=Pe;continue e}case 6:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 7:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}default:{d=0,n=Pe;continue e}}case 112:{y=120,_=_>>>0>8?_:8,n=ie|8,ke=61;break}case 88:case 120:{n=ie,ke=61;break}case 111:{y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,q=pL(n,y,pe)|0,we=_e-q|0,k=0,P=5642,_=(ie&8|0)==0|(_|0)>(we|0)?_:we+1|0,we=ie,ke=67;break}case 105:case 100:if(y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,(y|0)<0){n=fh(0,0,n|0,y|0)|0,y=be,k=It,t[k>>2]=n,t[k+4>>2]=y,k=1,P=5642,ke=66;break t}else{k=(ie&2049|0)!=0&1,P=(ie&2048|0)==0?(ie&1|0)==0?5642:5644:5643,ke=66;break t}case 117:{y=It,k=0,P=5642,n=t[y>>2]|0,y=t[y+4>>2]|0,ke=66;break}case 99:{c[vt>>0]=t[It>>2],n=vt,k=0,P=5642,q=pe,y=1,_=we;break}case 109:{y=hL(t[(ca()|0)>>2]|0)|0,ke=71;break}case 115:{y=t[It>>2]|0,y=y|0?y:5652,ke=71;break}case 67:{t[gn>>2]=t[It>>2],t[Ln>>2]=0,t[It>>2]=gn,q=-1,y=gn,ke=75;break}case 83:{n=t[It>>2]|0,_?(q=_,y=n,ke=75):(wi(e,32,d,0,ie),n=0,ke=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{d=vL(e,+L[It>>3],d,_,ie,y)|0,n=Pe;continue e}default:k=0,P=5642,q=pe,y=_,_=ie}while(0);t:do if((ke|0)==61)ie=It,le=t[ie>>2]|0,ie=t[ie+4>>2]|0,q=dL(le,ie,pe,y&32)|0,P=(n&8|0)==0|(le|0)==0&(ie|0)==0,k=P?0:2,P=P?5642:5642+(y>>4)|0,we=n,n=le,y=ie,ke=67;else if((ke|0)==66)q=aa(n,y,pe)|0,we=ie,ke=67;else if((ke|0)==71)ke=0,ie=mL(y,0,_)|0,le=(ie|0)==0,n=y,k=0,P=5642,q=le?y+_|0:ie,y=le?_:ie-y|0,_=we;else if((ke|0)==75){for(ke=0,P=y,n=0,_=0;k=t[P>>2]|0,!(!k||(_=H8(Pn,k)|0,(_|0)<0|_>>>0>(q-n|0)>>>0));)if(n=_+n|0,q>>>0>n>>>0)P=P+4|0;else break;if((_|0)<0){l=-1;break e}if(wi(e,32,d,n,ie),!n)n=0,ke=84;else for(k=0;;){if(_=t[y>>2]|0,!_){ke=84;break t}if(_=H8(Pn,_)|0,k=_+k|0,(k|0)>(n|0)){ke=84;break t}if(ri(e,Pn,_),k>>>0>=n>>>0){ke=84;break}else y=y+4|0}}while(0);if((ke|0)==67)ke=0,y=(n|0)!=0|(y|0)!=0,ie=(_|0)!=0|y,y=((y^1)&1)+(_e-q)|0,n=ie?q:pe,q=pe,y=ie?(_|0)>(y|0)?_:y:_,_=(_|0)>-1?we&-65537:we;else if((ke|0)==84){ke=0,wi(e,32,d,n,ie^8192),d=(d|0)>(n|0)?d:n,n=Pe;continue}le=q-n|0,we=(y|0)<(le|0)?le:y,ie=we+k|0,d=(d|0)<(ie|0)?ie:d,wi(e,32,d,ie,_),ri(e,P,k),wi(e,48,d,ie,_^65536),wi(e,48,we,le,0),ri(e,n,le),wi(e,32,d,ie,_^8192),n=Pe}e:do if((ke|0)==87&&!e)if(!T)l=0;else{for(l=1;n=t[s+(l<<2)>>2]|0,!!n;)if(W8(o+(l<<3)|0,n,r),l=l+1|0,(l|0)>=10){l=1;break e}for(;;){if(t[s+(l<<2)>>2]|0){l=-1;break e}if(l=l+1|0,(l|0)>=10){l=1;break}}}while(0);return h=zt,l|0}function cL(e){return e=e|0,0}function aL(e){e=e|0}function ri(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||TL(n,r,e)|0}function z8(e){e=e|0;var n=0,r=0,o=0;if(r=t[e>>2]|0,o=(c[r>>0]|0)+-48|0,o>>>0<10){n=0;do n=o+(n*10|0)|0,r=r+1|0,t[e>>2]=r,o=(c[r>>0]|0)+-48|0;while(o>>>0<10)}else n=0;return n|0}function W8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,t[e>>2]=n;break e}case 10:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=0;break e}case 12:{o=(t[r>>2]|0)+(8-1)&~(8-1),n=o,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=o+8,o=e,t[o>>2]=s,t[o+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&65535)<<16>>16,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&255)<<24>>24,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}default:break e}while(0);while(0)}function dL(e,n,r,o){if(e=e|0,n=n|0,r=r|0,o=o|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=C[5694+(e&15)>>0]|0|o,e=ch(e|0,n|0,4)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function pL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=e&7|48,e=ch(e|0,n|0,3)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function aa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;o=K4(e|0,n|0,10,0)|0,r=r+-1|0,c[r>>0]=o&255|48,o=e,e=$4(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&o>>>0>4294967295;)n=be;n=e}else n=e;if(n)for(;r=r+-1|0,c[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function hL(e){return e=e|0,DL(e,t[(wL()|0)+188>>2]|0)|0}function mL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;l=n&255,o=(r|0)!=0;e:do if(o&(e&3|0)!=0)for(s=n&255;;){if((c[e>>0]|0)==s<<24>>24){d=6;break e}if(e=e+1|0,r=r+-1|0,o=(r|0)!=0,!(o&(e&3|0)!=0)){d=5;break}}else d=5;while(0);(d|0)==5&&(o?d=6:r=0);e:do if((d|0)==6&&(s=n&255,(c[e>>0]|0)!=s<<24>>24)){o=Un(l,16843009)|0;t:do if(r>>>0>3){for(;l=t[e>>2]^o,!((l&-2139062144^-2139062144)&l+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){d=11;break t}}else d=11;while(0);if((d|0)==11&&!r){r=0;break}for(;;){if((c[e>>0]|0)==s<<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 wi(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0;if(d=h,h=h+256|0,l=d,(r|0)>(o|0)&(s&73728|0)==0){if(s=r-o|0,pa(l|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-o|0;do ri(e,l,256),s=s+-256|0;while(s>>>0>255);s=n&255}ri(e,l,s)}h=d}function H8(e,n){return e=e|0,n=n|0,e?e=_L(e,n,0)|0:e=0,e|0}function vL(e,n,r,o,s,l){e=e|0,n=+n,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0;Dr=h,h=h+560|0,y=Dr+8|0,Pe=Dr,zt=Dr+524|0,Pn=zt,k=Dr+512|0,t[Pe>>2]=0,gn=k+12|0,b8(n)|0,(be|0)<0?(n=-n,Ht=1,Ln=5659):(Ht=(s&2049|0)!=0&1,Ln=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),b8(n)|0,It=be&2146435072;do if(It>>>0<2146435072|(It|0)==2146435072&0<0){if(we=+gL(n,Pe)*2,d=we!=0,d&&(t[Pe>>2]=(t[Pe>>2]|0)+-1),qe=l|32,(qe|0)==97){le=l&32,q=(le|0)==0?Ln:Ln+9|0,P=Ht|2,d=12-o|0;do if(o>>>0>11|(d|0)==0)n=we;else{n=8;do d=d+-1|0,n=n*16;while((d|0)!=0);if((c[q>>0]|0)==45){n=-(n+(-we-n));break}else{n=we+n-n;break}}while(0);_=t[Pe>>2]|0,d=(_|0)<0?0-_|0:_,d=aa(d,((d|0)<0)<<31>>31,gn)|0,(d|0)==(gn|0)&&(d=k+11|0,c[d>>0]=48),c[d+-1>>0]=(_>>31&2)+43,T=d+-2|0,c[T>>0]=l+15,k=(o|0)<1,y=(s&8|0)==0,d=zt;do It=~~n,_=d+1|0,c[d>>0]=C[5694+It>>0]|le,n=(n-+(It|0))*16,((_-Pn|0)==1?!(y&(k&n==0)):0)?(c[_>>0]=46,d=d+2|0):d=_;while(n!=0);It=d-Pn|0,Pn=gn-T|0,gn=(o|0)!=0&(It+-2|0)<(o|0)?o+2|0:It,d=Pn+P+gn|0,wi(e,32,r,d,s),ri(e,q,P),wi(e,48,r,d,s^65536),ri(e,zt,It),wi(e,48,gn-It|0,0,0),ri(e,T,Pn),wi(e,32,r,d,s^8192);break}_=(o|0)<0?6:o,d?(d=(t[Pe>>2]|0)+-28|0,t[Pe>>2]=d,n=we*268435456):(n=we,d=t[Pe>>2]|0),It=(d|0)<0?y:y+288|0,y=It;do _e=~~n>>>0,t[y>>2]=_e,y=y+4|0,n=(n-+(_e>>>0))*1e9;while(n!=0);if((d|0)>0)for(k=It,P=y;;){if(T=(d|0)<29?d:29,d=P+-4|0,d>>>0>=k>>>0){y=0;do pe=X8(t[d>>2]|0,0,T|0)|0,pe=Y4(pe|0,be|0,y|0,0)|0,_e=be,ke=K4(pe|0,_e|0,1e9,0)|0,t[d>>2]=ke,y=$4(pe|0,_e|0,1e9,0)|0,d=d+-4|0;while(d>>>0>=k>>>0);y&&(k=k+-4|0,t[k>>2]=y)}for(y=P;!(y>>>0<=k>>>0);)if(d=y+-4|0,!(t[d>>2]|0))y=d;else break;if(d=(t[Pe>>2]|0)-T|0,t[Pe>>2]=d,(d|0)>0)P=y;else break}else k=It;if((d|0)<0){o=((_+25|0)/9|0)+1|0,ie=(qe|0)==102;do{if(le=0-d|0,le=(le|0)<9?le:9,k>>>0>>0){T=(1<>>le,q=0,d=k;do _e=t[d>>2]|0,t[d>>2]=(_e>>>le)+q,q=Un(_e&T,P)|0,d=d+4|0;while(d>>>0>>0);d=(t[k>>2]|0)==0?k+4|0:k,q?(t[y>>2]=q,k=d,d=y+4|0):(k=d,d=y)}else k=(t[k>>2]|0)==0?k+4|0:k,d=y;y=ie?It:k,y=(d-y>>2|0)>(o|0)?y+(o<<2)|0:d,d=(t[Pe>>2]|0)+le|0,t[Pe>>2]=d}while((d|0)<0);d=k,o=y}else d=k,o=y;if(_e=It,d>>>0>>0){if(y=(_e-d>>2)*9|0,T=t[d>>2]|0,T>>>0>=10){k=10;do k=k*10|0,y=y+1|0;while(T>>>0>=k>>>0)}}else y=0;if(ie=(qe|0)==103,ke=(_|0)!=0,k=_-((qe|0)!=102?y:0)+((ke&ie)<<31>>31)|0,(k|0)<(((o-_e>>2)*9|0)+-9|0)){if(k=k+9216|0,le=It+4+(((k|0)/9|0)+-1024<<2)|0,k=((k|0)%9|0)+1|0,(k|0)<9){T=10;do T=T*10|0,k=k+1|0;while((k|0)!=9)}else T=10;if(P=t[le>>2]|0,q=(P>>>0)%(T>>>0)|0,k=(le+4|0)==(o|0),k&(q|0)==0)k=le;else if(we=(((P>>>0)/(T>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,pe=(T|0)/2|0,n=q>>>0>>0?.5:k&(q|0)==(pe|0)?1:1.5,Ht&&(pe=(c[Ln>>0]|0)==45,n=pe?-n:n,we=pe?-we:we),k=P-q|0,t[le>>2]=k,we+n!=we){if(pe=k+T|0,t[le>>2]=pe,pe>>>0>999999999)for(y=le;k=y+-4|0,t[y>>2]=0,k>>>0>>0&&(d=d+-4|0,t[d>>2]=0),pe=(t[k>>2]|0)+1|0,t[k>>2]=pe,pe>>>0>999999999;)y=k;else k=le;if(y=(_e-d>>2)*9|0,P=t[d>>2]|0,P>>>0>=10){T=10;do T=T*10|0,y=y+1|0;while(P>>>0>=T>>>0)}}else k=le;k=k+4|0,k=o>>>0>k>>>0?k:o,pe=d}else k=o,pe=d;for(qe=k;;){if(qe>>>0<=pe>>>0){Pe=0;break}if(d=qe+-4|0,!(t[d>>2]|0))qe=d;else{Pe=1;break}}o=0-y|0;do if(ie)if(d=((ke^1)&1)+_|0,(d|0)>(y|0)&(y|0)>-5?(T=l+-1|0,_=d+-1-y|0):(T=l+-2|0,_=d+-1|0),d=s&8,d)le=d;else{if(Pe?(vt=t[qe+-4>>2]|0,(vt|0)!=0):0)if((vt>>>0)%10|0)k=0;else{k=0,d=10;do d=d*10|0,k=k+1|0;while(!((vt>>>0)%(d>>>0)|0|0))}else k=9;if(d=((qe-_e>>2)*9|0)+-9|0,(T|32|0)==102){le=d-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}else{le=d+y-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}}else T=l,le=s&8;while(0);if(ie=_|le,P=(ie|0)!=0&1,q=(T|32|0)==102,q)ke=0,d=(y|0)>0?y:0;else{if(d=(y|0)<0?o:y,d=aa(d,((d|0)<0)<<31>>31,gn)|0,k=gn,(k-d|0)<2)do d=d+-1|0,c[d>>0]=48;while((k-d|0)<2);c[d+-1>>0]=(y>>31&2)+43,d=d+-2|0,c[d>>0]=T,ke=d,d=k-d|0}if(d=Ht+1+_+P+d|0,wi(e,32,r,d,s),ri(e,Ln,Ht),wi(e,48,r,d,s^65536),q){T=pe>>>0>It>>>0?It:pe,le=zt+9|0,P=le,q=zt+8|0,k=T;do{if(y=aa(t[k>>2]|0,0,le)|0,(k|0)==(T|0))(y|0)==(le|0)&&(c[q>>0]=48,y=q);else if(y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}ri(e,y,P-y|0),k=k+4|0}while(k>>>0<=It>>>0);if(ie|0&&ri(e,5710,1),k>>>0>>0&(_|0)>0)for(;;){if(y=aa(t[k>>2]|0,0,le)|0,y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}if(ri(e,y,(_|0)<9?_:9),k=k+4|0,y=_+-9|0,k>>>0>>0&(_|0)>9)_=y;else{_=y;break}}wi(e,48,_+9|0,9,0)}else{if(ie=Pe?qe:pe+4|0,(_|0)>-1){Pe=zt+9|0,le=(le|0)==0,o=Pe,P=0-Pn|0,q=zt+8|0,T=pe;do{y=aa(t[T>>2]|0,0,Pe)|0,(y|0)==(Pe|0)&&(c[q>>0]=48,y=q);do if((T|0)==(pe|0)){if(k=y+1|0,ri(e,y,1),le&(_|0)<1){y=k;break}ri(e,5710,1),y=k}else{if(y>>>0<=zt>>>0)break;pa(zt|0,48,y+P|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}while(0);Pn=o-y|0,ri(e,y,(_|0)>(Pn|0)?Pn:_),_=_-Pn|0,T=T+4|0}while(T>>>0>>0&(_|0)>-1)}wi(e,48,_+18|0,18,0),ri(e,ke,gn-ke|0)}wi(e,32,r,d,s^8192)}else zt=(l&32|0)!=0,d=Ht+3|0,wi(e,32,r,d,s&-65537),ri(e,Ln,Ht),ri(e,n!=n|!1?zt?5686:5690:zt?5678:5682,3),wi(e,32,r,d,s^8192);while(0);return h=Dr,((d|0)<(r|0)?r:d)|0}function b8(e){e=+e;var n=0;return L[j>>3]=e,n=t[j>>2]|0,be=t[j+4>>2]|0,n|0}function gL(e,n){return e=+e,n=n|0,+ +G8(e,n)}function G8(e,n){e=+e,n=n|0;var r=0,o=0,s=0;switch(L[j>>3]=e,r=t[j>>2]|0,o=t[j+4>>2]|0,s=ch(r|0,o|0,52)|0,s&2047){case 0:{e!=0?(e=+G8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[j>>2]=r,t[j+4>>2]=o&-2146435073|1071644672,e=+L[j>>3]}return+e}function _L(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){c[e>>0]=n,e=1;break}if(!(t[t[(yL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){c[e>>0]=n,e=1;break}else{t[(ca()|0)>>2]=84,e=-1;break}if(n>>>0<2048){c[e>>0]=n>>>6|192,c[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){c[e>>0]=n>>>12|224,c[e+1>>0]=n>>>6&63|128,c[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){c[e>>0]=n>>>18|240,c[e+1>>0]=n>>>12&63|128,c[e+2>>0]=n>>>6&63|128,c[e+3>>0]=n&63|128,e=4;break}else{t[(ca()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function yL(){return b4()|0}function wL(){return b4()|0}function DL(e,n){e=e|0,n=n|0;var r=0,o=0;for(o=0;;){if((C[5712+o>>0]|0)==(e|0)){e=2;break}if(r=o+1|0,(r|0)==87){r=5800,o=87,e=5;break}else o=r}if((e|0)==2&&(o?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((c[e>>0]|0)!=0);if(o=o+-1|0,o)e=5;else break}return EL(r,t[n+20>>2]|0)|0}function EL(e,n){return e=e|0,n=n|0,SL(e,n)|0}function SL(e,n){return e=e|0,n=n|0,n?n=CL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function CL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;q=(t[e>>2]|0)+1794895138|0,l=fc(t[e+8>>2]|0,q)|0,o=fc(t[e+12>>2]|0,q)|0,s=fc(t[e+16>>2]|0,q)|0;e:do if((l>>>0>>2>>>0?(P=n-(l<<2)|0,o>>>0

>>0&s>>>0

>>0):0)?((s|o)&3|0)==0:0){for(P=o>>>2,T=s>>>2,k=0;;){if(_=l>>>1,y=k+_|0,d=y<<1,s=d+P|0,o=fc(t[e+(s<<2)>>2]|0,q)|0,s=fc(t[e+(s+1<<2)>>2]|0,q)|0,!(s>>>0>>0&o>>>0<(n-s|0)>>>0)){o=0;break e}if(c[e+(s+o)>>0]|0){o=0;break e}if(o=U8(r,e+s|0)|0,!o)break;if(o=(o|0)<0,(l|0)==1){o=0;break e}else k=o?k:y,l=o?_:l-_|0}o=d+T|0,s=fc(t[e+(o<<2)>>2]|0,q)|0,o=fc(t[e+(o+1<<2)>>2]|0,q)|0,o>>>0>>0&s>>>0<(n-o|0)>>>0?o=(c[e+(o+s)>>0]|0)==0?e+o|0:0:o=0}else o=0;while(0);return o|0}function fc(e,n){e=e|0,n=n|0;var r=0;return r=Z8(e|0)|0,((n|0)==0?e:r)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=r+16|0,s=t[o>>2]|0,s?l=5:xL(r)|0?o=0:(s=t[o>>2]|0,l=5);e:do if((l|0)==5){if(_=r+20|0,d=t[_>>2]|0,o=d,(s-d|0)>>>0>>0){o=dh[t[r+36>>2]&7](r,e,n)|0;break}t:do if((c[r+75>>0]|0)>-1){for(d=n;;){if(!d){l=0,s=e;break t}if(s=d+-1|0,(c[e+s>>0]|0)==10)break;d=s}if(o=dh[t[r+36>>2]&7](r,e,d)|0,o>>>0>>0)break e;l=d,s=e+d|0,n=n-d|0,o=t[_>>2]|0}else l=0,s=e;while(0);vn(o|0,s|0,n|0)|0,t[_>>2]=(t[_>>2]|0)+n,o=l+n|0}while(0);return o|0}function xL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=c[n>>0]|0,c[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 Ur(e,n){e=w(e),n=w(n);var r=0,o=0;r=V8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=V8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[j>>2]|0|0}function cc(e,n){e=w(e),n=w(n);var r=0,o=0;r=Y8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=Y8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[j>>2]|0|0}function V4(e,n){e=w(e),n=w(n);var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;l=(D[j>>2]=e,t[j>>2]|0),_=(D[j>>2]=n,t[j>>2]|0),r=l>>>23&255,d=_>>>23&255,y=l&-2147483648,s=_<<1;e:do if((s|0)!=0?!((r|0)==255|((kL(n)|0)&2147483647)>>>0>2139095040):0){if(o=l<<1,o>>>0<=s>>>0)return n=w(e*w(0)),w((o|0)==(s|0)?n:e);if(r)o=l&8388607|8388608;else{if(r=l<<9,(r|0)>-1){o=r,r=0;do r=r+-1|0,o=o<<1;while((o|0)>-1)}else r=0;o=l<<1-r}if(d)_=_&8388607|8388608;else{if(l=_<<9,(l|0)>-1){s=0;do s=s+-1|0,l=l<<1;while((l|0)>-1)}else s=0;d=s,_=_<<1-s}s=o-_|0,l=(s|0)>-1;t:do if((r|0)>(d|0)){for(;;){if(l)if(s)o=s;else break;if(o=o<<1,r=r+-1|0,s=o-_|0,l=(s|0)>-1,(r|0)<=(d|0))break t}n=w(e*w(0));break e}while(0);if(l)if(s)o=s;else{n=w(e*w(0));break}if(o>>>0<8388608)do o=o<<1,r=r+-1|0;while(o>>>0<8388608);(r|0)>0?r=o+-8388608|r<<23:r=o>>>(1-r|0),n=(t[j>>2]=r|y,w(D[j>>2]))}else k=3;while(0);return(k|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function kL(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function AL(e,n){return e=e|0,n=n|0,q8(t[582]|0,e,n)|0}function $n(e){e=e|0,_n()}function da(e){e=e|0}function OL(e,n){return e=e|0,n=n|0,0}function IL(e){return e=e|0,($8(e+4|0)|0)==-1?(Nl[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function $8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function Tf(e){e=e|0,IL(e)|0&&PL(e)}function PL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?($8(n)|0)!=-1:0)||Nl[t[(t[e>>2]|0)+16>>2]&127](e)}function Tt(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=uh(n)|0,!(e|0);){if(e=FL()|0,!e){e=0;break}fD[e&0]()}return e|0}function K8(e){return e=e|0,Tt(e)|0}function Ve(e){e=e|0,sh(e)}function ML(e){e=e|0,(c[e+11>>0]|0)<0&&Ve(t[e>>2]|0)}function FL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function LL(){}function fh(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,o=n-o-(r>>>0>e>>>0|0)>>>0,be=o,e-r>>>0|0|0}function Y4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,r=e+r>>>0,be=n+o+(r>>>0>>0|0)>>>0,r|0|0}function pa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(l=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)c[e>>0]=n,e=e+1|0;for(o=l&-4|0,s=o-64|0,d=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=d,t[e+4>>2]=d,t[e+8>>2]=d,t[e+12>>2]=d,t[e+16>>2]=d,t[e+20>>2]=d,t[e+24>>2]=d,t[e+28>>2]=d,t[e+32>>2]=d,t[e+36>>2]=d,t[e+40>>2]=d,t[e+44>>2]=d,t[e+48>>2]=d,t[e+52>>2]=d,t[e+56>>2]=d,t[e+60>>2]=d,e=e+64|0;for(;(e|0)<(o|0);)t[e>>2]=d,e=e+4|0}for(;(e|0)<(l|0);)c[e>>0]=n,e=e+1|0;return l-r|0}function X8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(be=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;if((r|0)>=8192)return wo(e|0,n|0,r|0)|0;if(l=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return l|0;c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,o=r-64|0;(e|0)<=(o|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=s-4|0;(e|0)<(r|0);)c[e>>0]=c[n>>0]|0,c[e+1>>0]=c[n+1>>0]|0,c[e+2>>0]=c[n+2>>0]|0,c[e+3>>0]=c[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0;return l|0}function J8(e){e=e|0;var n=0;return n=c[ce+(e&255)>>0]|0,(n|0)<8?n|0:(n=c[ce+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=c[ce+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(c[ce+(e>>>24)>>0]|0)+24|0))}function Q8(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0;if(T=e,y=n,k=y,d=r,q=o,_=q,!k)return l=(s|0)!=0,_?l?(t[s>>2]=e|0,t[s+4>>2]=n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0):(l&&(t[s>>2]=(T>>>0)%(d>>>0),t[s+4>>2]=0),q=0,s=(T>>>0)/(d>>>0)>>>0,be=q,s|0);l=(_|0)==0;do if(d){if(!l){if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=31){P=l+1|0,_=31-l|0,n=l-31>>31,d=P,e=T>>>(P>>>0)&n|k<<_,n=k>>>(P>>>0)&n,l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0)}if(l=d-1|0,l&d|0){_=(cr(d|0)|0)+33-(cr(k|0)|0)|0,le=64-_|0,P=32-_|0,y=P>>31,we=_-32|0,n=we>>31,d=_,e=P-1>>31&k>>>(we>>>0)|(k<>>(_>>>0))&n,n=n&k>>>(_>>>0),l=T<>>(we>>>0))&y|T<>31;break}return s|0&&(t[s>>2]=l&T,t[s+4>>2]=0),(d|0)==1?(we=y|n&0,le=e|0|0,be=we,le|0):(le=J8(d|0)|0,we=k>>>(le>>>0)|0,le=k<<32-le|T>>>(le>>>0)|0,be=we,le|0)}else{if(l)return s|0&&(t[s>>2]=(k>>>0)%(d>>>0),t[s+4>>2]=0),we=0,le=(k>>>0)/(d>>>0)>>>0,be=we,le|0;if(!T)return s|0&&(t[s>>2]=0,t[s+4>>2]=(k>>>0)%(_>>>0)),we=0,le=(k>>>0)/(_>>>0)>>>0,be=we,le|0;if(l=_-1|0,!(l&_))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=l&k|n&0),we=0,le=k>>>((J8(_|0)|0)>>>0),be=we,le|0;if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=30){n=l+1|0,_=31-l|0,d=n,e=k<<_|T>>>(n>>>0),n=k>>>(n>>>0),l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,we=0,le=0,be=we,le|0):(we=0,le=0,be=we,le|0)}while(0);if(!d)k=_,y=0,_=0;else{P=r|0|0,T=q|o&0,k=Y4(P|0,T|0,-1,-1)|0,r=be,y=_,_=0;do o=y,y=l>>>31|y<<1,l=_|l<<1,o=e<<1|o>>>31|0,q=e>>>31|n<<1|0,fh(k|0,r|0,o|0,q|0)|0,le=be,we=le>>31|((le|0)<0?-1:0)<<1,_=we&1,e=fh(o|0,q|0,we&P|0,(((le|0)<0?-1:0)>>31|((le|0)<0?-1:0)<<1)&T|0)|0,n=be,d=d-1|0;while((d|0)!=0);k=y,y=0}return d=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),we=(l|0)>>>31|(k|d)<<1|(d<<1|l>>>31)&0|y,le=(l<<1|0>>>31)&-2|_,be=we,le|0}function $4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,Q8(e,n,r,o,0)|0}function xf(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[N>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(vr()|0,Os(12),-1):(t[N>>2]=e,((e|0)>(Xn()|0)?(Bn()|0)==0:0)?(t[N>>2]=n,Os(12),-1):n|0)}function Y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(o=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,c[e>>0]=c[n>>0]|0;e=o}else vn(e,n,r)|0;return e|0}function K4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;return l=h,h=h+16|0,s=l|0,Q8(e,n,r,o,s)|0,h=l,be=t[s+4>>2]|0,t[s>>2]|0|0}function Z8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function RL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,eD[e&1](n|0,r|0,o|0,s|0,l|0)}function NL(e,n,r){e=e|0,n=n|0,r=w(r),tD[e&1](n|0,w(r))}function BL(e,n,r){e=e|0,n=n|0,r=+r,nD[e&31](n|0,+r)}function jL(e,n,r,o){return e=e|0,n=n|0,r=w(r),o=w(o),w(rD[e&0](n|0,w(r),w(o)))}function UL(e,n){e=e|0,n=n|0,Nl[e&127](n|0)}function qL(e,n,r){e=e|0,n=n|0,r=r|0,Bl[e&31](n|0,r|0)}function zL(e,n){return e=e|0,n=n|0,dc[e&31](n|0)|0}function WL(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,iD[e&1](n|0,+r,+o,s|0)}function HL(e,n,r,o){e=e|0,n=n|0,r=+r,o=+o,CR[e&1](n|0,+r,+o)}function bL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,dh[e&7](n|0,r|0,o|0)|0}function VL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,+TR[e&1](n|0,r|0,o|0)}function YL(e,n){return e=e|0,n=n|0,+oD[e&15](n|0)}function $L(e,n,r){return e=e|0,n=n|0,r=+r,xR[e&1](n|0,+r)|0}function KL(e,n,r){return e=e|0,n=n|0,r=r|0,J4[e&15](n|0,r|0)|0}function XL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=+o,s=+s,l=l|0,kR[e&1](n|0,r|0,+o,+s,l|0)}function JL(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,AR[e&1](n|0,r|0,o|0,s|0,l|0,d|0)}function QL(e,n,r){return e=e|0,n=n|0,r=r|0,+uD[e&7](n|0,r|0)}function ZL(e){return e=e|0,ph[e&7]()|0}function eR(e,n,r,o,s,l){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,sD[e&1](n|0,r|0,o|0,s|0,l|0)|0}function tR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=+s,OR[e&1](n|0,r|0,o|0,+s)}function nR(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,lD[e&1](n|0,r|0,w(o),s|0,w(l),d|0)}function rR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,X1[e&15](n|0,r|0,o|0)}function iR(e){e=e|0,fD[e&0]()}function oR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,cD[e&15](n|0,r|0,+o)}function uR(e,n,r){return e=e|0,n=+n,r=+r,IR[e&1](+n,+r)|0}function sR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,Q4[e&15](n|0,r|0,o|0,s|0)}function lR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(0)}function fR(e,n){e=e|0,n=w(n),pt(1)}function Lo(e,n){e=e|0,n=+n,pt(2)}function cR(e,n,r){return e=e|0,n=w(n),r=w(r),pt(3),tt}function tn(e){e=e|0,pt(4)}function $1(e,n){e=e|0,n=n|0,pt(5)}function tu(e){return e=e|0,pt(6),0}function aR(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,pt(7)}function dR(e,n,r){e=e|0,n=+n,r=+r,pt(8)}function pR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(9),0}function hR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(10),0}function ac(e){return e=e|0,pt(11),0}function mR(e,n){return e=e|0,n=+n,pt(12),0}function K1(e,n){return e=e|0,n=n|0,pt(13),0}function vR(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,pt(14)}function gR(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,pt(15)}function X4(e,n){return e=e|0,n=n|0,pt(16),0}function _R(){return pt(17),0}function yR(e,n,r,o,s){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(18),0}function wR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,pt(19)}function DR(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,pt(20)}function ah(e,n,r){e=e|0,n=n|0,r=r|0,pt(21)}function ER(){pt(22)}function ha(e,n,r){e=e|0,n=n|0,r=+r,pt(23)}function SR(e,n){return e=+e,n=+n,pt(24),0}function ma(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,pt(25)}var eD=[lR,_I],tD=[fR,x0],nD=[Lo,Kf,Tl,xl,hf,xo,mf,Wa,Hs,mi,Xf,Rc,Jf,ao,$o,kl,Nc,Al,vf,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo],rD=[cR],Nl=[tn,da,Km,Xm,es,a_,d_,p_,YA,$A,KA,oI,uI,sI,kF,AF,OF,Sn,Oc,pf,ti,vi,Nm,Uc,r1,Hd,Pl,mv,Av,Kc,Jc,yp,Eg,na,Ug,Yg,u_,k_,q_,J_,a4,Ct,w9,U9,ex,hx,Ix,_0,s7,S7,W7,uk,Dk,Wk,Qk,tA,_A,DA,jA,JA,eO,gO,RO,d1,vP,YP,lM,SM,GM,uF,gF,wF,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn],Bl=[$1,ja,Ua,$f,gu,co,qa,Ws,za,Mc,Fc,Lc,po,Ce,ze,Et,on,sr,mn,Zf,gd,xd,H9,rx,ck,yP,HO,C8,$1,$1,$1,$1],dc=[tu,iL,Ba,m,b,ee,Ye,Ze,ut,In,jr,gi,Pm,Ha,Ya,Fx,Tk,wO,SP,Qo,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu],iD=[aR,Sd],CR=[dR,zA],dh=[pR,j8,oL,lL,Gv,P_,a7,kM],TR=[hR,Op],oD=[ac,_i,Re,pr,Cd,ho,bs,$a,Td,qc,ac,ac,ac,ac,ac,ac],xR=[mR,Kk],J4=[K1,OL,vd,Vc,_v,ig,pg,f_,H_,_x,Xu,dM,K1,K1,K1,K1],kR=[vR,iv],AR=[gR,KM],uD=[X4,Hr,Ka,kd,Xa,Jg,X4,X4],ph=[_R,Ja,Z0,g0,oA,TA,iO,CF],sD=[yR,or],OR=[wR,m4],lD=[DR,Bc],X1=[ah,S,A0,Vn,ni,Mv,Tg,dn,C9,fo,zI,JP,cF,ah,ah,ah],fD=[ER],cD=[ha,Ic,vu,Pc,Qu,Qf,k0,v,W1,k7,Gk,ha,ha,ha,ha,ha],IR=[SR,GA],Q4=[ma,Fg,zx,V7,Lk,aA,PA,aO,qO,OP,RF,ma,ma,ma,ma,ma];return{_llvm_bswap_i32:Z8,dynCall_idd:uR,dynCall_i:ZL,_i64Subtract:fh,___udivdi3:$4,dynCall_vif:NL,setThrew:vl,dynCall_viii:rR,_bitshift64Lshr:ch,_bitshift64Shl:X8,dynCall_vi:UL,dynCall_viiddi:XL,dynCall_diii:VL,dynCall_iii:KL,_memset:pa,_sbrk:xf,_memcpy:vn,__GLOBAL__sub_I_Yoga_cpp:t0,dynCall_vii:qL,___uremdi3:K4,dynCall_vid:BL,stackAlloc:zi,_nbind_init:VF,getTempRet0:fu,dynCall_di:YL,dynCall_iid:$L,setTempRet0:gl,_i64Add:Y4,dynCall_fiff:jL,dynCall_iiii:bL,_emscripten_get_global_libc:rL,dynCall_viid:oR,dynCall_viiid:tR,dynCall_viififi:nR,dynCall_ii:zL,__GLOBAL__sub_I_Binding_cc:lP,dynCall_viiii:sR,dynCall_iiiiii:eR,stackSave:lu,dynCall_viiiii:RL,__GLOBAL__sub_I_nbind_cc:Gs,dynCall_vidd:HL,_free:sh,runPostSets:LL,dynCall_viiiiii:JL,establishStackSpace:O0,_memmove:Y1,stackRestore:Ho,_malloc:uh,__GLOBAL__sub_I_common_cc:AO,dynCall_viddi:WL,dynCall_dii:QL,dynCall_v:iR}}(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(u){u=u||[],ensureInitRuntime();var f=u.length+1;function c(){for(var x=0;x<4-1;x++)g.push(0)}var g=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];c();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function u(){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),u()},1)):u()}Module.run=Module.run=run;function exit(i,u){u&&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 u=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+u;throw abortDecorators&&abortDecorators.forEach(function(c){f=c(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 hc=Me((hb,vE)=>{"use strict";var wN=hE(),DN=mE(),Py=!1,My=null;DN({},function(i,u){if(!Py){if(Py=!0,i)throw i;My=u}});if(!Py)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");vE.exports=wN(My.bind,My.lib)});var _E=Me((mb,gE)=>{"use strict";gE.exports=({onlyFirst:i=!1}={})=>{let u=["[\\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(u,i?void 0:"g")}});var Fy=Me((vb,yE)=>{"use strict";var EN=_E();yE.exports=i=>typeof i=="string"?i.replace(EN(),""):i});var Ry=Me((gb,Ly)=>{"use strict";var wE=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);Ly.exports=wE;Ly.exports.default=wE});var EE=Me((_b,DE)=>{"use strict";DE.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 Mh=Me((yb,Ny)=>{"use strict";var SN=Fy(),CN=Ry(),TN=EE(),SE=i=>{if(i=i.replace(TN()," "),typeof i!="string"||i.length===0)return 0;i=SN(i);let u=0;for(let f=0;f=127&&c<=159||c>=768&&c<=879||(c>65535&&f++,u+=CN(c)?2:1)}return u};Ny.exports=SE;Ny.exports.default=SE});var jy=Me((wb,By)=>{"use strict";var xN=Mh(),CE=i=>{let u=0;for(let f of i.split(` +`))u=Math.max(u,xN(f));return u};By.exports=CE;By.exports.default=CE});var TE=Me(a2=>{"use strict";var kN=a2&&a2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(a2,"__esModule",{value:!0});var AN=kN(jy()),Uy={};a2.default=i=>{if(i.length===0)return{width:0,height:0};if(Uy[i])return Uy[i];let u=AN.default(i),f=i.split(` +`).length;return Uy[i]={width:u,height:f},{width:u,height:f}}});var xE=Me(d2=>{"use strict";var ON=d2&&d2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(d2,"__esModule",{value:!0});var hr=ON(hc()),IN=(i,u)=>{"position"in u&&i.setPositionType(u.position==="absolute"?hr.default.POSITION_TYPE_ABSOLUTE:hr.default.POSITION_TYPE_RELATIVE)},PN=(i,u)=>{"marginLeft"in u&&i.setMargin(hr.default.EDGE_START,u.marginLeft||0),"marginRight"in u&&i.setMargin(hr.default.EDGE_END,u.marginRight||0),"marginTop"in u&&i.setMargin(hr.default.EDGE_TOP,u.marginTop||0),"marginBottom"in u&&i.setMargin(hr.default.EDGE_BOTTOM,u.marginBottom||0)},MN=(i,u)=>{"paddingLeft"in u&&i.setPadding(hr.default.EDGE_LEFT,u.paddingLeft||0),"paddingRight"in u&&i.setPadding(hr.default.EDGE_RIGHT,u.paddingRight||0),"paddingTop"in u&&i.setPadding(hr.default.EDGE_TOP,u.paddingTop||0),"paddingBottom"in u&&i.setPadding(hr.default.EDGE_BOTTOM,u.paddingBottom||0)},FN=(i,u)=>{var f;"flexGrow"in u&&i.setFlexGrow((f=u.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in u&&i.setFlexShrink(typeof u.flexShrink=="number"?u.flexShrink:1),"flexDirection"in u&&(u.flexDirection==="row"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW),u.flexDirection==="row-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW_REVERSE),u.flexDirection==="column"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN),u.flexDirection==="column-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in u&&(typeof u.flexBasis=="number"?i.setFlexBasis(u.flexBasis):typeof u.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(u.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in u&&((u.alignItems==="stretch"||!u.alignItems)&&i.setAlignItems(hr.default.ALIGN_STRETCH),u.alignItems==="flex-start"&&i.setAlignItems(hr.default.ALIGN_FLEX_START),u.alignItems==="center"&&i.setAlignItems(hr.default.ALIGN_CENTER),u.alignItems==="flex-end"&&i.setAlignItems(hr.default.ALIGN_FLEX_END)),"alignSelf"in u&&((u.alignSelf==="auto"||!u.alignSelf)&&i.setAlignSelf(hr.default.ALIGN_AUTO),u.alignSelf==="flex-start"&&i.setAlignSelf(hr.default.ALIGN_FLEX_START),u.alignSelf==="center"&&i.setAlignSelf(hr.default.ALIGN_CENTER),u.alignSelf==="flex-end"&&i.setAlignSelf(hr.default.ALIGN_FLEX_END)),"justifyContent"in u&&((u.justifyContent==="flex-start"||!u.justifyContent)&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_START),u.justifyContent==="center"&&i.setJustifyContent(hr.default.JUSTIFY_CENTER),u.justifyContent==="flex-end"&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_END),u.justifyContent==="space-between"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_BETWEEN),u.justifyContent==="space-around"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_AROUND))},LN=(i,u)=>{var f,c;"width"in u&&(typeof u.width=="number"?i.setWidth(u.width):typeof u.width=="string"?i.setWidthPercent(Number.parseInt(u.width,10)):i.setWidthAuto()),"height"in u&&(typeof u.height=="number"?i.setHeight(u.height):typeof u.height=="string"?i.setHeightPercent(Number.parseInt(u.height,10)):i.setHeightAuto()),"minWidth"in u&&(typeof u.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(u.minWidth,10)):i.setMinWidth((f=u.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in u&&(typeof u.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(u.minHeight,10)):i.setMinHeight((c=u.minHeight)!==null&&c!==void 0?c:0))},RN=(i,u)=>{"display"in u&&i.setDisplay(u.display==="flex"?hr.default.DISPLAY_FLEX:hr.default.DISPLAY_NONE)},NN=(i,u)=>{if("borderStyle"in u){let f=typeof u.borderStyle=="string"?1:0;i.setBorder(hr.default.EDGE_TOP,f),i.setBorder(hr.default.EDGE_BOTTOM,f),i.setBorder(hr.default.EDGE_LEFT,f),i.setBorder(hr.default.EDGE_RIGHT,f)}};d2.default=(i,u={})=>{IN(i,u),PN(i,u),MN(i,u),FN(i,u),LN(i,u),RN(i,u),NN(i,u)}});var AE=Me((Sb,kE)=>{"use strict";kE.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 qy=Me((Cb,OE)=>{var p2=AE(),IE={};for(let i of Object.keys(p2))IE[p2[i]]=i;var Xt={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"]}};OE.exports=Xt;for(let i of Object.keys(Xt)){if(!("channels"in Xt[i]))throw new Error("missing channels property: "+i);if(!("labels"in Xt[i]))throw new Error("missing channel labels property: "+i);if(Xt[i].labels.length!==Xt[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:u,labels:f}=Xt[i];delete Xt[i].channels,delete Xt[i].labels,Object.defineProperty(Xt[i],"channels",{value:u}),Object.defineProperty(Xt[i],"labels",{value:f})}Xt.rgb.hsl=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(u,f,c),t=Math.max(u,f,c),C=t-g,A,x;t===g?A=0:u===t?A=(f-c)/C:f===t?A=2+(c-u)/C:c===t&&(A=4+(u-f)/C),A=Math.min(A*60,360),A<0&&(A+=360);let D=(g+t)/2;return t===g?x=0:D<=.5?x=C/(t+g):x=C/(2-t-g),[A,x*100,D*100]};Xt.rgb.hsv=function(i){let u,f,c,g,t,C=i[0]/255,A=i[1]/255,x=i[2]/255,D=Math.max(C,A,x),L=D-Math.min(C,A,x),N=function(j){return(D-j)/6/L+1/2};return L===0?(g=0,t=0):(t=L/D,u=N(C),f=N(A),c=N(x),C===D?g=c-f:A===D?g=1/3+u-c:x===D&&(g=2/3+f-u),g<0?g+=1:g>1&&(g-=1)),[g*360,t*100,D*100]};Xt.rgb.hwb=function(i){let u=i[0],f=i[1],c=i[2],g=Xt.rgb.hsl(i)[0],t=1/255*Math.min(u,Math.min(f,c));return c=1-1/255*Math.max(u,Math.max(f,c)),[g,t*100,c*100]};Xt.rgb.cmyk=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(1-u,1-f,1-c),t=(1-u-g)/(1-g)||0,C=(1-f-g)/(1-g)||0,A=(1-c-g)/(1-g)||0;return[t*100,C*100,A*100,g*100]};function BN(i,u){return(i[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2}Xt.rgb.keyword=function(i){let u=IE[i];if(u)return u;let f=Infinity,c;for(let g of Object.keys(p2)){let t=p2[g],C=BN(i,t);C.04045?((u+.055)/1.055)**2.4:u/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,c=c>.04045?((c+.055)/1.055)**2.4:c/12.92;let g=u*.4124+f*.3576+c*.1805,t=u*.2126+f*.7152+c*.0722,C=u*.0193+f*.1192+c*.9505;return[g*100,t*100,C*100]};Xt.rgb.lab=function(i){let u=Xt.rgb.xyz(i),f=u[0],c=u[1],g=u[2];f/=95.047,c/=100,g/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116,g=g>.008856?g**(1/3):7.787*g+16/116;let t=116*c-16,C=500*(f-c),A=200*(c-g);return[t,C,A]};Xt.hsl.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g,t,C;if(f===0)return C=c*255,[C,C,C];c<.5?g=c*(1+f):g=c+f-c*f;let A=2*c-g,x=[0,0,0];for(let D=0;D<3;D++)t=u+1/3*-(D-1),t<0&&t++,t>1&&t--,6*t<1?C=A+(g-A)*6*t:2*t<1?C=g:3*t<2?C=A+(g-A)*(2/3-t)*6:C=A,x[D]=C*255;return x};Xt.hsl.hsv=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=f,t=Math.max(c,.01);c*=2,f*=c<=1?c:2-c,g*=t<=1?t:2-t;let C=(c+f)/2,A=c===0?2*g/(t+g):2*f/(c+f);return[u,A*100,C*100]};Xt.hsv.rgb=function(i){let u=i[0]/60,f=i[1]/100,c=i[2]/100,g=Math.floor(u)%6,t=u-Math.floor(u),C=255*c*(1-f),A=255*c*(1-f*t),x=255*c*(1-f*(1-t));switch(c*=255,g){case 0:return[c,x,C];case 1:return[A,c,C];case 2:return[C,c,x];case 3:return[C,A,c];case 4:return[x,C,c];case 5:return[c,C,A]}};Xt.hsv.hsl=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=Math.max(c,.01),t,C;C=(2-f)*c;let A=(2-f)*g;return t=f*g,t/=A<=1?A:2-A,t=t||0,C/=2,[u,t*100,C*100]};Xt.hwb.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g=f+c,t;g>1&&(f/=g,c/=g);let C=Math.floor(6*u),A=1-c;t=6*u-C,(C&1)!=0&&(t=1-t);let x=f+t*(A-f),D,L,N;switch(C){default:case 6:case 0:D=A,L=x,N=f;break;case 1:D=x,L=A,N=f;break;case 2:D=f,L=A,N=x;break;case 3:D=f,L=x,N=A;break;case 4:D=x,L=f,N=A;break;case 5:D=A,L=f,N=x;break}return[D*255,L*255,N*255]};Xt.cmyk.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g=i[3]/100,t=1-Math.min(1,u*(1-g)+g),C=1-Math.min(1,f*(1-g)+g),A=1-Math.min(1,c*(1-g)+g);return[t*255,C*255,A*255]};Xt.xyz.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g,t,C;return g=u*3.2406+f*-1.5372+c*-.4986,t=u*-.9689+f*1.8758+c*.0415,C=u*.0557+f*-.204+c*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,C=C>.0031308?1.055*C**(1/2.4)-.055:C*12.92,g=Math.min(Math.max(0,g),1),t=Math.min(Math.max(0,t),1),C=Math.min(Math.max(0,C),1),[g*255,t*255,C*255]};Xt.xyz.lab=function(i){let u=i[0],f=i[1],c=i[2];u/=95.047,f/=100,c/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;let g=116*f-16,t=500*(u-f),C=200*(f-c);return[g,t,C]};Xt.lab.xyz=function(i){let u=i[0],f=i[1],c=i[2],g,t,C;t=(u+16)/116,g=f/500+t,C=t-c/200;let A=t**3,x=g**3,D=C**3;return t=A>.008856?A:(t-16/116)/7.787,g=x>.008856?x:(g-16/116)/7.787,C=D>.008856?D:(C-16/116)/7.787,g*=95.047,t*=100,C*=108.883,[g,t,C]};Xt.lab.lch=function(i){let u=i[0],f=i[1],c=i[2],g;g=Math.atan2(c,f)*360/2/Math.PI,g<0&&(g+=360);let C=Math.sqrt(f*f+c*c);return[u,C,g]};Xt.lch.lab=function(i){let u=i[0],f=i[1],g=i[2]/360*2*Math.PI,t=f*Math.cos(g),C=f*Math.sin(g);return[u,t,C]};Xt.rgb.ansi16=function(i,u=null){let[f,c,g]=i,t=u===null?Xt.rgb.hsv(i)[2]:u;if(t=Math.round(t/50),t===0)return 30;let C=30+(Math.round(g/255)<<2|Math.round(c/255)<<1|Math.round(f/255));return t===2&&(C+=60),C};Xt.hsv.ansi16=function(i){return Xt.rgb.ansi16(Xt.hsv.rgb(i),i[2])};Xt.rgb.ansi256=function(i){let u=i[0],f=i[1],c=i[2];return u===f&&f===c?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(f/255*5)+Math.round(c/255*5)};Xt.ansi16.rgb=function(i){let u=i%10;if(u===0||u===7)return i>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let f=(~~(i>50)+1)*.5,c=(u&1)*f*255,g=(u>>1&1)*f*255,t=(u>>2&1)*f*255;return[c,g,t]};Xt.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let u,f=Math.floor(i/36)/5*255,c=Math.floor((u=i%36)/6)/5*255,g=u%6/5*255;return[f,c,g]};Xt.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};Xt.hex.rgb=function(i){let u=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let f=u[0];u[0].length===3&&(f=f.split("").map(A=>A+A).join(""));let c=parseInt(f,16),g=c>>16&255,t=c>>8&255,C=c&255;return[g,t,C]};Xt.rgb.hcg=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.max(Math.max(u,f),c),t=Math.min(Math.min(u,f),c),C=g-t,A,x;return C<1?A=t/(1-C):A=0,C<=0?x=0:g===u?x=(f-c)/C%6:g===f?x=2+(c-u)/C:x=4+(u-f)/C,x/=6,x%=1,[x*360,C*100,A*100]};Xt.hsl.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=f<.5?2*u*f:2*u*(1-f),g=0;return c<1&&(g=(f-.5*c)/(1-c)),[i[0],c*100,g*100]};Xt.hsv.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=u*f,g=0;return c<1&&(g=(f-c)/(1-c)),[i[0],c*100,g*100]};Xt.hcg.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100;if(f===0)return[c*255,c*255,c*255];let g=[0,0,0],t=u%1*6,C=t%1,A=1-C,x=0;switch(Math.floor(t)){case 0:g[0]=1,g[1]=C,g[2]=0;break;case 1:g[0]=A,g[1]=1,g[2]=0;break;case 2:g[0]=0,g[1]=1,g[2]=C;break;case 3:g[0]=0,g[1]=A,g[2]=1;break;case 4:g[0]=C,g[1]=0,g[2]=1;break;default:g[0]=1,g[1]=0,g[2]=A}return x=(1-f)*c,[(f*g[0]+x)*255,(f*g[1]+x)*255,(f*g[2]+x)*255]};Xt.hcg.hsv=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u),g=0;return c>0&&(g=u/c),[i[0],g*100,c*100]};Xt.hcg.hsl=function(i){let u=i[1]/100,c=i[2]/100*(1-u)+.5*u,g=0;return c>0&&c<.5?g=u/(2*c):c>=.5&&c<1&&(g=u/(2*(1-c))),[i[0],g*100,c*100]};Xt.hcg.hwb=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u);return[i[0],(c-u)*100,(1-c)*100]};Xt.hwb.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=1-f,g=c-u,t=0;return g<1&&(t=(c-g)/(1-g)),[i[0],g*100,t*100]};Xt.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};Xt.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};Xt.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};Xt.gray.hsl=function(i){return[0,0,i[0]]};Xt.gray.hsv=Xt.gray.hsl;Xt.gray.hwb=function(i){return[0,100,i[0]]};Xt.gray.cmyk=function(i){return[0,0,0,i[0]]};Xt.gray.lab=function(i){return[i[0],0,0]};Xt.gray.hex=function(i){let u=Math.round(i[0]/100*255)&255,c=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(c.length)+c};Xt.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var ME=Me((Tb,PE)=>{var Fh=qy();function jN(){let i={},u=Object.keys(Fh);for(let f=u.length,c=0;c{var zy=qy(),WN=ME(),Ca={},HN=Object.keys(zy);function bN(i){let u=function(...f){let c=f[0];return c==null?c:(c.length>1&&(f=c),i(f))};return"conversion"in i&&(u.conversion=i.conversion),u}function GN(i){let u=function(...f){let c=f[0];if(c==null)return c;c.length>1&&(f=c);let g=i(f);if(typeof g=="object")for(let t=g.length,C=0;C{Ca[i]={},Object.defineProperty(Ca[i],"channels",{value:zy[i].channels}),Object.defineProperty(Ca[i],"labels",{value:zy[i].labels});let u=WN(i);Object.keys(u).forEach(c=>{let g=u[c];Ca[i][c]=GN(g),Ca[i][c].raw=bN(g)})});FE.exports=Ca});var Rh=Me((kb,RE)=>{"use strict";var NE=(i,u)=>(...f)=>`[${i(...f)+u}m`,BE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};5;${c}m`},jE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};2;${c[0]};${c[1]};${c[2]}m`},Lh=i=>i,UE=(i,u,f)=>[i,u,f],Ta=(i,u,f)=>{Object.defineProperty(i,u,{get:()=>{let c=f();return Object.defineProperty(i,u,{value:c,enumerable:!0,configurable:!0}),c},enumerable:!0,configurable:!0})},Wy,xa=(i,u,f,c)=>{Wy===void 0&&(Wy=LE());let g=c?10:0,t={};for(let[C,A]of Object.entries(Wy)){let x=C==="ansi16"?"ansi":C;C===u?t[x]=i(f,g):typeof A=="object"&&(t[x]=i(A[u],g))}return t};function VN(){let i=new Map,u={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]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[f,c]of Object.entries(u)){for(let[g,t]of Object.entries(c))u[g]={open:`[${t[0]}m`,close:`[${t[1]}m`},c[g]=u[g],i.set(t[0],t[1]);Object.defineProperty(u,f,{value:c,enumerable:!1})}return Object.defineProperty(u,"codes",{value:i,enumerable:!1}),u.color.close="",u.bgColor.close="",Ta(u.color,"ansi",()=>xa(NE,"ansi16",Lh,!1)),Ta(u.color,"ansi256",()=>xa(BE,"ansi256",Lh,!1)),Ta(u.color,"ansi16m",()=>xa(jE,"rgb",UE,!1)),Ta(u.bgColor,"ansi",()=>xa(NE,"ansi16",Lh,!0)),Ta(u.bgColor,"ansi256",()=>xa(BE,"ansi256",Lh,!0)),Ta(u.bgColor,"ansi16m",()=>xa(jE,"rgb",UE,!0)),u}Object.defineProperty(RE,"exports",{enumerable:!0,get:VN})});var WE=Me((Ab,qE)=>{"use strict";var h2=Mh(),YN=Fy(),$N=Rh(),Hy=new Set(["","\x9B"]),KN=39,zE=i=>`${Hy.values().next().value}[${i}m`,XN=i=>i.split(" ").map(u=>h2(u)),by=(i,u,f)=>{let c=[...u],g=!1,t=h2(YN(i[i.length-1]));for(let[C,A]of c.entries()){let x=h2(A);if(t+x<=f?i[i.length-1]+=A:(i.push(A),t=0),Hy.has(A))g=!0;else if(g&&A==="m"){g=!1;continue}g||(t+=x,t===f&&C0&&i.length>1&&(i[i.length-2]+=i.pop())},JN=i=>{let u=i.split(" "),f=u.length;for(;f>0&&!(h2(u[f-1])>0);)f--;return f===u.length?i:u.slice(0,f).join(" ")+u.slice(f).join("")},QN=(i,u,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let c="",g="",t,C=XN(i),A=[""];for(let[x,D]of i.split(" ").entries()){f.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let L=h2(A[A.length-1]);if(x!==0&&(L>=u&&(f.wordWrap===!1||f.trim===!1)&&(A.push(""),L=0),(L>0||f.trim===!1)&&(A[A.length-1]+=" ",L++)),f.hard&&C[x]>u){let N=u-L,j=1+Math.floor((C[x]-N-1)/u);Math.floor((C[x]-1)/u)u&&L>0&&C[x]>0){if(f.wordWrap===!1&&Lu&&f.wordWrap===!1){by(A,D,u);continue}A[A.length-1]+=D}f.trim!==!1&&(A=A.map(JN)),c=A.join(` +`);for(let[x,D]of[...c].entries()){if(g+=D,Hy.has(D)){let N=parseFloat(/\d[^m]*/.exec(c.slice(x,x+4)));t=N===KN?null:N}let L=$N.codes.get(Number(t));t&&L&&(c[x+1]===` +`?g+=zE(L):D===` +`&&(g+=zE(t)))}return g};qE.exports=(i,u,f)=>String(i).normalize().replace(/\r\n/g,` +`).split(` +`).map(c=>QN(c,u,f)).join(` +`)});var GE=Me((Ob,HE)=>{"use strict";var bE="[\uD800-\uDBFF][\uDC00-\uDFFF]",ZN=i=>i&&i.exact?new RegExp(`^${bE}$`):new RegExp(bE,"g");HE.exports=ZN});var Gy=Me((Ib,VE)=>{"use strict";var eB=Ry(),tB=GE(),YE=Rh(),$E=["","\x9B"],Nh=i=>`${$E[0]}[${i}m`,KE=(i,u,f)=>{let c=[];i=[...i];for(let g of i){let t=g;g.match(";")&&(g=g.split(";")[0][0]+"0");let C=YE.codes.get(parseInt(g,10));if(C){let A=i.indexOf(C.toString());A>=0?i.splice(A,1):c.push(Nh(u?C:t))}else if(u){c.push(Nh(0));break}else c.push(Nh(t))}if(u&&(c=c.filter((g,t)=>c.indexOf(g)===t),f!==void 0)){let g=Nh(YE.codes.get(parseInt(f,10)));c=c.reduce((t,C)=>C===g?[C,...t]:[...t,C],[])}return c.join("")};VE.exports=(i,u,f)=>{let c=[...i.normalize()],g=[];f=typeof f=="number"?f:c.length;let t=!1,C,A=0,x="";for(let[D,L]of c.entries()){let N=!1;if($E.includes(L)){let j=/\d[^m]*/.exec(i.slice(D,D+18));C=j&&j.length>0?j[0]:void 0,Au&&A<=f)x+=L;else if(A===u&&!t&&C!==void 0)x=KE(g);else if(A>=f){x+=KE(g,!0,C);break}}return x}});var JE=Me((Pb,XE)=>{"use strict";var Bf=Gy(),nB=Mh();function Bh(i,u,f){if(i.charAt(u)===" ")return u;for(let c=1;c<=3;c++)if(f){if(i.charAt(u+c)===" ")return u+c}else if(i.charAt(u-c)===" ")return u-c;return u}XE.exports=(i,u,f)=>{f=dt({position:"end",preferTruncationOnSpace:!1},f);let{position:c,space:g,preferTruncationOnSpace:t}=f,C="\u2026",A=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof u!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof u}`);if(u<1)return"";if(u===1)return C;let x=nB(i);if(x<=u)return i;if(c==="start"){if(t){let D=Bh(i,x-u+1,!0);return C+Bf(i,D,x).trim()}return g===!0&&(C+=" ",A=2),C+Bf(i,x-u+A,x)}if(c==="middle"){g===!0&&(C=" "+C+" ",A=3);let D=Math.floor(u/2);if(t){let L=Bh(i,D),N=Bh(i,x-(u-D)+1,!0);return Bf(i,0,L)+C+Bf(i,N,x).trim()}return Bf(i,0,D)+C+Bf(i,x-(u-D)+A,x)}if(c==="end"){if(t){let D=Bh(i,u-1);return Bf(i,0,D)+C}return g===!0&&(C=" "+C,A=2),Bf(i,0,u-A)+C}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${c}`)}});var Yy=Me(m2=>{"use strict";var QE=m2&&m2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(m2,"__esModule",{value:!0});var rB=QE(WE()),iB=QE(JE()),Vy={};m2.default=(i,u,f)=>{let c=i+String(u)+String(f);if(Vy[c])return Vy[c];let g=i;if(f==="wrap"&&(g=rB.default(i,u,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),g=iB.default(i,u,{position:t})}return Vy[c]=g,g}});var Ky=Me($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var ZE=i=>{let u="";if(i.childNodes.length>0)for(let f of i.childNodes){let c="";f.nodeName==="#text"?c=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(c=ZE(f)),c.length>0&&typeof f.internal_transform=="function"&&(c=f.internal_transform(c))),u+=c}return u};$y.default=ZE});var Xy=Me(Zr=>{"use strict";var v2=Zr&&Zr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Zr,"__esModule",{value:!0});Zr.setTextNodeValue=Zr.createTextNode=Zr.setStyle=Zr.setAttribute=Zr.removeChildNode=Zr.insertBeforeNode=Zr.appendChildNode=Zr.createNode=Zr.TEXT_NAME=void 0;var oB=v2(hc()),e6=v2(TE()),uB=v2(xE()),sB=v2(Yy()),lB=v2(Ky());Zr.TEXT_NAME="#text";Zr.createNode=i=>{var u;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:oB.default.Node.create()};return i==="ink-text"&&((u=f.yogaNode)===null||u===void 0||u.setMeasureFunc(fB.bind(null,f))),f};Zr.appendChildNode=(i,u)=>{var f;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i,i.childNodes.push(u),u.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.insertBeforeNode=(i,u,f)=>{var c,g;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,u),u.yogaNode&&((c=i.yogaNode)===null||c===void 0||c.insertChild(u.yogaNode,t));return}i.childNodes.push(u),u.yogaNode&&((g=i.yogaNode)===null||g===void 0||g.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.removeChildNode=(i,u)=>{var f,c;u.yogaNode&&((c=(f=u.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||c===void 0||c.removeChild(u.yogaNode)),u.parentNode=null;let g=i.childNodes.indexOf(u);g>=0&&i.childNodes.splice(g,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.setAttribute=(i,u,f)=>{i.attributes[u]=f};Zr.setStyle=(i,u)=>{i.style=u,i.yogaNode&&uB.default(i.yogaNode,u)};Zr.createTextNode=i=>{let u={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return Zr.setTextNodeValue(u,i),u};var fB=function(i,u){var f,c;let g=i.nodeName==="#text"?i.nodeValue:lB.default(i),t=e6.default(g);if(t.width<=u||t.width>=1&&u>0&&u<1)return t;let C=(c=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&c!==void 0?c:"wrap",A=sB.default(g,u,C);return e6.default(A)},t6=i=>{var u;if(!(!i||!i.parentNode))return(u=i.yogaNode)!==null&&u!==void 0?u:t6(i.parentNode)},jh=i=>{let u=t6(i);u==null||u.markDirty()};Zr.setTextNodeValue=(i,u)=>{typeof u!="string"&&(u=String(u)),i.nodeValue=u,jh(i)}});var mc=Me((Rb,n6)=>{"use strict";n6.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 g2=Me((Nb,Jy)=>{"use strict";var{EMPTY_BUFFER:cB}=mc();function r6(i,u){if(i.length===0)return cB;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(u),c=0;for(let g=0;g{"use strict";var l6=Symbol("kDone"),Qy=Symbol("kRun"),f6=class{constructor(u){this[l6]=()=>{this.pending--,this[Qy]()},this.concurrency=u||Infinity,this.jobs=[],this.pending=0}add(u){this.jobs.push(u),this[Qy]()}[Qy](){if(this.pending!==this.concurrency&&this.jobs.length){let u=this.jobs.shift();this.pending++,u(this[l6])}}};s6.exports=f6});var w2=Me((jb,a6)=>{"use strict";var _2=require("zlib"),d6=g2(),aB=c6(),{kStatusCode:p6,NOOP:dB}=mc(),pB=Buffer.from([0,0,255,255]),qh=Symbol("permessage-deflate"),Xl=Symbol("total-length"),y2=Symbol("callback"),jf=Symbol("buffers"),Zy=Symbol("error"),zh,h6=class{constructor(u,f,c){if(this._maxPayload=c|0,this._options=u||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!zh){let g=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zh=new aB(g)}}static get extensionName(){return"permessage-deflate"}offer(){let u={};return this._options.serverNoContextTakeover&&(u.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(u.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(u.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?u.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(u.client_max_window_bits=!0),u}accept(u){return u=this.normalizeParams(u),this.params=this._isServer?this.acceptAsServer(u):this.acceptAsClient(u),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let u=this._deflate[y2];this._deflate.close(),this._deflate=null,u&&u(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(u){let f=this._options,c=u.find(g=>!(f.serverNoContextTakeover===!1&&g.server_no_context_takeover||g.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>g.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!g.client_max_window_bits));if(!c)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(c.server_no_context_takeover=!0),f.clientNoContextTakeover&&(c.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(c.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?c.client_max_window_bits=f.clientMaxWindowBits:(c.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete c.client_max_window_bits,c}acceptAsClient(u){let f=u[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(u){return u.forEach(f=>{Object.keys(f).forEach(c=>{let g=f[c];if(g.length>1)throw new Error(`Parameter "${c}" must have only a single value`);if(g=g[0],c==="client_max_window_bits"){if(g!==!0){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else if(c==="server_max_window_bits"){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(c==="client_no_context_takeover"||c==="server_no_context_takeover"){if(g!==!0)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else throw new Error(`Unknown parameter "${c}"`);f[c]=g})}),u}decompress(u,f,c){zh.add(g=>{this._decompress(u,f,(t,C)=>{g(),c(t,C)})})}compress(u,f,c){zh.add(g=>{this._compress(u,f,(t,C)=>{g(),c(t,C)})})}_decompress(u,f,c){let g=this._isServer?"client":"server";if(!this._inflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=_2.createInflateRaw(zn(dt({},this._options.zlibInflateOptions),{windowBits:C})),this._inflate[qh]=this,this._inflate[Xl]=0,this._inflate[jf]=[],this._inflate.on("error",mB),this._inflate.on("data",m6)}this._inflate[y2]=c,this._inflate.write(u),f&&this._inflate.write(pB),this._inflate.flush(()=>{let t=this._inflate[Zy];if(t){this._inflate.close(),this._inflate=null,c(t);return}let C=d6.concat(this._inflate[jf],this._inflate[Xl]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Xl]=0,this._inflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._inflate.reset()),c(null,C)})}_compress(u,f,c){let g=this._isServer?"server":"client";if(!this._deflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=_2.createDeflateRaw(zn(dt({},this._options.zlibDeflateOptions),{windowBits:C})),this._deflate[Xl]=0,this._deflate[jf]=[],this._deflate.on("error",dB),this._deflate.on("data",hB)}this._deflate[y2]=c,this._deflate.write(u),this._deflate.flush(_2.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=d6.concat(this._deflate[jf],this._deflate[Xl]);f&&(t=t.slice(0,t.length-4)),this._deflate[y2]=null,this._deflate[Xl]=0,this._deflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._deflate.reset(),c(null,t)})}};a6.exports=h6;function hB(i){this[jf].push(i),this[Xl]+=i.length}function m6(i){if(this[Xl]+=i.length,this[qh]._maxPayload<1||this[Xl]<=this[qh]._maxPayload){this[jf].push(i);return}this[Zy]=new RangeError("Max payload size exceeded"),this[Zy][p6]=1009,this.removeListener("data",m6),this.reset()}function mB(i){this[qh]._inflate=null,i[p6]=1007,this[y2](i)}});var t3=Me((Ub,e3)=>{"use strict";function v6(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function g6(i){let u=i.length,f=0;for(;f=u||(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>=u||(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),e3.exports={isValidStatusCode:v6,isValidUTF8(u){return u.length<150?g6(u):i(u)}}}catch(i){e3.exports={isValidStatusCode:v6,isValidUTF8:g6}}});var i3=Me((qb,_6)=>{"use strict";var{Writable:vB}=require("stream"),y6=w2(),{BINARY_TYPES:gB,EMPTY_BUFFER:_B,kStatusCode:yB,kWebSocket:wB}=mc(),{concat:n3,toArrayBuffer:DB,unmask:EB}=g2(),{isValidStatusCode:SB,isValidUTF8:w6}=t3(),D2=0,D6=1,E6=2,S6=3,r3=4,CB=5,C6=class extends vB{constructor(u,f,c,g){super();this._binaryType=u||gB[0],this[wB]=void 0,this._extensions=f||{},this._isServer=!!c,this._maxPayload=g|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=D2,this._loop=!1}_write(u,f,c){if(this._opcode===8&&this._state==D2)return c();this._bufferedBytes+=u.length,this._buffers.push(u),this.startLoop(c)}consume(u){if(this._bufferedBytes-=u,u===this._buffers[0].length)return this._buffers.shift();if(u=c.length?f.set(this._buffers.shift(),g):(f.set(new Uint8Array(c.buffer,c.byteOffset,u),g),this._buffers[0]=c.slice(u)),u-=c.length}while(u>0);return f}startLoop(u){let f;this._loop=!0;do switch(this._state){case D2:f=this.getInfo();break;case D6:f=this.getPayloadLength16();break;case E6:f=this.getPayloadLength64();break;case S6:this.getMask();break;case r3:f=this.getData(u);break;default:this._loop=!1;return}while(this._loop);u(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let u=this.consume(2);if((u[0]&48)!=0)return this._loop=!1,ii(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(u[0]&64)==64;if(f&&!this._extensions[y6.extensionName])return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(u[0]&128)==128,this._opcode=u[0]&15,this._payloadLength=u[1]&127,this._opcode===0){if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,ii(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,ii(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,ii(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,ii(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(u[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,ii(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,ii(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=D6;else if(this._payloadLength===127)this._state=E6;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 u=this.consume(8),f=u.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,ii(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+u.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,ii(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=S6:this._state=r3}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=r3}getData(u){let f=_B;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=CB,this.decompress(f,u);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(u,f){this._extensions[y6.extensionName].decompress(u,this._fin,(g,t)=>{if(g)return f(g);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(ii(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let C=this.dataMessage();if(C)return f(C);this.startLoop(f)})}dataMessage(){if(this._fin){let u=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let c;this._binaryType==="nodebuffer"?c=n3(f,u):this._binaryType==="arraybuffer"?c=DB(n3(f,u)):c=f,this.emit("message",c)}else{let c=n3(f,u);if(!w6(c))return this._loop=!1,ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",c.toString())}}this._state=D2}controlMessage(u){if(this._opcode===8)if(this._loop=!1,u.length===0)this.emit("conclude",1005,""),this.end();else{if(u.length===1)return ii(RangeError,"invalid payload length 1",!0,1002);{let f=u.readUInt16BE(0);if(!SB(f))return ii(RangeError,`invalid status code ${f}`,!0,1002);let c=u.slice(2);if(!w6(c))return ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,c.toString()),this.end()}}else this._opcode===9?this.emit("ping",u):this.emit("pong",u);this._state=D2}};_6.exports=C6;function ii(i,u,f,c){let g=new i(f?`Invalid WebSocket frame: ${u}`:u);return Error.captureStackTrace(g,ii),g[yB]=c,g}});var o3=Me((zb,T6)=>{"use strict";var{randomFillSync:TB}=require("crypto"),x6=w2(),{EMPTY_BUFFER:xB}=mc(),{isValidStatusCode:kB}=t3(),{mask:k6,toBuffer:Jl}=g2(),vc=Buffer.alloc(4),Ql=class{constructor(u,f){this._extensions=f||{},this._socket=u,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(u,f){let c=f.mask&&f.readOnly,g=f.mask?6:2,t=u.length;u.length>=65536?(g+=8,t=127):u.length>125&&(g+=2,t=126);let C=Buffer.allocUnsafe(c?u.length+g:g);return C[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(C[0]|=64),C[1]=t,t===126?C.writeUInt16BE(u.length,2):t===127&&(C.writeUInt32BE(0,2),C.writeUInt32BE(u.length,6)),f.mask?(TB(vc,0,4),C[1]|=128,C[g-4]=vc[0],C[g-3]=vc[1],C[g-2]=vc[2],C[g-1]=vc[3],c?(k6(u,vc,C,g,u.length),[C]):(k6(u,vc,u,0,u.length),[C,u])):[C,u]}close(u,f,c,g){let t;if(u===void 0)t=xB;else{if(typeof u!="number"||!kB(u))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(u,0);else{let C=Buffer.byteLength(f);if(C>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+C),t.writeUInt16BE(u,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,c,g]):this.doClose(t,c,g)}doClose(u,f,c){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),c)}ping(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,g,f,Jl.readOnly,c]):this.doPing(g,f,Jl.readOnly,c)}doPing(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:c}),g)}pong(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,g,f,Jl.readOnly,c]):this.doPong(g,f,Jl.readOnly,c)}doPong(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:c}),g)}send(u,f,c){let g=Jl(u),t=this._extensions[x6.extensionName],C=f.binary?2:1,A=f.compress;if(this._firstFragment?(this._firstFragment=!1,A&&t&&(A=g.length>=t._threshold),this._compress=A):(A=!1,C=0),f.fin&&(this._firstFragment=!0),t){let x={fin:f.fin,rsv1:A,opcode:C,mask:f.mask,readOnly:Jl.readOnly};this._deflating?this.enqueue([this.dispatch,g,this._compress,x,c]):this.dispatch(g,this._compress,x,c)}else this.sendFrame(Ql.frame(g,{fin:f.fin,rsv1:!1,opcode:C,mask:f.mask,readOnly:Jl.readOnly}),c)}dispatch(u,f,c,g){if(!f){this.sendFrame(Ql.frame(u,c),g);return}let t=this._extensions[x6.extensionName];this._bufferedBytes+=u.length,this._deflating=!0,t.compress(u,c.fin,(C,A)=>{if(this._socket.destroyed){let x=new Error("The socket was closed while data was being compressed");typeof g=="function"&&g(x);for(let D=0;D{"use strict";var E2=class{constructor(u,f){this.target=f,this.type=u}},O6=class extends E2{constructor(u,f){super("message",f);this.data=u}},I6=class extends E2{constructor(u,f,c){super("close",c);this.wasClean=c._closeFrameReceived&&c._closeFrameSent,this.reason=f,this.code=u}},P6=class extends E2{constructor(u){super("open",u)}},M6=class extends E2{constructor(u,f){super("error",f);this.message=u.message,this.error=u}},AB={addEventListener(i,u,f){if(typeof u!="function")return;function c(x){u.call(this,new O6(x,this))}function g(x,D){u.call(this,new I6(x,D,this))}function t(x){u.call(this,new M6(x,this))}function C(){u.call(this,new P6(this))}let A=f&&f.once?"once":"on";i==="message"?(c._listener=u,this[A](i,c)):i==="close"?(g._listener=u,this[A](i,g)):i==="error"?(t._listener=u,this[A](i,t)):i==="open"?(C._listener=u,this[A](i,C)):this[A](i,u)},removeEventListener(i,u){let f=this.listeners(i);for(let c=0;c{"use strict";var S2=[0,0,0,0,0,0,0,0,0,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 rl(i,u,f){i[u]===void 0?i[u]=[f]:i[u].push(f)}function OB(i){let u=Object.create(null);if(i===void 0||i==="")return u;let f=Object.create(null),c=!1,g=!1,t=!1,C,A,x=-1,D=-1,L=0;for(;L{let f=i[u];return Array.isArray(f)||(f=[f]),f.map(c=>[u].concat(Object.keys(c).map(g=>{let t=c[g];return Array.isArray(t)||(t=[t]),t.map(C=>C===!0?g:`${g}=${C}`).join("; ")})).join("; ")).join(", ")}).join(", ")}L6.exports={format:IB,parse:OB}});var a3=Me((bb,R6)=>{"use strict";var PB=require("events"),MB=require("https"),FB=require("http"),N6=require("net"),LB=require("tls"),{randomBytes:RB,createHash:NB}=require("crypto"),{URL:s3}=require("url"),Uf=w2(),BB=i3(),jB=o3(),{BINARY_TYPES:B6,EMPTY_BUFFER:l3,GUID:UB,kStatusCode:qB,kWebSocket:No,NOOP:j6}=mc(),{addEventListener:zB,removeEventListener:WB}=F6(),{format:HB,parse:bB}=u3(),{toBuffer:GB}=g2(),U6=["CONNECTING","OPEN","CLOSING","CLOSED"],f3=[8,13],VB=30*1e3,mr=class extends PB{constructor(u,f,c){super();this._binaryType=B6[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=mr.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,u!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(c=f,f=void 0),q6(this,u,f,c)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(u){!B6.includes(u)||(this._binaryType=u,this._receiver&&(this._receiver._binaryType=u))}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(u,f,c){let g=new BB(this.binaryType,this._extensions,this._isServer,c);this._sender=new jB(u,this._extensions),this._receiver=g,this._socket=u,g[No]=this,u[No]=this,g.on("conclude",YB),g.on("drain",$B),g.on("error",KB),g.on("message",XB),g.on("ping",JB),g.on("pong",QB),u.setTimeout(0),u.setNoDelay(),f.length>0&&u.unshift(f),u.on("close",z6),u.on("data",Wh),u.on("end",W6),u.on("error",H6),this._readyState=mr.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Uf.extensionName]&&this._extensions[Uf.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(u,f){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let c="WebSocket was closed before the connection was established";return Zl(this,this._req,c)}if(this.readyState===mr.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=mr.CLOSING,this._sender.close(u,f,!this._isServer,c=>{c||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),VB)}}ping(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.ping(u||l3,f,c)}pong(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.pong(u||l3,f,c)}send(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(c=f,f={}),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}let g=dt({binary:typeof u!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[Uf.extensionName]||(g.compress=!1),this._sender.send(u||l3,g,c)}terminate(){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let u="WebSocket was closed before the connection was established";return Zl(this,this._req,u)}this._socket&&(this._readyState=mr.CLOSING,this._socket.destroy())}}};U6.forEach((i,u)=>{let f={enumerable:!0,value:u};Object.defineProperty(mr.prototype,i,f),Object.defineProperty(mr,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(mr.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(mr.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let u=this.listeners(i);for(let f=0;f{Zl(i,j,"Opening handshake has timed out")}),j.on("error",$=>{j===null||j.aborted||(j=i._req=null,i._readyState=mr.CLOSING,i.emit("error",$),i.emitClose())}),j.on("response",$=>{let h=$.headers.location,re=$.statusCode;if(h&&g.followRedirects&&re>=300&&re<400){if(++i._redirects>g.maxRedirects){Zl(i,j,"Maximum redirects exceeded");return}j.abort();let ce=new s3(h,u);q6(i,ce,f,c)}else i.emit("unexpected-response",j,$)||Zl(i,j,`Unexpected server response: ${$.statusCode}`)}),j.on("upgrade",($,h,re)=>{if(i.emit("upgrade",$),i.readyState!==mr.CONNECTING)return;j=i._req=null;let ce=NB("sha1").update(D+UB).digest("base64");if($.headers["sec-websocket-accept"]!==ce){Zl(i,h,"Invalid Sec-WebSocket-Accept header");return}let Q=$.headers["sec-websocket-protocol"],oe=(f||"").split(/, */),Se;if(!f&&Q?Se="Server sent a subprotocol but none was requested":f&&!Q?Se="Server sent no subprotocol":Q&&!oe.includes(Q)&&(Se="Server sent an invalid subprotocol"),Se){Zl(i,h,Se);return}if(Q&&(i._protocol=Q),N)try{let me=bB($.headers["sec-websocket-extensions"]);me[Uf.extensionName]&&(N.accept(me[Uf.extensionName]),i._extensions[Uf.extensionName]=N)}catch(me){Zl(i,h,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(h,re,g.maxPayload)})}function ZB(i){return i.path=i.socketPath,N6.connect(i)}function ej(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=N6.isIP(i.host)?"":i.host),LB.connect(i)}function Zl(i,u,f){i._readyState=mr.CLOSING;let c=new Error(f);Error.captureStackTrace(c,Zl),u.setHeader?(u.abort(),u.socket&&!u.socket.destroyed&&u.socket.destroy(),u.once("abort",i.emitClose.bind(i)),i.emit("error",c)):(u.destroy(c),u.once("error",i.emit.bind(i,"error")),u.once("close",i.emitClose.bind(i)))}function c3(i,u,f){if(u){let c=GB(u).length;i._socket?i._sender._bufferedBytes+=c:i._bufferedAmount+=c}if(f){let c=new Error(`WebSocket is not open: readyState ${i.readyState} (${U6[i.readyState]})`);f(c)}}function YB(i,u){let f=this[No];f._socket.removeListener("data",Wh),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=u,f._closeCode=i,i===1005?f.close():f.close(i,u)}function $B(){this[No]._socket.resume()}function KB(i){let u=this[No];u._socket.removeListener("data",Wh),u._readyState=mr.CLOSING,u._closeCode=i[qB],u.emit("error",i),u._socket.destroy()}function b6(){this[No].emitClose()}function XB(i){this[No].emit("message",i)}function JB(i){let u=this[No];u.pong(i,!u._isServer,j6),u.emit("ping",i)}function QB(i){this[No].emit("pong",i)}function z6(){let i=this[No];this.removeListener("close",z6),this.removeListener("end",W6),i._readyState=mr.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",Wh),this[No]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",b6),i._receiver.on("finish",b6))}function Wh(i){this[No]._receiver.write(i)||this.pause()}function W6(){let i=this[No];i._readyState=mr.CLOSING,i._receiver.end(),this.end()}function H6(){let i=this[No];this.removeListener("error",H6),this.on("error",j6),i&&(i._readyState=mr.CLOSING,this.destroy())}});var $6=Me((Gb,G6)=>{"use strict";var{Duplex:tj}=require("stream");function V6(i){i.emit("close")}function nj(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Y6(i){this.removeListener("error",Y6),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function rj(i,u){let f=!0;function c(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c));let g=new tj(zn(dt({},u),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(C){g.push(C)||(f=!1,i._socket.pause())}),i.once("error",function(C){g.destroyed||g.destroy(C)}),i.once("close",function(){g.destroyed||g.push(null)}),g._destroy=function(t,C){if(i.readyState===i.CLOSED){C(t),process.nextTick(V6,g);return}let A=!1;i.once("error",function(D){A=!0,C(D)}),i.once("close",function(){A||C(t),process.nextTick(V6,g)}),i.terminate()},g._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){g._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),g._readableState.endEmitted&&g.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},g._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},g._write=function(t,C,A){if(i.readyState===i.CONNECTING){i.once("open",function(){g._write(t,C,A)});return}i.send(t,A)},g.on("end",nj),g.on("error",Y6),g}G6.exports=rj});var J6=Me((Vb,K6)=>{"use strict";var ij=require("events"),{createHash:oj}=require("crypto"),{createServer:uj,STATUS_CODES:d3}=require("http"),gc=w2(),sj=a3(),{format:lj,parse:fj}=u3(),{GUID:cj,kWebSocket:aj}=mc(),dj=/^[+/0-9A-Za-z]{22}==$/,X6=class extends ij{constructor(u,f){super();if(u=dt({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},u),u.port==null&&!u.server&&!u.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(u.port!=null?(this._server=uj((c,g)=>{let t=d3[426];g.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),g.end(t)}),this._server.listen(u.port,u.host,u.backlog,f)):u.server&&(this._server=u.server),this._server){let c=this.emit.bind(this,"connection");this._removeListeners=pj(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(g,t,C)=>{this.handleUpgrade(g,t,C,c)}})}u.perMessageDeflate===!0&&(u.perMessageDeflate={}),u.clientTracking&&(this.clients=new Set),this.options=u}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(u){if(u&&this.once("close",u),this.clients)for(let c of this.clients)c.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(hj,this)}shouldHandle(u){if(this.options.path){let f=u.url.indexOf("?");if((f!==-1?u.url.slice(0,f):u.url)!==this.options.path)return!1}return!0}handleUpgrade(u,f,c,g){f.on("error",p3);let t=u.headers["sec-websocket-key"]!==void 0?u.headers["sec-websocket-key"].trim():!1,C=+u.headers["sec-websocket-version"],A={};if(u.method!=="GET"||u.headers.upgrade.toLowerCase()!=="websocket"||!t||!dj.test(t)||C!==8&&C!==13||!this.shouldHandle(u))return Hh(f,400);if(this.options.perMessageDeflate){let x=new gc(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let D=fj(u.headers["sec-websocket-extensions"]);D[gc.extensionName]&&(x.accept(D[gc.extensionName]),A[gc.extensionName]=x)}catch(D){return Hh(f,400)}}if(this.options.verifyClient){let x={origin:u.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(u.socket.authorized||u.socket.encrypted),req:u};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(D,L,N,j)=>{if(!D)return Hh(f,L||401,N,j);this.completeUpgrade(t,A,u,f,c,g)});return}if(!this.options.verifyClient(x))return Hh(f,401)}this.completeUpgrade(t,A,u,f,c,g)}completeUpgrade(u,f,c,g,t,C){if(!g.readable||!g.writable)return g.destroy();if(g[aj])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let A=oj("sha1").update(u+cj).digest("base64"),x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${A}`],D=new sj(null),L=c.headers["sec-websocket-protocol"];if(L&&(L=L.split(",").map(mj),this.options.handleProtocols?L=this.options.handleProtocols(L,c):L=L[0],L&&(x.push(`Sec-WebSocket-Protocol: ${L}`),D._protocol=L)),f[gc.extensionName]){let N=f[gc.extensionName].params,j=lj({[gc.extensionName]:[N]});x.push(`Sec-WebSocket-Extensions: ${j}`),D._extensions=f}this.emit("headers",x,c),g.write(x.concat(`\r +`).join(`\r +`)),g.removeListener("error",p3),D.setSocket(g,t,this.options.maxPayload),this.clients&&(this.clients.add(D),D.on("close",()=>this.clients.delete(D))),C(D,c)}};K6.exports=X6;function pj(i,u){for(let f of Object.keys(u))i.on(f,u[f]);return function(){for(let c of Object.keys(u))i.removeListener(c,u[c])}}function hj(i){i.emit("close")}function p3(){this.destroy()}function Hh(i,u,f,c){i.writable&&(f=f||d3[u],c=dt({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},c),i.write(`HTTP/1.1 ${u} ${d3[u]}\r +`+Object.keys(c).map(g=>`${g}: ${c[g]}`).join(`\r +`)+`\r +\r +`+f)),i.removeListener("error",p3),i.destroy()}function mj(i){return i.trim()}});var Z6=Me((Yb,Q6)=>{"use strict";var C2=a3();C2.createWebSocketStream=$6();C2.Server=J6();C2.Receiver=i3();C2.Sender=o3();Q6.exports=C2});var eS=Me(bh=>{"use strict";var vj=bh&&bh.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bh,"__esModule",{value:!0});var gj=vj(Z6()),T2=global;T2.WebSocket||(T2.WebSocket=gj.default);T2.window||(T2.window=global);T2.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 tS=Me((Gh,h3)=>{(function(i,u){typeof Gh=="object"&&typeof h3=="object"?h3.exports=u():typeof define=="function"&&define.amd?define([],u):typeof Gh=="object"?Gh.ReactDevToolsBackend=u():i.ReactDevToolsBackend=u()})(window,function(){return function(i){var u={};function f(c){if(u[c])return u[c].exports;var g=u[c]={i:c,l:!1,exports:{}};return i[c].call(g.exports,g,g.exports,f),g.l=!0,g.exports}return f.m=i,f.c=u,f.d=function(c,g,t){f.o(c,g)||Object.defineProperty(c,g,{enumerable:!0,get:t})},f.r=function(c){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},f.t=function(c,g){if(1&g&&(c=f(c)),8&g||4&g&&typeof c=="object"&&c&&c.__esModule)return c;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:c}),2&g&&typeof c!="string")for(var C in c)f.d(t,C,function(A){return c[A]}.bind(null,C));return t},f.n=function(c){var g=c&&c.__esModule?function(){return c.default}:function(){return c};return f.d(g,"a",g),g},f.o=function(c,g){return Object.prototype.hasOwnProperty.call(c,g)},f.p="",f(f.s=20)}([function(i,u,f){"use strict";i.exports=f(12)},function(i,u,f){"use strict";var c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function C(A){if(A==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(A)}i.exports=function(){try{if(!Object.assign)return!1;var A=new String("abc");if(A[5]="de",Object.getOwnPropertyNames(A)[0]==="5")return!1;for(var x={},D=0;D<10;D++)x["_"+String.fromCharCode(D)]=D;if(Object.getOwnPropertyNames(x).map(function(N){return x[N]}).join("")!=="0123456789")return!1;var L={};return"abcdefghijklmnopqrst".split("").forEach(function(N){L[N]=N}),Object.keys(Object.assign({},L)).join("")==="abcdefghijklmnopqrst"}catch(N){return!1}}()?Object.assign:function(A,x){for(var D,L,N=C(A),j=1;j=J||Ft<0||Nt&&it-At>=ot}function Z(){var it=ce();if(ge(it))return Ae(it);Ue=setTimeout(Z,function(Ft){var jt=J-(Ft-be);return Nt?re(jt,ot-(Ft-At)):jt}(it))}function Ae(it){return Ue=void 0,Je&&Oe?V(it):(Oe=Le=void 0,ct)}function at(){var it=ce(),Ft=ge(it);if(Oe=arguments,Le=this,be=it,Ft){if(Ue===void 0)return ne(be);if(Nt)return Ue=setTimeout(Z,J),V(be)}return Ue===void 0&&(Ue=setTimeout(Z,J)),ct}return J=me(J)||0,oe(Te)&&(Ot=!!Te.leading,ot=(Nt="maxWait"in Te)?h(me(Te.maxWait)||0,J):ot,Je="trailing"in Te?!!Te.trailing:Je),at.cancel=function(){Ue!==void 0&&clearTimeout(Ue),At=0,Oe=be=Le=Ue=void 0},at.flush=function(){return Ue===void 0?ct:Ae(ce())},at}function oe(De){var J=g(De);return!!De&&(J=="object"||J=="function")}function Se(De){return g(De)=="symbol"||function(J){return!!J&&g(J)=="object"}(De)&&$.call(De)=="[object Symbol]"}function me(De){if(typeof De=="number")return De;if(Se(De))return NaN;if(oe(De)){var J=typeof De.valueOf=="function"?De.valueOf():De;De=oe(J)?J+"":J}if(typeof De!="string")return De===0?De:+De;De=De.replace(t,"");var Te=A.test(De);return Te||x.test(De)?D(De.slice(2),Te?2:8):C.test(De)?NaN:+De}i.exports=function(De,J,Te){var Oe=!0,Le=!0;if(typeof De!="function")throw new TypeError("Expected a function");return oe(Te)&&(Oe="leading"in Te?!!Te.leading:Oe,Le="trailing"in Te?!!Te.trailing:Le),Q(De,J,{leading:Oe,maxWait:J,trailing:Le})}}).call(this,f(4))},function(i,u,f){(function(c){function g(V){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ne){return typeof ne}:function(ne){return ne&&typeof Symbol=="function"&&ne.constructor===Symbol&&ne!==Symbol.prototype?"symbol":typeof ne})(V)}var t;u=i.exports=h,t=(c===void 0?"undefined":g(c))==="object"&&c.env&&c.env.NODE_DEBUG&&/\bsemver\b/i.test(c.env.NODE_DEBUG)?function(){var V=Array.prototype.slice.call(arguments,0);V.unshift("SEMVER"),console.log.apply(console,V)}:function(){},u.SEMVER_SPEC_VERSION="2.0.0";var C=Number.MAX_SAFE_INTEGER||9007199254740991,A=u.re=[],x=u.src=[],D=u.tokens={},L=0;function N(V){D[V]=L++}N("NUMERICIDENTIFIER"),x[D.NUMERICIDENTIFIER]="0|[1-9]\\d*",N("NUMERICIDENTIFIERLOOSE"),x[D.NUMERICIDENTIFIERLOOSE]="[0-9]+",N("NONNUMERICIDENTIFIER"),x[D.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",N("MAINVERSION"),x[D.MAINVERSION]="("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")",N("MAINVERSIONLOOSE"),x[D.MAINVERSIONLOOSE]="("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")",N("PRERELEASEIDENTIFIER"),x[D.PRERELEASEIDENTIFIER]="(?:"+x[D.NUMERICIDENTIFIER]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASEIDENTIFIERLOOSE"),x[D.PRERELEASEIDENTIFIERLOOSE]="(?:"+x[D.NUMERICIDENTIFIERLOOSE]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASE"),x[D.PRERELEASE]="(?:-("+x[D.PRERELEASEIDENTIFIER]+"(?:\\."+x[D.PRERELEASEIDENTIFIER]+")*))",N("PRERELEASELOOSE"),x[D.PRERELEASELOOSE]="(?:-?("+x[D.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+x[D.PRERELEASEIDENTIFIERLOOSE]+")*))",N("BUILDIDENTIFIER"),x[D.BUILDIDENTIFIER]="[0-9A-Za-z-]+",N("BUILD"),x[D.BUILD]="(?:\\+("+x[D.BUILDIDENTIFIER]+"(?:\\."+x[D.BUILDIDENTIFIER]+")*))",N("FULL"),N("FULLPLAIN"),x[D.FULLPLAIN]="v?"+x[D.MAINVERSION]+x[D.PRERELEASE]+"?"+x[D.BUILD]+"?",x[D.FULL]="^"+x[D.FULLPLAIN]+"$",N("LOOSEPLAIN"),x[D.LOOSEPLAIN]="[v=\\s]*"+x[D.MAINVERSIONLOOSE]+x[D.PRERELEASELOOSE]+"?"+x[D.BUILD]+"?",N("LOOSE"),x[D.LOOSE]="^"+x[D.LOOSEPLAIN]+"$",N("GTLT"),x[D.GTLT]="((?:<|>)?=?)",N("XRANGEIDENTIFIERLOOSE"),x[D.XRANGEIDENTIFIERLOOSE]=x[D.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",N("XRANGEIDENTIFIER"),x[D.XRANGEIDENTIFIER]=x[D.NUMERICIDENTIFIER]+"|x|X|\\*",N("XRANGEPLAIN"),x[D.XRANGEPLAIN]="[v=\\s]*("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:"+x[D.PRERELEASE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGEPLAINLOOSE"),x[D.XRANGEPLAINLOOSE]="[v=\\s]*("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:"+x[D.PRERELEASELOOSE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGE"),x[D.XRANGE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAIN]+"$",N("XRANGELOOSE"),x[D.XRANGELOOSE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAINLOOSE]+"$",N("COERCE"),x[D.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",N("COERCERTL"),A[D.COERCERTL]=new RegExp(x[D.COERCE],"g"),N("LONETILDE"),x[D.LONETILDE]="(?:~>?)",N("TILDETRIM"),x[D.TILDETRIM]="(\\s*)"+x[D.LONETILDE]+"\\s+",A[D.TILDETRIM]=new RegExp(x[D.TILDETRIM],"g"),N("TILDE"),x[D.TILDE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAIN]+"$",N("TILDELOOSE"),x[D.TILDELOOSE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAINLOOSE]+"$",N("LONECARET"),x[D.LONECARET]="(?:\\^)",N("CARETTRIM"),x[D.CARETTRIM]="(\\s*)"+x[D.LONECARET]+"\\s+",A[D.CARETTRIM]=new RegExp(x[D.CARETTRIM],"g"),N("CARET"),x[D.CARET]="^"+x[D.LONECARET]+x[D.XRANGEPLAIN]+"$",N("CARETLOOSE"),x[D.CARETLOOSE]="^"+x[D.LONECARET]+x[D.XRANGEPLAINLOOSE]+"$",N("COMPARATORLOOSE"),x[D.COMPARATORLOOSE]="^"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+")$|^$",N("COMPARATOR"),x[D.COMPARATOR]="^"+x[D.GTLT]+"\\s*("+x[D.FULLPLAIN]+")$|^$",N("COMPARATORTRIM"),x[D.COMPARATORTRIM]="(\\s*)"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+"|"+x[D.XRANGEPLAIN]+")",A[D.COMPARATORTRIM]=new RegExp(x[D.COMPARATORTRIM],"g"),N("HYPHENRANGE"),x[D.HYPHENRANGE]="^\\s*("+x[D.XRANGEPLAIN]+")\\s+-\\s+("+x[D.XRANGEPLAIN]+")\\s*$",N("HYPHENRANGELOOSE"),x[D.HYPHENRANGELOOSE]="^\\s*("+x[D.XRANGEPLAINLOOSE]+")\\s+-\\s+("+x[D.XRANGEPLAINLOOSE]+")\\s*$",N("STAR"),x[D.STAR]="(<|>)?=?\\s*\\*";for(var j=0;j256||!(ne.loose?A[D.LOOSE]:A[D.FULL]).test(V))return null;try{return new h(V,ne)}catch(ge){return null}}function h(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof h){if(V.loose===ne.loose)return V;V=V.version}else if(typeof V!="string")throw new TypeError("Invalid Version: "+V);if(V.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof h))return new h(V,ne);t("SemVer",V,ne),this.options=ne,this.loose=!!ne.loose;var ge=V.trim().match(ne.loose?A[D.LOOSE]:A[D.FULL]);if(!ge)throw new TypeError("Invalid Version: "+V);if(this.raw=V,this.major=+ge[1],this.minor=+ge[2],this.patch=+ge[3],this.major>C||this.major<0)throw new TypeError("Invalid major version");if(this.minor>C||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>C||this.patch<0)throw new TypeError("Invalid patch version");ge[4]?this.prerelease=ge[4].split(".").map(function(Z){if(/^[0-9]+$/.test(Z)){var Ae=+Z;if(Ae>=0&&Ae=0;)typeof this.prerelease[ge]=="number"&&(this.prerelease[ge]++,ge=-2);ge===-1&&this.prerelease.push(0)}ne&&(this.prerelease[0]===ne?isNaN(this.prerelease[1])&&(this.prerelease=[ne,0]):this.prerelease=[ne,0]);break;default:throw new Error("invalid increment argument: "+V)}return this.format(),this.raw=this.version,this},u.inc=function(V,ne,ge,Z){typeof ge=="string"&&(Z=ge,ge=void 0);try{return new h(V,ge).inc(ne,Z).version}catch(Ae){return null}},u.diff=function(V,ne){if(me(V,ne))return null;var ge=$(V),Z=$(ne),Ae="";if(ge.prerelease.length||Z.prerelease.length){Ae="pre";var at="prerelease"}for(var it in ge)if((it==="major"||it==="minor"||it==="patch")&&ge[it]!==Z[it])return Ae+it;return at},u.compareIdentifiers=ce;var re=/^[0-9]+$/;function ce(V,ne){var ge=re.test(V),Z=re.test(ne);return ge&&Z&&(V=+V,ne=+ne),V===ne?0:ge&&!Z?-1:Z&&!ge?1:V0}function Se(V,ne,ge){return Q(V,ne,ge)<0}function me(V,ne,ge){return Q(V,ne,ge)===0}function De(V,ne,ge){return Q(V,ne,ge)!==0}function J(V,ne,ge){return Q(V,ne,ge)>=0}function Te(V,ne,ge){return Q(V,ne,ge)<=0}function Oe(V,ne,ge,Z){switch(ne){case"===":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V===ge;case"!==":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V!==ge;case"":case"=":case"==":return me(V,ge,Z);case"!=":return De(V,ge,Z);case">":return oe(V,ge,Z);case">=":return J(V,ge,Z);case"<":return Se(V,ge,Z);case"<=":return Te(V,ge,Z);default:throw new TypeError("Invalid operator: "+ne)}}function Le(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof Le){if(V.loose===!!ne.loose)return V;V=V.value}if(!(this instanceof Le))return new Le(V,ne);t("comparator",V,ne),this.options=ne,this.loose=!!ne.loose,this.parse(V),this.semver===ot?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}u.rcompareIdentifiers=function(V,ne){return ce(ne,V)},u.major=function(V,ne){return new h(V,ne).major},u.minor=function(V,ne){return new h(V,ne).minor},u.patch=function(V,ne){return new h(V,ne).patch},u.compare=Q,u.compareLoose=function(V,ne){return Q(V,ne,!0)},u.compareBuild=function(V,ne,ge){var Z=new h(V,ge),Ae=new h(ne,ge);return Z.compare(Ae)||Z.compareBuild(Ae)},u.rcompare=function(V,ne,ge){return Q(ne,V,ge)},u.sort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(ge,Z,ne)})},u.rsort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(Z,ge,ne)})},u.gt=oe,u.lt=Se,u.eq=me,u.neq=De,u.gte=J,u.lte=Te,u.cmp=Oe,u.Comparator=Le;var ot={};function ct(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof ct)return V.loose===!!ne.loose&&V.includePrerelease===!!ne.includePrerelease?V:new ct(V.raw,ne);if(V instanceof Le)return new ct(V.value,ne);if(!(this instanceof ct))return new ct(V,ne);if(this.options=ne,this.loose=!!ne.loose,this.includePrerelease=!!ne.includePrerelease,this.raw=V,this.set=V.split(/\s*\|\|\s*/).map(function(ge){return this.parseRange(ge.trim())},this).filter(function(ge){return ge.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+V);this.format()}function Ue(V,ne){for(var ge=!0,Z=V.slice(),Ae=Z.pop();ge&&Z.length;)ge=Z.every(function(at){return Ae.intersects(at,ne)}),Ae=Z.pop();return ge}function be(V){return!V||V.toLowerCase()==="x"||V==="*"}function At(V,ne,ge,Z,Ae,at,it,Ft,jt,hn,Un,Jt,Yt){return((ne=be(ge)?"":be(Z)?">="+ge+".0.0":be(Ae)?">="+ge+"."+Z+".0":">="+ne)+" "+(Ft=be(jt)?"":be(hn)?"<"+(+jt+1)+".0.0":be(Un)?"<"+jt+"."+(+hn+1)+".0":Jt?"<="+jt+"."+hn+"."+Un+"-"+Jt:"<="+Ft)).trim()}function Ot(V,ne,ge){for(var Z=0;Z0){var Ae=V[Z].semver;if(Ae.major===ne.major&&Ae.minor===ne.minor&&Ae.patch===ne.patch)return!0}return!1}return!0}function Nt(V,ne,ge){try{ne=new ct(ne,ge)}catch(Z){return!1}return ne.test(V)}function Je(V,ne,ge,Z){var Ae,at,it,Ft,jt;switch(V=new h(V,Z),ne=new ct(ne,Z),ge){case">":Ae=oe,at=Te,it=Se,Ft=">",jt=">=";break;case"<":Ae=Se,at=J,it=oe,Ft="<",jt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Nt(V,ne,Z))return!1;for(var hn=0;hn=0.0.0")),Jt=Jt||cr,Yt=Yt||cr,Ae(cr.semver,Jt.semver,Z)?Jt=cr:it(cr.semver,Yt.semver,Z)&&(Yt=cr)}),Jt.operator===Ft||Jt.operator===jt||(!Yt.operator||Yt.operator===Ft)&&at(V,Yt.semver)||Yt.operator===jt&&it(V,Yt.semver))return!1}return!0}Le.prototype.parse=function(V){var ne=this.options.loose?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],ge=V.match(ne);if(!ge)throw new TypeError("Invalid comparator: "+V);this.operator=ge[1]!==void 0?ge[1]:"",this.operator==="="&&(this.operator=""),ge[2]?this.semver=new h(ge[2],this.options.loose):this.semver=ot},Le.prototype.toString=function(){return this.value},Le.prototype.test=function(V){if(t("Comparator.test",V,this.options.loose),this.semver===ot||V===ot)return!0;if(typeof V=="string")try{V=new h(V,this.options)}catch(ne){return!1}return Oe(V,this.operator,this.semver,this.options)},Le.prototype.intersects=function(V,ne){if(!(V instanceof Le))throw new TypeError("a Comparator is required");var ge;if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),this.operator==="")return this.value===""||(ge=new ct(V.value,ne),Nt(this.value,ge,ne));if(V.operator==="")return V.value===""||(ge=new ct(this.value,ne),Nt(V.semver,ge,ne));var Z=!(this.operator!==">="&&this.operator!==">"||V.operator!==">="&&V.operator!==">"),Ae=!(this.operator!=="<="&&this.operator!=="<"||V.operator!=="<="&&V.operator!=="<"),at=this.semver.version===V.semver.version,it=!(this.operator!==">="&&this.operator!=="<="||V.operator!==">="&&V.operator!=="<="),Ft=Oe(this.semver,"<",V.semver,ne)&&(this.operator===">="||this.operator===">")&&(V.operator==="<="||V.operator==="<"),jt=Oe(this.semver,">",V.semver,ne)&&(this.operator==="<="||this.operator==="<")&&(V.operator===">="||V.operator===">");return Z||Ae||at&&it||Ft||jt},u.Range=ct,ct.prototype.format=function(){return this.range=this.set.map(function(V){return V.join(" ").trim()}).join("||").trim(),this.range},ct.prototype.toString=function(){return this.range},ct.prototype.parseRange=function(V){var ne=this.options.loose;V=V.trim();var ge=ne?A[D.HYPHENRANGELOOSE]:A[D.HYPHENRANGE];V=V.replace(ge,At),t("hyphen replace",V),V=V.replace(A[D.COMPARATORTRIM],"$1$2$3"),t("comparator trim",V,A[D.COMPARATORTRIM]),V=(V=(V=V.replace(A[D.TILDETRIM],"$1~")).replace(A[D.CARETTRIM],"$1^")).split(/\s+/).join(" ");var Z=ne?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],Ae=V.split(" ").map(function(at){return function(it,Ft){return t("comp",it,Ft),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){t("caret",Jt,Yt);var cr=Yt.loose?A[D.CARETLOOSE]:A[D.CARET];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("caret",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=pt==="0"?">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+".0 <"+(+pt+1)+".0.0":Xn?(t("replaceCaret pr",Xn),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+(+pt+1)+".0.0"):(t("no pr"),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+" <"+(+pt+1)+".0.0"),t("caret return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("caret",it),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){var cr=Yt.loose?A[D.TILDELOOSE]:A[D.TILDE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("tilde",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":Xn?(t("replaceTilde pr",Xn),vr=">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0"):vr=">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0",t("tilde return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("tildes",it),it=function(jt,hn){return t("replaceXRanges",jt,hn),jt.split(/\s+/).map(function(Un){return function(Jt,Yt){Jt=Jt.trim();var cr=Yt.loose?A[D.XRANGELOOSE]:A[D.XRANGE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn,vr){t("xRange",Jt,w,pt,Mn,Bn,Xn,vr);var gr=be(Mn),r0=gr||be(Bn),Ci=r0||be(Xn),yo=Ci;return pt==="="&&yo&&(pt=""),vr=Yt.includePrerelease?"-0":"",gr?w=pt===">"||pt==="<"?"<0.0.0-0":"*":pt&&yo?(r0&&(Bn=0),Xn=0,pt===">"?(pt=">=",r0?(Mn=+Mn+1,Bn=0,Xn=0):(Bn=+Bn+1,Xn=0)):pt==="<="&&(pt="<",r0?Mn=+Mn+1:Bn=+Bn+1),w=pt+Mn+"."+Bn+"."+Xn+vr):r0?w=">="+Mn+".0.0"+vr+" <"+(+Mn+1)+".0.0"+vr:Ci&&(w=">="+Mn+"."+Bn+".0"+vr+" <"+Mn+"."+(+Bn+1)+".0"+vr),t("xRange return",w),w})}(Un,hn)}).join(" ")}(it,Ft),t("xrange",it),it=function(jt,hn){return t("replaceStars",jt,hn),jt.trim().replace(A[D.STAR],"")}(it,Ft),t("stars",it),it}(at,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(Ae=Ae.filter(function(at){return!!at.match(Z)})),Ae=Ae.map(function(at){return new Le(at,this.options)},this)},ct.prototype.intersects=function(V,ne){if(!(V instanceof ct))throw new TypeError("a Range is required");return this.set.some(function(ge){return Ue(ge,ne)&&V.set.some(function(Z){return Ue(Z,ne)&&ge.every(function(Ae){return Z.every(function(at){return Ae.intersects(at,ne)})})})})},u.toComparators=function(V,ne){return new ct(V,ne).set.map(function(ge){return ge.map(function(Z){return Z.value}).join(" ").trim().split(" ")})},ct.prototype.test=function(V){if(!V)return!1;if(typeof V=="string")try{V=new h(V,this.options)}catch(ge){return!1}for(var ne=0;ne":at.prerelease.length===0?at.patch++:at.prerelease.push(0),at.raw=at.format();case"":case">=":ge&&!oe(ge,at)||(ge=at);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+Ae.operator)}});return ge&&V.test(ge)?ge:null},u.validRange=function(V,ne){try{return new ct(V,ne).range||"*"}catch(ge){return null}},u.ltr=function(V,ne,ge){return Je(V,ne,"<",ge)},u.gtr=function(V,ne,ge){return Je(V,ne,">",ge)},u.outside=Je,u.prerelease=function(V,ne){var ge=$(V,ne);return ge&&ge.prerelease.length?ge.prerelease:null},u.intersects=function(V,ne,ge){return V=new ct(V,ge),ne=new ct(ne,ge),V.intersects(ne)},u.coerce=function(V,ne){if(V instanceof h)return V;if(typeof V=="number"&&(V=String(V)),typeof V!="string")return null;var ge=null;if((ne=ne||{}).rtl){for(var Z;(Z=A[D.COERCERTL].exec(V))&&(!ge||ge.index+ge[0].length!==V.length);)ge&&Z.index+Z[0].length===ge.index+ge[0].length||(ge=Z),A[D.COERCERTL].lastIndex=Z.index+Z[1].length+Z[2].length;A[D.COERCERTL].lastIndex=-1}else ge=V.match(A[D.COERCE]);return ge===null?null:$(ge[2]+"."+(ge[3]||"0")+"."+(ge[4]||"0"),ne)}}).call(this,f(5))},function(i,u){function f(g){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})(g)}var c;c=function(){return this}();try{c=c||new Function("return this")()}catch(g){(typeof window=="undefined"?"undefined":f(window))==="object"&&(c=window)}i.exports=c},function(i,u){var f,c,g=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function C(){throw new Error("clearTimeout has not been defined")}function A(ce){if(f===setTimeout)return setTimeout(ce,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(ce,0);try{return f(ce,0)}catch(Q){try{return f.call(null,ce,0)}catch(oe){return f.call(this,ce,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(ce){f=t}try{c=typeof clearTimeout=="function"?clearTimeout:C}catch(ce){c=C}})();var x,D=[],L=!1,N=-1;function j(){L&&x&&(L=!1,x.length?D=x.concat(D):N=-1,D.length&&$())}function $(){if(!L){var ce=A(j);L=!0;for(var Q=D.length;Q;){for(x=D,D=[];++N1)for(var oe=1;oethis[C])return De(this,this[h].get(Ue)),!1;var Je=this[h].get(Ue).value;return this[N]&&(this[j]||this[N](Ue,Je.value)),Je.now=Ot,Je.maxAge=At,Je.value=be,this[A]+=Nt-Je.length,Je.length=Nt,this.get(Ue),me(this),!0}var V=new J(Ue,be,Nt,Ot,At);return V.length>this[C]?(this[N]&&this[N](Ue,be),!1):(this[A]+=V.length,this[$].unshift(V),this[h].set(Ue,this[$].head),me(this),!0)}},{key:"has",value:function(Ue){if(!this[h].has(Ue))return!1;var be=this[h].get(Ue).value;return!Se(this,be)}},{key:"get",value:function(Ue){return oe(this,Ue,!0)}},{key:"peek",value:function(Ue){return oe(this,Ue,!1)}},{key:"pop",value:function(){var Ue=this[$].tail;return Ue?(De(this,Ue),Ue.value):null}},{key:"del",value:function(Ue){De(this,this[h].get(Ue))}},{key:"load",value:function(Ue){this.reset();for(var be=Date.now(),At=Ue.length-1;At>=0;At--){var Ot=Ue[At],Nt=Ot.e||0;if(Nt===0)this.set(Ot.k,Ot.v);else{var Je=Nt-be;Je>0&&this.set(Ot.k,Ot.v,Je)}}}},{key:"prune",value:function(){var Ue=this;this[h].forEach(function(be,At){return oe(Ue,At,!1)})}},{key:"max",set:function(Ue){if(typeof Ue!="number"||Ue<0)throw new TypeError("max must be a non-negative number");this[C]=Ue||1/0,me(this)},get:function(){return this[C]}},{key:"allowStale",set:function(Ue){this[D]=!!Ue},get:function(){return this[D]}},{key:"maxAge",set:function(Ue){if(typeof Ue!="number")throw new TypeError("maxAge must be a non-negative number");this[L]=Ue,me(this)},get:function(){return this[L]}},{key:"lengthCalculator",set:function(Ue){var be=this;typeof Ue!="function"&&(Ue=ce),Ue!==this[x]&&(this[x]=Ue,this[A]=0,this[$].forEach(function(At){At.length=be[x](At.value,At.key),be[A]+=At.length})),me(this)},get:function(){return this[x]}},{key:"length",get:function(){return this[A]}},{key:"itemCount",get:function(){return this[$].length}}])&&g(Le.prototype,ot),ct&&g(Le,ct),Oe}(),oe=function(Oe,Le,ot){var ct=Oe[h].get(Le);if(ct){var Ue=ct.value;if(Se(Oe,Ue)){if(De(Oe,ct),!Oe[D])return}else ot&&(Oe[re]&&(ct.value.now=Date.now()),Oe[$].unshiftNode(ct));return Ue.value}},Se=function(Oe,Le){if(!Le||!Le.maxAge&&!Oe[L])return!1;var ot=Date.now()-Le.now;return Le.maxAge?ot>Le.maxAge:Oe[L]&&ot>Oe[L]},me=function(Oe){if(Oe[A]>Oe[C])for(var Le=Oe[$].tail;Oe[A]>Oe[C]&&Le!==null;){var ot=Le.prev;De(Oe,Le),Le=ot}},De=function(Oe,Le){if(Le){var ot=Le.value;Oe[N]&&Oe[N](ot.key,ot.value),Oe[A]-=ot.length,Oe[h].delete(ot.key),Oe[$].removeNode(Le)}},J=function Oe(Le,ot,ct,Ue,be){c(this,Oe),this.key=Le,this.value=ot,this.length=ct,this.now=Ue,this.maxAge=be||0},Te=function(Oe,Le,ot,ct){var Ue=ot.value;Se(Oe,Ue)&&(De(Oe,ot),Oe[D]||(Ue=void 0)),Ue&&Le.call(ct,Ue.value,Ue.key,Oe)};i.exports=Q},function(i,u,f){(function(c){function g(t){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,C,A,x={};return x.copy=function(){var D=!1,L=null,N=!1;function j(){D=!1,L=null,N&&window.getSelection().removeAllRanges(),N=!1}return document.addEventListener("copy",function($){if(D){for(var h in L)$.clipboardData.setData(h,L[h]);$.preventDefault()}}),function($){return new Promise(function(h,re){D=!0,typeof $=="string"?L={"text/plain":$}:$ instanceof Node?L={"text/html":new XMLSerializer().serializeToString($)}:$ instanceof Object?L=$:re("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function ce(Q){try{if(document.execCommand("copy"))j(),h();else{if(Q)throw j(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var oe=document.getSelection();if(!document.queryCommandEnabled("copy")&&oe.isCollapsed){var Se=document.createRange();Se.selectNodeContents(document.body),oe.removeAllRanges(),oe.addRange(Se),N=!0}})(),ce(!0)}}catch(oe){j(),re(oe)}}(!1)})}}(),x.paste=(A=!1,document.addEventListener("paste",function(D){if(A){A=!1,D.preventDefault();var L=t;t=null,L(D.clipboardData.getData(C))}}),function(D){return new Promise(function(L,N){A=!0,t=L,C=D||"text/plain";try{document.execCommand("paste")||(A=!1,N(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(j){A=!1,N(new Error(j))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(D){function L(me,De){return function(){me.apply(De,arguments)}}function N(me){if(g(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof me!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],Q(me,L($,this),L(h,this))}function j(me){var De=this;return this._state===null?void this._deferreds.push(me):void oe(function(){var J=De._state?me.onFulfilled:me.onRejected;if(J!==null){var Te;try{Te=J(De._value)}catch(Oe){return void me.reject(Oe)}me.resolve(Te)}else(De._state?me.resolve:me.reject)(De._value)})}function $(me){try{if(me===this)throw new TypeError("A promise cannot be resolved with itself.");if(me&&(g(me)=="object"||typeof me=="function")){var De=me.then;if(typeof De=="function")return void Q(L(De,me),L($,this),L(h,this))}this._state=!0,this._value=me,re.call(this)}catch(J){h.call(this,J)}}function h(me){this._state=!1,this._value=me,re.call(this)}function re(){for(var me=0,De=this._deferreds.length;De>me;me++)j.call(this,this._deferreds[me]);this._deferreds=null}function ce(me,De,J,Te){this.onFulfilled=typeof me=="function"?me:null,this.onRejected=typeof De=="function"?De:null,this.resolve=J,this.reject=Te}function Q(me,De,J){var Te=!1;try{me(function(Oe){Te||(Te=!0,De(Oe))},function(Oe){Te||(Te=!0,J(Oe))})}catch(Oe){if(Te)return;Te=!0,J(Oe)}}var oe=N.immediateFn||typeof c=="function"&&c||function(me){setTimeout(me,1)},Se=Array.isArray||function(me){return Object.prototype.toString.call(me)==="[object Array]"};N.prototype.catch=function(me){return this.then(null,me)},N.prototype.then=function(me,De){var J=this;return new N(function(Te,Oe){j.call(J,new ce(me,De,Te,Oe))})},N.all=function(){var me=Array.prototype.slice.call(arguments.length===1&&Se(arguments[0])?arguments[0]:arguments);return new N(function(De,J){function Te(ot,ct){try{if(ct&&(g(ct)=="object"||typeof ct=="function")){var Ue=ct.then;if(typeof Ue=="function")return void Ue.call(ct,function(be){Te(ot,be)},J)}me[ot]=ct,--Oe==0&&De(me)}catch(be){J(be)}}if(me.length===0)return De([]);for(var Oe=me.length,Le=0;LeTe;Te++)me[Te].then(De,J)})},i.exports?i.exports=N:D.Promise||(D.Promise=N)}(this),x.copy=function(D){return new Promise(function(L,N){if(typeof D!="string"&&!("text/plain"in D))throw new Error("You must provide a text/plain type.");var j=typeof D=="string"?D:D["text/plain"];window.clipboardData.setData("Text",j)?L():N(new Error("Copying was rejected."))})},x.paste=function(){return new Promise(function(D,L){var N=window.clipboardData.getData("Text");N?D(N):L(new Error("Pasting was rejected."))})}),x}()}).call(this,f(13).setImmediate)},function(i,u,f){"use strict";i.exports=f(15)},function(i,u,f){"use strict";f.r(u),u.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,u,f){"use strict";function c(x){var D=this;if(D instanceof c||(D=new c),D.tail=null,D.head=null,D.length=0,x&&typeof x.forEach=="function")x.forEach(function(j){D.push(j)});else if(arguments.length>0)for(var L=0,N=arguments.length;L1)L=D;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");N=this.head.next,L=this.head.value}for(var j=0;N!==null;j++)L=x(L,N.value,j),N=N.next;return L},c.prototype.reduceReverse=function(x,D){var L,N=this.tail;if(arguments.length>1)L=D;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");N=this.tail.prev,L=this.tail.value}for(var j=this.length-1;N!==null;j--)L=x(L,N.value,j),N=N.prev;return L},c.prototype.toArray=function(){for(var x=new Array(this.length),D=0,L=this.head;L!==null;D++)x[D]=L.value,L=L.next;return x},c.prototype.toArrayReverse=function(){for(var x=new Array(this.length),D=0,L=this.tail;L!==null;D++)x[D]=L.value,L=L.prev;return x},c.prototype.slice=function(x,D){(D=D||this.length)<0&&(D+=this.length),(x=x||0)<0&&(x+=this.length);var L=new c;if(Dthis.length&&(D=this.length);for(var N=0,j=this.head;j!==null&&Nthis.length&&(D=this.length);for(var N=this.length,j=this.tail;j!==null&&N>D;N--)j=j.prev;for(;j!==null&&N>x;N--,j=j.prev)L.push(j.value);return L},c.prototype.splice=function(x,D){x>this.length&&(x=this.length-1),x<0&&(x=this.length+x);for(var L=0,N=this.head;N!==null&&L=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},x))},f(14),u.setImmediate=typeof self!="undefined"&&self.setImmediate||c!==void 0&&c.setImmediate||this&&this.setImmediate,u.clearImmediate=typeof self!="undefined"&&self.clearImmediate||c!==void 0&&c.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,u,f){(function(c,g){(function(t,C){"use strict";if(!t.setImmediate){var A,x,D,L,N,j=1,$={},h=!1,re=t.document,ce=Object.getPrototypeOf&&Object.getPrototypeOf(t);ce=ce&&ce.setTimeout?ce:t,{}.toString.call(t.process)==="[object process]"?A=function(Se){g.nextTick(function(){oe(Se)})}:function(){if(t.postMessage&&!t.importScripts){var Se=!0,me=t.onmessage;return t.onmessage=function(){Se=!1},t.postMessage("","*"),t.onmessage=me,Se}}()?(L="setImmediate$"+Math.random()+"$",N=function(Se){Se.source===t&&typeof Se.data=="string"&&Se.data.indexOf(L)===0&&oe(+Se.data.slice(L.length))},t.addEventListener?t.addEventListener("message",N,!1):t.attachEvent("onmessage",N),A=function(Se){t.postMessage(L+Se,"*")}):t.MessageChannel?((D=new MessageChannel).port1.onmessage=function(Se){oe(Se.data)},A=function(Se){D.port2.postMessage(Se)}):re&&"onreadystatechange"in re.createElement("script")?(x=re.documentElement,A=function(Se){var me=re.createElement("script");me.onreadystatechange=function(){oe(Se),me.onreadystatechange=null,x.removeChild(me),me=null},x.appendChild(me)}):A=function(Se){setTimeout(oe,0,Se)},ce.setImmediate=function(Se){typeof Se!="function"&&(Se=new Function(""+Se));for(var me=new Array(arguments.length-1),De=0;Dene;ne++)if((V=Q(Je,Ot,ne))!==-1){ce=ne,Ot=V;break e}Ot=-1}}e:{if(Je=Nt,(V=j().get(At.primitive))!==void 0){for(ne=0;neOt-Je?null:Nt.slice(Je,Ot-1))!==null){if(Ot=0,Le!==null){for(;OtOt;Le--)ot=Ue.pop()}for(Le=Nt.length-Ot-1;1<=Le;Le--)Ot=[],ot.push({id:null,isStateEditable:!1,name:Se(Nt[Le-1].functionName),value:void 0,subHooks:Ot}),Ue.push(ot),ot=Ot;Le=Nt}Ot=(Nt=At.primitive)==="Context"||Nt==="DebugValue"?null:ct++,ot.push({id:Ot,isStateEditable:Nt==="Reducer"||Nt==="State",name:Nt,value:At.value,subHooks:[]})}return function ge(Z,Ae){for(var at=[],it=0;it-1&&($=$.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var h=$.replace(/^\s+/,"").replace(/\(eval code/g,"("),re=h.match(/ (\((.+):(\d+):(\d+)\)$)/),ce=(h=re?h.replace(re[0],""):h).split(/\s+/).slice(1),Q=this.extractLocation(re?re[1]:ce.pop()),oe=ce.join(" ")||void 0,Se=["eval",""].indexOf(Q[0])>-1?void 0:Q[0];return new x({functionName:oe,fileName:Se,lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseFFOrSafari:function(j){return j.stack.split(` +`).filter(function($){return!$.match(N)},this).map(function($){if($.indexOf(" > eval")>-1&&($=$.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),$.indexOf("@")===-1&&$.indexOf(":")===-1)return new x({functionName:$});var h=/((.*".+"[^@]*)?[^@]*)(?:@)/,re=$.match(h),ce=re&&re[1]?re[1]:void 0,Q=this.extractLocation($.replace(h,""));return new x({functionName:ce,fileName:Q[0],lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseOpera:function(j){return!j.stacktrace||j.message.indexOf(` +`)>-1&&j.message.split(` +`).length>j.stacktrace.split(` +`).length?this.parseOpera9(j):j.stack?this.parseOpera11(j):this.parseOpera10(j)},parseOpera9:function(j){for(var $=/Line (\d+).*script (?:in )?(\S+)/i,h=j.message.split(` +`),re=[],ce=2,Q=h.length;ce/,"$2").replace(/\([^)]*\)/g,"")||void 0;Q.match(/\(([^)]*)\)/)&&(h=Q.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var Se=h===void 0||h==="[arguments not available]"?void 0:h.split(",");return new x({functionName:oe,args:Se,fileName:ce[0],lineNumber:ce[1],columnNumber:ce[2],source:$})},this)}}})=="function"?c.apply(u,g):c)===void 0||(i.exports=t)})()},function(i,u,f){var c,g,t;(function(C,A){"use strict";g=[],(t=typeof(c=function(){function x(oe){return oe.charAt(0).toUpperCase()+oe.substring(1)}function D(oe){return function(){return this[oe]}}var L=["isConstructor","isEval","isNative","isToplevel"],N=["columnNumber","lineNumber"],j=["fileName","functionName","source"],$=L.concat(N,j,["args"]);function h(oe){if(oe)for(var Se=0;Se<$.length;Se++)oe[$[Se]]!==void 0&&this["set"+x($[Se])](oe[$[Se]])}h.prototype={getArgs:function(){return this.args},setArgs:function(oe){if(Object.prototype.toString.call(oe)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=oe},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(oe){if(oe instanceof h)this.evalOrigin=oe;else{if(!(oe instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new h(oe)}},toString:function(){var oe=this.getFileName()||"",Se=this.getLineNumber()||"",me=this.getColumnNumber()||"",De=this.getFunctionName()||"";return this.getIsEval()?oe?"[eval] ("+oe+":"+Se+":"+me+")":"[eval]:"+Se+":"+me:De?De+" ("+oe+":"+Se+":"+me+")":oe+":"+Se+":"+me}},h.fromString=function(oe){var Se=oe.indexOf("("),me=oe.lastIndexOf(")"),De=oe.substring(0,Se),J=oe.substring(Se+1,me).split(","),Te=oe.substring(me+1);if(Te.indexOf("@")===0)var Oe=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Te,""),Le=Oe[1],ot=Oe[2],ct=Oe[3];return new h({functionName:De,args:J||void 0,fileName:Le,lineNumber:ot||void 0,columnNumber:ct||void 0})};for(var re=0;re1?de-1:0),ve=1;ve=0&&de.splice(W,1)}}}])&&c(R.prototype,U),H&&c(R,H),F}(),t=f(2),C=f.n(t);try{var A=f(9).default,x=function(F){var R=new RegExp("".concat(F,": ([0-9]+)")),U=A.match(R);return parseInt(U[1],10)};x("comfortable-line-height-data"),x("compact-line-height-data")}catch(F){}function D(F){try{return sessionStorage.getItem(F)}catch(R){return null}}function L(F){try{sessionStorage.removeItem(F)}catch(R){}}function N(F,R){try{return sessionStorage.setItem(F,R)}catch(U){}}var j=function(F,R){return F===R},$=f(1),h=f.n($);function re(F){return F.ownerDocument?F.ownerDocument.defaultView:null}function ce(F){var R=re(F);return R?R.frameElement:null}function Q(F){var R=me(F);return oe([F.getBoundingClientRect(),{top:R.borderTop,left:R.borderLeft,bottom:R.borderBottom,right:R.borderRight,width:0,height:0}])}function oe(F){return F.reduce(function(R,U){return R==null?U:{top:R.top+U.top,left:R.left+U.left,width:R.width,height:R.height,bottom:R.bottom+U.bottom,right:R.right+U.right}})}function Se(F,R){var U=ce(F);if(U&&U!==R){for(var H=[F.getBoundingClientRect()],fe=U,ue=!1;fe;){var de=Q(fe);if(H.push(de),fe=ce(fe),ue)break;fe&&re(fe)===R&&(ue=!0)}return oe(H)}return F.getBoundingClientRect()}function me(F){var R=window.getComputedStyle(F);return{borderLeft:parseInt(R.borderLeftWidth,10),borderRight:parseInt(R.borderRightWidth,10),borderTop:parseInt(R.borderTopWidth,10),borderBottom:parseInt(R.borderBottomWidth,10),marginLeft:parseInt(R.marginLeft,10),marginRight:parseInt(R.marginRight,10),marginTop:parseInt(R.marginTop,10),marginBottom:parseInt(R.marginBottom,10),paddingLeft:parseInt(R.paddingLeft,10),paddingRight:parseInt(R.paddingRight,10),paddingTop:parseInt(R.paddingTop,10),paddingBottom:parseInt(R.paddingBottom,10)}}function De(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return J(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return J(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function J(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);Ude.left+de.width&&(K=de.left+de.width-Ge-5),{style:{top:ve+="px",left:K+="px"}}}(R,U,{width:H.width,height:H.height});h()(this.tip.style,fe.style)}}]),F}(),Ue=function(){function F(){Te(this,F);var R=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=R;var U=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=U;var H=R.document;this.container=H.createElement("div"),this.container.style.zIndex="10000000",this.tip=new ct(H,this.container),this.rects=[],H.body.appendChild(this.container)}return Le(F,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(R){R.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(R,U){for(var H=this,fe=R.filter(function(Xe){return Xe.nodeType===Node.ELEMENT_NODE});this.rects.length>fe.length;)this.rects.pop().remove();if(fe.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:j,je=void 0,Xe=[],rt=void 0,st=!1,xt=function(lt,Rt){return xe(lt,Xe[Rt])},wt=function(){for(var lt=arguments.length,Rt=Array(lt),yn=0;yn5&&arguments[5]!==void 0?arguments[5]:0,W=cl(F);switch(W){case"html_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.tagName,type:W};case"function":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:typeof F.name!="function"&&F.name?F.name:"function",type:W};case"string":return F.length<=500?F:F.slice(0,500)+"...";case"bigint":case"symbol":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"react_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:al(F)||"Unknown",type:W};case"array_buffer":case"data_view":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:W==="data_view"?"DataView":"ArrayBuffer",size:F.byteLength,type:W};case"array":return ue=fe(H),de>=2&&!ue?yo(W,!0,F,R,H):F.map(function(Ge,K){return Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)});case"html_all_collection":case"typed_array":case"iterator":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var ve={unserializable:!0,type:W,readonly:!0,size:W==="typed_array"?F.length:void 0,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.constructor&&F.constructor.name!=="Object"?F.constructor.name:""};return r0(F[Symbol.iterator])&&Array.from(F).forEach(function(Ge,K){return ve[K]=Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)}),U.push(H),ve;case"opaque_iterator":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F[Symbol.toStringTag],type:W};case"date":case"regexp":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"object":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var Fe={};return Es(F).forEach(function(Ge){var K=Ge.toString();Fe[K]=Ds(F[Ge],R,U,H.concat([K]),fe,ue?1:de+1)}),Fe;case"infinity":case"nan":case"undefined":return R.push(H),{type:W};default:return F}}function Mu(F){return(Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Gf(F){return function(R){if(Array.isArray(R))return iu(R)}(F)||function(R){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(R))return Array.from(R)}(F)||function(R,U){if(!!R){if(typeof R=="string")return iu(R,U);var H=Object.prototype.toString.call(R).slice(8,-1);if(H==="Object"&&R.constructor&&(H=R.constructor.name),H==="Map"||H==="Set")return Array.from(R);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return iu(R,U)}}(F)||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 iu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);UR.toString()?1:R.toString()>F.toString()?-1:0}function Es(F){for(var R=[],U=F,H=function(){var fe=[].concat(Gf(Object.keys(U)),Gf(Object.getOwnPropertySymbols(U))),ue=Object.getOwnPropertyDescriptors(U);fe.forEach(function(de){ue[de].enumerable&&R.push(de)}),U=Object.getPrototypeOf(U)};U!=null;)H();return R}function Uo(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",U=ou.get(F);if(U!=null)return U;var H=R;return typeof F.displayName=="string"?H=F.displayName:typeof F.name=="string"&&F.name!==""&&(H=F.name),ou.set(F,H),H}var sl=0;function Ss(){return++sl}function Cs(F){var R=ol.get(F);if(R!==void 0)return R;for(var U=new Array(F.length),H=0;H1&&arguments[1]!==void 0?arguments[1]:50;return F.length>R?F.substr(0,R)+"\u2026":F}function Mr(F,R){if(F!=null&&hasOwnProperty.call(F,Ci.type))return R?F[Ci.preview_long]:F[Ci.preview_short];switch(cl(F)){case"html_element":return"<".concat(Ui(F.tagName.toLowerCase())," />");case"function":return Ui("\u0192 ".concat(typeof F.name=="function"?"":F.name,"() {}"));case"string":return'"'.concat(F,'"');case"bigint":return Ui(F.toString()+"n");case"regexp":case"symbol":return Ui(F.toString());case"react_element":return"<".concat(Ui(al(F)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(F.byteLength,")");case"data_view":return"DataView(".concat(F.buffer.byteLength,")");case"array":if(R){for(var U="",H=0;H0&&(U+=", "),!((U+=Mr(F[H],!1)).length>50));H++);return"[".concat(Ui(U),"]")}var fe=hasOwnProperty.call(F,Ci.size)?F[Ci.size]:F.length;return"Array(".concat(fe,")");case"typed_array":var ue="".concat(F.constructor.name,"(").concat(F.length,")");if(R){for(var de="",W=0;W0&&(de+=", "),!((de+=F[W]).length>50));W++);return"".concat(ue," [").concat(Ui(de),"]")}return ue;case"iterator":var ve=F.constructor.name;if(R){for(var Fe=Array.from(F),Ge="",K=0;K0&&(Ge+=", "),Array.isArray(xe)){var je=Mr(xe[0],!0),Xe=Mr(xe[1],!1);Ge+="".concat(je," => ").concat(Xe)}else Ge+=Mr(xe,!1);if(Ge.length>50)break}return"".concat(ve,"(").concat(F.size,") {").concat(Ui(Ge),"}")}return"".concat(ve,"(").concat(F.size,")");case"opaque_iterator":return F[Symbol.toStringTag];case"date":return F.toString();case"object":if(R){for(var rt=Es(F).sort(ul),st="",xt=0;xt0&&(st+=", "),(st+="".concat(wt.toString(),": ").concat(Mr(F[wt],!1))).length>50)break}return"{".concat(Ui(st),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return F;default:try{return Ui(""+F)}catch(lt){return"unserializable"}}}var Ac=f(7);function of(F){return(of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Ts(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function xs(F){for(var R=1;R2&&arguments[2]!==void 0?arguments[2]:[];if(F!==null){var H=[],fe=[],ue=Ds(F,H,fe,U,R);return{data:ue,cleaned:H,unserializable:fe}}return null}function qo(F){var R,U,H=(R=F,U=new Set,JSON.stringify(R,function(de,W){if(of(W)==="object"&&W!==null){if(U.has(W))return;U.add(W)}return typeof W=="bigint"?W.toString()+"n":W})),fe=H===void 0?"undefined":H,ue=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ue=="function"?ue(fe).catch(function(de){}):Object(Ac.copy)(fe)}function kr(F,R){var U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,H=R[U],fe=Array.isArray(F)?F.slice():xs({},F);return U+1===R.length?Array.isArray(fe)?fe.splice(H,1):delete fe[H]:fe[H]=kr(F[H],R,U+1),fe}function Fr(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);if(H+1===R.length){var de=U[H];ue[de]=ue[fe],Array.isArray(ue)?ue.splice(fe,1):delete ue[fe]}else ue[fe]=Fr(F[fe],R,U,H+1);return ue}function si(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(H>=R.length)return U;var fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);return ue[fe]=si(F[fe],R,U,H+1),ue}var H0=f(8);function b0(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function Bt(F){for(var R=1;R=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function As(F,R){if(F){if(typeof F=="string")return uu(F,R);var U=Object.prototype.toString.call(F).slice(8,-1);return U==="Object"&&F.constructor&&(U=F.constructor.name),U==="Map"||U==="Set"?Array.from(F):U==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(U)?uu(F,R):void 0}}function uu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0){var et=ue(X);if(et!=null){var Dt,bt=ks(du);try{for(bt.s();!(Dt=bt.n()).done;)if(Dt.value.test(et))return!0}catch(fn){bt.e(fn)}finally{bt.f()}}}if(Y!=null&&Yu.size>0){var Zt,qt=Y.fileName,Ut=ks(Yu);try{for(Ut.s();!(Zt=Ut.n()).done;)if(Zt.value.test(qt))return!0}catch(fn){Ut.e(fn)}finally{Ut.f()}}return!1}function Gr(X){var Y=X.type;switch(X.tag){case Xe:case ar:return 1;case je:case rn:return 5;case wt:return 6;case lt:return 11;case yn:return 7;case Rt:case sn:case xt:return 9;case Hn:case Cr:return 8;case He:return 12;case Qe:return 13;default:switch(de(Y)){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 ir(X){if(Co.has(X))return X;var Y=X.alternate;return Y!=null&&Co.has(Y)?Y:(Co.add(X),X)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?qs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):qs([{type:1,value:7,isEnabled:!0}]);var L0=new Map,Y0=new Map,Co=new Set,$u=new Map,Vo=new Map,Rr=-1;function Jn(X){if(!L0.has(X)){var Y=Ss();L0.set(X,Y),Y0.set(Y,X)}return L0.get(X)}function ai(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=Vr(X);ye!==null&&N0.set(Y,ye)}}}var o0={};function Vr(X){switch(Gr(X)){case 1:var Y=X.stateNode,ye=o0,he=o0;return Y!=null&&(Y.constructor&&Y.constructor.contextType!=null?he=Y.context:(ye=Y.context)&&Object.keys(ye).length===0&&(ye=o0)),[ye,he];default:return null}}function ff(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=N0.has(Y)?N0.get(Y):null,he=Vr(X);if(ye==null||he==null)return null;var We=Ru(ye,2),et=We[0],Dt=We[1],bt=Ru(he,2),Zt=bt[0],qt=bt[1];if(Zt!==o0)return $0(et,Zt);if(qt!==o0)return Dt!==qt}}return null}function cf(X,Y){if(X==null||Y==null)return!1;if(Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))for(;Y!==null;){if(Y.memoizedState!==X.memoizedState)return!0;Y=Y.next,X=X.next}return!1}function $0(X,Y){if(X==null||Y==null||Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))return null;var ye,he=[],We=ks(new Set([].concat(c0(Object.keys(X)),c0(Object.keys(Y)))));try{for(We.s();!(ye=We.n()).done;){var et=ye.value;X[et]!==Y[et]&&he.push(et)}}catch(Dt){We.e(Dt)}finally{We.f()}return he}function K0(X,Y){switch(Y.tag){case Xe:case je:case rt:case Hn:case Cr:return(zo(Y)&K)===K;default:return X.memoizedProps!==Y.memoizedProps||X.memoizedState!==Y.memoizedState||X.ref!==Y.ref}}var ae=[],Be=[],Ie=[],ht=[],mt=new Map,wn=0,Gn=null;function $t(X){ae.push(X)}function X0(X){if(ae.length!==0||Be.length!==0||Ie.length!==0||Gn!==null||u0){var Y=Be.length+Ie.length+(Gn===null?0:1),ye=new Array(3+wn+(Y>0?2+Y:0)+ae.length),he=0;if(ye[he++]=R,ye[he++]=Rr,ye[he++]=wn,mt.forEach(function(bt,Zt){ye[he++]=Zt.length;for(var qt=Cs(Zt),Ut=0;Ut0){ye[he++]=2,ye[he++]=Y;for(var We=Be.length-1;We>=0;We--)ye[he++]=Be[We];for(var et=0;et0?X.forEach(function(Y){F.emit("operations",Y)}):(Fn!==null&&(zr=!0),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),u0&&Y.memoizedInteractions!=null&&(uo={changeDescriptions:To?new Map:null,durations:[],commitTime:Os()-v0,interactions:Array.from(Y.memoizedInteractions).map(function(ye){return Bt(Bt({},ye),{},{timestamp:ye.timestamp-v0})}),maxActualDuration:0,priorityLevel:null}),$r(Y.current,null,!1,!1),X0(),Rr=-1}))},getBestMatchForTrackedPath:function(){if(Fn===null||pi===null)return null;for(var X=pi;X!==null&&F0(X);)X=X.return;return X===null?null:{id:Jn(ir(X)),isFullMatch:Br===Fn.length-1}},getDisplayNameForFiberID:function(X){var Y=Y0.get(X);return Y!=null?ue(Y):null},getFiberIDForNative:function(X){var Y=arguments.length>1&&arguments[1]!==void 0&&arguments[1],ye=U.findFiberByHostInstance(X);if(ye!=null){if(Y)for(;ye!==null&&F0(ye);)ye=ye.return;return Jn(ir(ye))}return null},getInstanceAndStyle:function(X){var Y=null,ye=null,he=J0(X);return he!==null&&(Y=he.stateNode,he.memoizedProps!==null&&(ye=he.memoizedProps.style)),{instance:Y,style:ye}},getOwnersList:function(X){var Y=J0(X);if(Y==null)return null;var ye=Y._debugOwner,he=[{displayName:ue(Y)||"Anonymous",id:X,type:Gr(Y)}];if(ye)for(var We=ye;We!==null;)he.unshift({displayName:ue(We)||"Anonymous",id:Jn(ir(We)),type:Gr(We)}),We=We._debugOwner||null;return he},getPathForElement:function(X){var Y=Y0.get(X);if(Y==null)return null;for(var ye=[];Y!==null;)ye.push(Ai(Y)),Y=Y.return;return ye.reverse(),ye},getProfilingData:function(){var X=[];if(pu===null)throw Error("getProfilingData() called before any profiling data was recorded");return pu.forEach(function(Y,ye){var he=[],We=[],et=new Map,Dt=new Map,bt=so!==null&&so.get(ye)||"Unknown";C0!=null&&C0.forEach(function(Zt,qt){di!=null&&di.get(qt)===ye&&We.push([qt,Zt])}),Y.forEach(function(Zt,qt){var Ut=Zt.changeDescriptions,fn=Zt.durations,_t=Zt.interactions,_r=Zt.maxActualDuration,Wr=Zt.priorityLevel,Ar=Zt.commitTime,z=[];_t.forEach(function(s0){et.has(s0.id)||et.set(s0.id,s0),z.push(s0.id);var t0=Dt.get(s0.id);t0!=null?t0.push(qt):Dt.set(s0.id,[qt])});for(var dr=[],Or=[],Qn=0;Qn1?kn.set(Ut,fn-1):kn.delete(Ut),wr.delete(Zt)}(Rr),Yr(ye,!1))}else T0(Rr,ye),$r(ye,null,!1,!1);if(u0&&We){var bt=pu.get(Rr);bt!=null?bt.push(uo):pu.set(Rr,[uo])}X0(),oo&&F.emit("traceUpdates",Hi),Rr=-1},handleCommitFiberUnmount:function(X){Yr(X,!1)},inspectElement:function(X,Y){if(Tr(X)){if(Y!=null){R0(Y);var ye=null;return Y[0]==="hooks"&&(ye="hooks"),{id:X,type:"hydrated-path",path:Y,value:qi(Ti(S0,Y),Nr(null,ye),Y)}}return{id:X,type:"no-change"}}if(El=!1,S0!==null&&S0.id===X||(Q0={}),(S0=af(X))===null)return{id:X,type:"not-found"};Y!=null&&R0(Y),function(We){var et=We.hooks,Dt=We.id,bt=We.props,Zt=Y0.get(Dt);if(Zt!=null){var qt=Zt.elementType,Ut=Zt.stateNode,fn=Zt.tag,_t=Zt.type;switch(fn){case Xe:case ar:case rn:H.$r=Ut;break;case je:H.$r={hooks:et,props:bt,type:_t};break;case wt:H.$r={props:bt,type:_t.render};break;case Hn:case Cr:H.$r={props:bt,type:qt!=null&&qt.type!=null?qt.type:_t};break;default:H.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Dt,'"'))}(S0);var he=Bt({},S0);return he.context=qi(he.context,Nr("context",null)),he.hooks=qi(he.hooks,Nr("hooks","hooks")),he.props=qi(he.props,Nr("props",null)),he.state=qi(he.state,Nr("state",null)),{id:X,type:"full-data",value:he}},logElementToConsole:function(X){var Y=Tr(X)?S0:af(X);if(Y!==null){var ye=typeof console.groupCollapsed=="function";ye&&console.groupCollapsed("[Click to expand] %c<".concat(Y.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),Y.props!==null&&console.log("Props:",Y.props),Y.state!==null&&console.log("State:",Y.state),Y.hooks!==null&&console.log("Hooks:",Y.hooks);var he=zs(X);he!==null&&console.log("Nodes:",he),Y.source!==null&&console.log("Location:",Y.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),ye&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},prepareViewAttributeSource:function(X,Y){Tr(X)&&(window.$attribute=Ti(S0,Y))},prepareViewElementSource:function(X){var Y=Y0.get(X);if(Y!=null){var ye=Y.elementType,he=Y.tag,We=Y.type;switch(he){case Xe:case ar:case rn:case je:H.$type=We;break;case wt:H.$type=We.render;break;case Hn:case Cr:H.$type=ye!=null&&ye.type!=null?ye.type:We;break;default:H.$type=null}}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},overrideSuspense:function(X,Y){if(typeof Eo!="function"||typeof So!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");Y?(B0.add(X),B0.size===1&&Eo(hu)):(B0.delete(X),B0.size===0&&Eo(Cl));var ye=Y0.get(X);ye!=null&&So(ye)},overrideValueAtPath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),et.tag){case Xe:he.length===0?Dt.context=We:fl(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof p0=="function"&&p0(et,ye,he,We);break;case"props":switch(et.tag){case Xe:et.pendingProps=si(Dt.props,he,We),Dt.forceUpdate();break;default:typeof xi=="function"&&xi(et,he,We)}break;case"state":switch(et.tag){case Xe:fl(Dt.state,he,We),Dt.forceUpdate()}}}},renamePath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),We=We.slice(1),et.tag){case Xe:he.length===0||ll(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof ci=="function"&&ci(et,ye,he,We);break;case"props":Dt===null?typeof qr=="function"&&qr(et,he,We):(et.pendingProps=Fr(Dt.props,he,We),Dt.forceUpdate());break;case"state":ll(Dt.state,he,We),Dt.forceUpdate()}}},renderer:U,setTraceUpdatesEnabled:function(X){oo=X},setTrackedPath:lo,startProfiling:Sl,stopProfiling:function(){u0=!1,To=!1},storeAsGlobal:function(X,Y,ye){if(Tr(X)){var he=Ti(S0,Y),We="$reactTemp".concat(ye);window[We]=he,console.log(We),console.log(he)}},updateComponentFilters:function(X){if(u0)throw Error("Cannot modify filter preferences while profiling");F.getFiberRoots(R).forEach(function(Y){Rr=Jn(ir(Y.current)),m0(Y.current),Yr(Y.current,!1),Rr=-1}),qs(X),kn.clear(),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),$r(Y.current,null,!1,!1),X0(Y),Rr=-1})}}}var _n;function Nu(F){return(Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Wo(F,R,U){if(_n===void 0)try{throw Error()}catch(fe){var H=fe.stack.trim().match(/\n( *(at )?)/);_n=H&&H[1]||""}return` +`+_n+F}var su=!1;function Ps(F,R,U){if(!F||su)return"";var H,fe=Error.prepareStackTrace;Error.prepareStackTrace=void 0,su=!0;var ue=U.current;U.current=null;try{if(R){var de=function(){throw Error()};if(Object.defineProperty(de.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Nu(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(de,[])}catch(xe){H=xe}Reflect.construct(F,[],de)}else{try{de.call()}catch(xe){H=xe}F.call(de.prototype)}}else{try{throw Error()}catch(xe){H=xe}F()}}catch(xe){if(xe&&H&&typeof xe.stack=="string"){for(var W=xe.stack.split(` +`),ve=H.stack.split(` +`),Fe=W.length-1,Ge=ve.length-1;Fe>=1&&Ge>=0&&W[Fe]!==ve[Ge];)Ge--;for(;Fe>=1&&Ge>=0;Fe--,Ge--)if(W[Fe]!==ve[Ge]){if(Fe!==1||Ge!==1)do if(Fe--,--Ge<0||W[Fe]!==ve[Ge])return` +`+W[Fe].replace(" at new "," at ");while(Fe>=1&&Ge>=0);break}}}finally{su=!1,Error.prepareStackTrace=fe,U.current=ue}var K=F?F.displayName||F.name:"";return K?Wo(K):""}function pl(F,R,U,H){return Ps(F,!1,H)}function Vf(F,R,U){var H=F.HostComponent,fe=F.LazyComponent,ue=F.SuspenseComponent,de=F.SuspenseListComponent,W=F.FunctionComponent,ve=F.IndeterminateComponent,Fe=F.SimpleMemoComponent,Ge=F.ForwardRef,K=F.Block,xe=F.ClassComponent;switch(R.tag){case H:return Wo(R.type);case fe:return Wo("Lazy");case ue:return Wo("Suspense");case de:return Wo("SuspenseList");case W:case ve:case Fe:return pl(R.type,0,0,U);case Ge:return pl(R.type.render,0,0,U);case K:return pl(R.type._render,0,0,U);case xe:return function(je,Xe,rt,st){return Ps(je,!0,st)}(R.type,0,0,U);default:return""}}function hl(F,R,U){try{var H="",fe=R;do H+=Vf(F,fe,U),fe=fe.return;while(fe);return H}catch(ue){return` +Error generating stack: `+ue.message+` +`+ue.stack}}function Bu(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return ju(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return ju(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}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 ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function ju(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0?Fe[Fe.length-1]:null,xe=K!==null&&(ro.test(K)||Ms.test(K));if(!xe){var je,Xe=Bu(ml.values());try{for(Xe.s();!(je=Xe.n()).done;){var rt=je.value,st=rt.currentDispatcherRef,xt=rt.getCurrentFiber,wt=rt.workTagMap,lt=xt();if(lt!=null){var Rt=hl(wt,lt,st);Rt!==""&&Fe.push(Rt);break}}}catch(yn){Xe.e(yn)}finally{Xe.f()}}}catch(yn){}ue.apply(void 0,Fe)};de.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ue,Uu[fe]=de}catch(W){}})}}function O0(F){return(O0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function vl(F,R){for(var U=0;UF.length)&&(R=F.length);for(var U=0,H=new Array(R);U1?W-1:0),Fe=1;Fe0?K[K.length-1]:0),K.push(St),W.set(Ne,Fe(ft._topLevelWrapper));try{var Qt=He.apply(this,Qe);return K.pop(),Qt}catch(bn){throw K=[],bn}finally{if(K.length===0){var Cn=W.get(Ne);if(Cn===void 0)throw new Error("Expected to find root ID.");yn(Cn)}}},performUpdateIfNecessary:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},receiveComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},unmountComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);try{var St=He.apply(this,Qe);return K.pop(),function(Cn,bn){wt.push(bn),ue.delete(bn)}(0,ft),St}catch(Cn){throw K=[],Cn}finally{if(K.length===0){var Qt=W.get(Ne);if(Qt===void 0)throw new Error("Expected to find root ID.");yn(Qt)}}}}));var st=[],xt=new Map,wt=[],lt=0,Rt=null;function yn(He){if(st.length!==0||wt.length!==0||Rt!==null){var Qe=wt.length+(Rt===null?0:1),Ne=new Array(3+lt+(Qe>0?2+Qe:0)+st.length),ft=0;if(Ne[ft++]=R,Ne[ft++]=He,Ne[ft++]=lt,xt.forEach(function(Cn,bn){Ne[ft++]=bn.length;for(var p0=Cs(bn),h0=0;h00){Ne[ft++]=2,Ne[ft++]=Qe;for(var St=0;St"),"color: var(--dom-tag-name-color); font-weight: normal;"),Qe.props!==null&&console.log("Props:",Qe.props),Qe.state!==null&&console.log("State:",Qe.state),Qe.context!==null&&console.log("Context:",Qe.context);var ft=fe(He);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."),Ne&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(He,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":fl(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:si(bn.props,ft,St)}),a0(Cn);break;case"state":fl(Cn.state,ft,St),a0(Cn)}}},renamePath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":ll(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:Fr(bn.props,ft,St)}),a0(Cn);break;case"state":ll(Cn.state,ft,St),a0(Cn)}}},prepareViewAttributeSource:function(He,Qe){var Ne=Cr(He);Ne!==null&&(window.$attribute=Ti(Ne,Qe))},prepareViewElementSource:function(He){var Qe=ue.get(He);if(Qe!=null){var Ne=Qe._currentElement;Ne!=null?H.$type=Ne.type:console.warn('Could not find element with id "'.concat(He,'"'))}else console.warn('Could not find instance with id "'.concat(He,'"'))},renderer:U,setTraceUpdatesEnabled:function(He){},setTrackedPath:function(He){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(He,Qe,Ne){var ft=Cr(He);if(ft!==null){var St=Ti(ft,Qe),Qt="$reactTemp".concat(Ne);window[Qt]=St,console.log(Qt),console.log(St)}},updateComponentFilters:function(He){}}}function nr(F,R){var U=!1,H={bottom:0,left:0,right:0,top:0},fe=R[F];if(fe!=null){for(var ue=0,de=Object.keys(H);ue0?"development":"production";var st=Function.prototype.toString;if(rt.Mount&&rt.Mount._renderNewRootComponent){var xt=st.call(rt.Mount._renderNewRootComponent);return xt.indexOf("function")!==0?"production":xt.indexOf("storedMeasure")!==-1?"development":xt.indexOf("should be a pure function")!==-1?xt.indexOf("NODE_ENV")!==-1||xt.indexOf("development")!==-1||xt.indexOf("true")!==-1?"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(wt){}return"production"}(ve);try{var K=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,xe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(K||xe)&&(zi(ve),Ho({appendComponentStack:K,breakOnConsoleErrors:xe}))}catch(rt){}var je=F.__REACT_DEVTOOLS_ATTACH__;if(typeof je=="function"){var Xe=je(W,Fe,ve,F);W.rendererInterfaces.set(Fe,Xe)}return W.emit("renderer",{id:Fe,renderer:ve,reactBuildType:Ge}),Fe},on:function(ve,Fe){ue[ve]||(ue[ve]=[]),ue[ve].push(Fe)},off:function(ve,Fe){if(ue[ve]){var Ge=ue[ve].indexOf(Fe);Ge!==-1&&ue[ve].splice(Ge,1),ue[ve].length||delete ue[ve]}},sub:function(ve,Fe){return W.on(ve,Fe),function(){return W.off(ve,Fe)}},supportsFiber:!0,checkDCE:function(ve){try{Function.prototype.toString.call(ve).indexOf("^_^")>-1&&(U=!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(Fe){}},onCommitFiberUnmount:function(ve,Fe){var Ge=fe.get(ve);Ge!=null&&Ge.handleCommitFiberUnmount(Fe)},onCommitFiberRoot:function(ve,Fe,Ge){var K=W.getFiberRoots(ve),xe=Fe.current,je=K.has(Fe),Xe=xe.memoizedState==null||xe.memoizedState.element==null;je||Xe?je&&Xe&&K.delete(Fe):K.add(Fe);var rt=fe.get(ve);rt!=null&&rt.handleCommitFiberRoot(Fe,Ge)}};Object.defineProperty(F,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return W}})})(window);var M0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,au=[{type:1,value:7,isEnabled:!0}];function Lr(F){if(M0!=null){var R=F||{},U=R.host,H=U===void 0?"localhost":U,fe=R.nativeStyleEditorValidAttributes,ue=R.useHttps,de=ue!==void 0&&ue,W=R.port,ve=W===void 0?8097:W,Fe=R.websocket,Ge=R.resolveRNStyle,K=Ge===void 0?null:Ge,xe=R.isAppActive,je=de?"wss":"ws",Xe=null;if((xe===void 0?function(){return!0}:xe)()){var rt=null,st=[],xt=je+"://"+H+":"+ve,wt=Fe||new window.WebSocket(xt);wt.onclose=function(){rt!==null&&rt.emit("shutdown"),lt()},wt.onerror=function(){lt()},wt.onmessage=function(Rt){var yn;try{if(typeof Rt.data!="string")throw Error();yn=JSON.parse(Rt.data)}catch(sn){return void console.error("[React DevTools] Failed to parse JSON: "+Rt.data)}st.forEach(function(sn){try{sn(yn)}catch(ar){throw console.log("[React DevTools] Error calling listener",yn),console.log("error:",ar),ar}})},wt.onopen=function(){(rt=new Do({listen:function(rn){return st.push(rn),function(){var Hn=st.indexOf(rn);Hn>=0&&st.splice(Hn,1)}},send:function(rn,Hn,d0){wt.readyState===wt.OPEN?wt.send(JSON.stringify({event:rn,payload:Hn})):(rt!==null&&rt.shutdown(),lt())}})).addListener("inspectElement",function(rn){var Hn=rn.id,d0=rn.rendererID,Cr=Rt.rendererInterfaces[d0];if(Cr!=null){var He=Cr.findNativeNodesForFiberID(Hn);He!=null&&He[0]!=null&&Rt.emit("showNativeHighlight",He[0])}}),rt.addListener("updateComponentFilters",function(rn){au=rn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&rt.send("overrideComponentFilters",au);var Rt=new I0(rt);if(Rt.addListener("shutdown",function(){M0.emit("shutdown")}),function(rn,Hn,d0){if(rn==null)return function(){};var Cr=[rn.sub("renderer-attached",function(Ne){var ft=Ne.id,St=(Ne.renderer,Ne.rendererInterface);Hn.setRendererInterface(ft,St),St.flushInitialOperations()}),rn.sub("unsupported-renderer-version",function(Ne){Hn.onUnsupportedRenderer(Ne)}),rn.sub("operations",Hn.onHookOperations),rn.sub("traceUpdates",Hn.onTraceUpdates)],He=function(Ne,ft){var St=rn.rendererInterfaces.get(Ne);St==null&&(typeof ft.findFiberByHostInstance=="function"?St=uf(rn,Ne,ft,d0):ft.ComponentTree&&(St=lf(rn,Ne,ft,d0)),St!=null&&rn.rendererInterfaces.set(Ne,St)),St!=null?rn.emit("renderer-attached",{id:Ne,renderer:ft,rendererInterface:St}):rn.emit("unsupported-renderer-version",Ne)};rn.renderers.forEach(function(Ne,ft){He(ft,Ne)}),Cr.push(rn.sub("renderer",function(Ne){var ft=Ne.id,St=Ne.renderer;He(ft,St)})),rn.emit("react-devtools",Hn),rn.reactDevtoolsAgent=Hn;var Qe=function(){Cr.forEach(function(Ne){return Ne()}),rn.rendererInterfaces.forEach(function(Ne){Ne.cleanup()}),rn.reactDevtoolsAgent=null};Hn.addListener("shutdown",Qe),Cr.push(function(){Hn.removeListener("shutdown",Qe)})}(M0,Rt,window),K!=null||M0.resolveRNStyle!=null)Gu(rt,Rt,K||M0.resolveRNStyle,fe||M0.nativeStyleEditorValidAttributes||null);else{var yn,sn,ar=function(){rt!==null&&Gu(rt,Rt,yn,sn)};M0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(M0,"resolveRNStyle",{enumerable:!1,get:function(){return yn},set:function(rn){yn=rn,ar()}}),M0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(M0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return sn},set:function(rn){sn=rn,ar()}})}}}else lt()}function lt(){Xe===null&&(Xe=setTimeout(function(){return Lr(F)},2e3))}}}])})});var rS=Me(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});eS();var _j=tS();_j.connectToDevTools()});var lS=Me(x2=>{"use strict";var iS=x2&&x2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(x2,"__esModule",{value:!0});var oS=Ay(),yj=iS(lE()),uS=iS(hc()),no=Xy();process.env.DEV==="true"&&rS();var sS=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};x2.default=yj.default({schedulePassiveEffects:oS.unstable_scheduleCallback,cancelPassiveEffects:oS.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,u)=>{let f=i.isInsideText,c=u==="ink-text"||u==="ink-virtual-text";return f===c?i:{isInsideText:c}},shouldSetTextContent:()=>!1,createInstance:(i,u,f,c)=>{if(c.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let g=i==="ink-text"&&c.isInsideText?"ink-virtual-text":i,t=no.createNode(g);for(let[C,A]of Object.entries(u))C!=="children"&&(C==="style"?no.setStyle(t,A):C==="internal_transform"?t.internal_transform=A:C==="internal_static"?t.internal_static=!0:no.setAttribute(t,C,A));return t},createTextInstance:(i,u,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return no.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{no.setTextNodeValue(i,"")},unhideTextInstance:(i,u)=>{no.setTextNodeValue(i,u)},getPublicInstance:i=>i,hideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_NONE)},unhideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_FLEX)},appendInitialChild:no.appendChildNode,appendChild:no.appendChildNode,insertBefore:no.insertBeforeNode,finalizeInitialChildren:(i,u,f,c)=>(i.internal_static&&(c.isStaticDirty=!0,c.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:no.appendChildNode,insertInContainerBefore:no.insertBeforeNode,removeChildFromContainer:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)},prepareUpdate:(i,u,f,c,g)=>{i.internal_static&&(g.isStaticDirty=!0);let t={},C=Object.keys(c);for(let A of C)if(c[A]!==f[A]){if(A==="style"&&typeof c.style=="object"&&typeof f.style=="object"){let D=c.style,L=f.style,N=Object.keys(D);for(let j of N){if(j==="borderStyle"||j==="borderColor"){if(typeof t.style!="object"){let $={};t.style=$}t.style.borderStyle=D.borderStyle,t.style.borderColor=D.borderColor}if(D[j]!==L[j]){if(typeof t.style!="object"){let $={};t.style=$}t.style[j]=D[j]}}continue}t[A]=c[A]}return t},commitUpdate:(i,u)=>{for(let[f,c]of Object.entries(u))f!=="children"&&(f==="style"?no.setStyle(i,c):f==="internal_transform"?i.internal_transform=c:f==="internal_static"?i.internal_static=!0:no.setAttribute(i,f,c))},commitTextUpdate:(i,u,f)=>{no.setTextNodeValue(i,f)},removeChild:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)}})});var cS=Me((Jb,fS)=>{"use strict";fS.exports=(i,u=1,f)=>{if(f=dt({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof u!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof u}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(u===0)return i;let c=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(c,f.indent.repeat(u))}});var aS=Me(k2=>{"use strict";var wj=k2&&k2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(k2,"__esModule",{value:!0});var Vh=wj(hc());k2.default=i=>i.getComputedWidth()-i.getComputedPadding(Vh.default.EDGE_LEFT)-i.getComputedPadding(Vh.default.EDGE_RIGHT)-i.getComputedBorder(Vh.default.EDGE_LEFT)-i.getComputedBorder(Vh.default.EDGE_RIGHT)});var pS=Me((Zb,dS)=>{dS.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 mS=Me((eG,m3)=>{"use strict";var hS=pS();m3.exports=hS;m3.exports.default=hS});var gS=Me((tG,vS)=>{"use strict";vS.exports=(i,u=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",c=u.indexOf(f+i),g=u.indexOf("--");return c!==-1&&(g===-1||c{"use strict";var Dj=require("os"),yS=require("tty"),Pu=gS(),{env:oi}=process,qf;Pu("no-color")||Pu("no-colors")||Pu("color=false")||Pu("color=never")?qf=0:(Pu("color")||Pu("colors")||Pu("color=true")||Pu("color=always"))&&(qf=1);"FORCE_COLOR"in oi&&(oi.FORCE_COLOR==="true"?qf=1:oi.FORCE_COLOR==="false"?qf=0:qf=oi.FORCE_COLOR.length===0?1:Math.min(parseInt(oi.FORCE_COLOR,10),3));function v3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function g3(i,u){if(qf===0)return 0;if(Pu("color=16m")||Pu("color=full")||Pu("color=truecolor"))return 3;if(Pu("color=256"))return 2;if(i&&!u&&qf===void 0)return 0;let f=qf||0;if(oi.TERM==="dumb")return f;if(process.platform==="win32"){let c=Dj.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in oi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(c=>c in oi)||oi.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in oi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(oi.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in oi)return 1;if(oi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in oi){let c=parseInt((oi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(oi.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(oi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(oi.TERM)||"COLORTERM"in oi?1:f}function Ej(i){let u=g3(i,i&&i.isTTY);return v3(u)}_S.exports={supportsColor:Ej,stdout:v3(g3(!0,yS.isatty(1))),stderr:v3(g3(!0,yS.isatty(2)))}});var ES=Me((rG,DS)=>{"use strict";var Sj=(i,u,f)=>{let c=i.indexOf(u);if(c===-1)return i;let g=u.length,t=0,C="";do C+=i.substr(t,c-t)+u+f,t=c+g,c=i.indexOf(u,t);while(c!==-1);return C+=i.substr(t),C},Cj=(i,u,f,c)=>{let g=0,t="";do{let C=i[c-1]==="\r";t+=i.substr(g,(C?c-1:c)-g)+u+(C?`\r +`:` +`)+f,g=c+1,c=i.indexOf(` +`,g)}while(c!==-1);return t+=i.substr(g),t};DS.exports={stringReplaceAll:Sj,stringEncaseCRLFWithFirstIndex:Cj}});var kS=Me((iG,SS)=>{"use strict";var Tj=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CS=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,xj=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kj=/\\(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 TS(i){let u=i[0]==="u",f=i[1]==="{";return u&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):u&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Aj.get(i)||i}function Oj(i,u){let f=[],c=u.trim().split(/\s*,\s*/g),g;for(let t of c){let C=Number(t);if(!Number.isNaN(C))f.push(C);else if(g=t.match(xj))f.push(g[2].replace(kj,(A,x,D)=>x?TS(x):D));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function Ij(i){CS.lastIndex=0;let u=[],f;for(;(f=CS.exec(i))!==null;){let c=f[1];if(f[2]){let g=Oj(c,f[2]);u.push([c].concat(g))}else u.push([c])}return u}function xS(i,u){let f={};for(let g of u)for(let t of g.styles)f[t[0]]=g.inverse?null:t.slice(1);let c=i;for(let[g,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(g in c))throw new Error(`Unknown Chalk style: ${g}`);c=t.length>0?c[g](...t):c[g]}return c}SS.exports=(i,u)=>{let f=[],c=[],g=[];if(u.replace(Tj,(t,C,A,x,D,L)=>{if(C)g.push(TS(C));else if(x){let N=g.join("");g=[],c.push(f.length===0?N:xS(i,f)(N)),f.push({inverse:A,styles:Ij(x)})}else if(D){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");c.push(xS(i,f)(g.join(""))),g=[],f.pop()}else g.push(L)}),c.push(g.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return c.join("")}});var Jh=Me((oG,AS)=>{"use strict";var A2=Rh(),{stdout:_3,stderr:y3}=wS(),{stringReplaceAll:Pj,stringEncaseCRLFWithFirstIndex:Mj}=ES(),{isArray:Yh}=Array,OS=["ansi","ansi","ansi256","ansi16m"],ka=Object.create(null),Fj=(i,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=_3?_3.level:0;i.level=u.level===void 0?f:u.level},IS=class{constructor(u){return PS(u)}},PS=i=>{let u={};return Fj(u,i),u.template=(...f)=>MS(u.template,...f),Object.setPrototypeOf(u,$h.prototype),Object.setPrototypeOf(u.template,u),u.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},u.template.Instance=IS,u.template};function $h(i){return PS(i)}for(let[i,u]of Object.entries(A2))ka[i]={get(){let f=Kh(this,w3(u.open,u.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};ka.visible={get(){let i=Kh(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var LS=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of LS)ka[i]={get(){let{level:u}=this;return function(...f){let c=w3(A2.color[OS[u]][i](...f),A2.color.close,this._styler);return Kh(this,c,this._isEmpty)}}};for(let i of LS){let u="bg"+i[0].toUpperCase()+i.slice(1);ka[u]={get(){let{level:f}=this;return function(...c){let g=w3(A2.bgColor[OS[f]][i](...c),A2.bgColor.close,this._styler);return Kh(this,g,this._isEmpty)}}}}var Lj=Object.defineProperties(()=>{},zn(dt({},ka),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),w3=(i,u,f)=>{let c,g;return f===void 0?(c=i,g=u):(c=f.openAll+i,g=u+f.closeAll),{open:i,close:u,openAll:c,closeAll:g,parent:f}},Kh=(i,u,f)=>{let c=(...g)=>Yh(g[0])&&Yh(g[0].raw)?RS(c,MS(c,...g)):RS(c,g.length===1?""+g[0]:g.join(" "));return Object.setPrototypeOf(c,Lj),c._generator=i,c._styler=u,c._isEmpty=f,c},RS=(i,u)=>{if(i.level<=0||!u)return i._isEmpty?"":u;let f=i._styler;if(f===void 0)return u;let{openAll:c,closeAll:g}=f;if(u.indexOf("")!==-1)for(;f!==void 0;)u=Pj(u,f.close,f.open),f=f.parent;let t=u.indexOf(` +`);return t!==-1&&(u=Mj(u,g,c,t)),c+u+g},D3,MS=(i,...u)=>{let[f]=u;if(!Yh(f)||!Yh(f.raw))return u.join(" ");let c=u.slice(1),g=[f.raw[0]];for(let t=1;t{"use strict";var Rj=O2&&O2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(O2,"__esModule",{value:!0});var I2=Rj(Jh()),Nj=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Bj=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,Qh=(i,u)=>u==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);O2.default=(i,u,f)=>{if(!u)return i;if(u in I2.default){let g=Qh(u,f);return I2.default[g](i)}if(u.startsWith("#")){let g=Qh("hex",f);return I2.default[g](u)(i)}if(u.startsWith("ansi")){let g=Bj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]);return I2.default[t](C)(i)}if(u.startsWith("rgb")||u.startsWith("hsl")||u.startsWith("hsv")||u.startsWith("hwb")){let g=Nj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]),A=Number(g[3]),x=Number(g[4]);return I2.default[t](C,A,x)(i)}return i}});var BS=Me(P2=>{"use strict";var NS=P2&&P2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(P2,"__esModule",{value:!0});var jj=NS(mS()),S3=NS(E3());P2.default=(i,u,f,c)=>{if(typeof f.style.borderStyle=="string"){let g=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),C=f.style.borderColor,A=jj.default[f.style.borderStyle],x=S3.default(A.topLeft+A.horizontal.repeat(g-2)+A.topRight,C,"foreground"),D=(S3.default(A.vertical,C,"foreground")+` +`).repeat(t-2),L=S3.default(A.bottomLeft+A.horizontal.repeat(g-2)+A.bottomRight,C,"foreground");c.write(i,u,x,{transformers:[]}),c.write(i,u+1,D,{transformers:[]}),c.write(i+g-1,u+1,D,{transformers:[]}),c.write(i,u+t-1,L,{transformers:[]})}}});var US=Me(M2=>{"use strict";var _c=M2&&M2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(M2,"__esModule",{value:!0});var Uj=_c(hc()),qj=_c(jy()),zj=_c(cS()),Wj=_c(Yy()),Hj=_c(aS()),bj=_c(Ky()),Gj=_c(BS()),Vj=(i,u)=>{var f;let c=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(c){let g=c.getComputedLeft(),t=c.getComputedTop();u=` +`.repeat(t)+zj.default(u,g)}return u},jS=(i,u,f)=>{var c;let{offsetX:g=0,offsetY:t=0,transformers:C=[],skipStaticElements:A}=f;if(A&&i.internal_static)return;let{yogaNode:x}=i;if(x){if(x.getDisplay()===Uj.default.DISPLAY_NONE)return;let D=g+x.getComputedLeft(),L=t+x.getComputedTop(),N=C;if(typeof i.internal_transform=="function"&&(N=[i.internal_transform,...C]),i.nodeName==="ink-text"){let j=bj.default(i);if(j.length>0){let $=qj.default(j),h=Hj.default(x);if($>h){let re=(c=i.style.textWrap)!==null&&c!==void 0?c:"wrap";j=Wj.default(j,h,re)}j=Vj(i,j),u.write(D,L,j,{transformers:N})}return}if(i.nodeName==="ink-box"&&Gj.default(D,L,i,u),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let j of i.childNodes)jS(j,u,{offsetX:D,offsetY:L,transformers:N,skipStaticElements:A})}};M2.default=jS});var zS=Me((fG,qS)=>{"use strict";qS.exports=i=>{i=Object.assign({onlyFirst:!1},i);let u=["[\\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(u,i.onlyFirst?void 0:"g")}});var HS=Me((cG,C3)=>{"use strict";var Yj=zS(),WS=i=>typeof i=="string"?i.replace(Yj(),""):i;C3.exports=WS;C3.exports.default=WS});var VS=Me((aG,bS)=>{"use strict";var GS="[\uD800-\uDBFF][\uDC00-\uDFFF]";bS.exports=i=>i&&i.exact?new RegExp(`^${GS}$`):new RegExp(GS,"g")});var $S=Me((dG,T3)=>{"use strict";var $j=HS(),Kj=VS(),YS=i=>$j(i).replace(Kj()," ").length;T3.exports=YS;T3.exports.default=YS});var QS=Me(F2=>{"use strict";var KS=F2&&F2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(F2,"__esModule",{value:!0});var XS=KS(Gy()),Xj=KS($S()),JS=class{constructor(u){this.writes=[];let{width:f,height:c}=u;this.width=f,this.height=c}write(u,f,c,g){let{transformers:t}=g;!c||this.writes.push({x:u,y:f,text:c,transformers:t})}get(){let u=[];for(let c=0;cc.trimRight()).join(` +`),height:u.length}}};F2.default=JS});var t5=Me(L2=>{"use strict";var x3=L2&&L2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(L2,"__esModule",{value:!0});var Jj=x3(hc()),ZS=x3(US()),e5=x3(QS());L2.default=(i,u)=>{var f;if(i.yogaNode.setWidth(u),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,Jj.default.DIRECTION_LTR);let c=new e5.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});ZS.default(i,c,{skipStaticElements:!0});let g;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(g=new e5.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),ZS.default(i.staticNode,g,{skipStaticElements:!1}));let{output:t,height:C}=c.get();return{output:t,outputHeight:C,staticOutput:g?`${g.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var o5=Me((mG,n5)=>{"use strict";var r5=require("stream"),i5=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],k3={},Qj=i=>{let u=new r5.PassThrough,f=new r5.PassThrough;u.write=g=>i("stdout",g),f.write=g=>i("stderr",g);let c=new console.Console(u,f);for(let g of i5)k3[g]=console[g],console[g]=c[g];return()=>{for(let g of i5)console[g]=k3[g];k3={}}};n5.exports=Qj});var O3=Me(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});A3.default=new WeakMap});var P3=Me(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var Zj=lr(),u5=Zj.createContext({exit:()=>{}});u5.displayName="InternalAppContext";I3.default=u5});var F3=Me(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});var eU=lr(),s5=eU.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});s5.displayName="InternalStdinContext";M3.default=s5});var R3=Me(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var tU=lr(),l5=tU.createContext({stdout:void 0,write:()=>{}});l5.displayName="InternalStdoutContext";L3.default=l5});var B3=Me(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var nU=lr(),f5=nU.createContext({stderr:void 0,write:()=>{}});f5.displayName="InternalStderrContext";N3.default=f5});var Zh=Me(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var rU=lr(),c5=rU.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});c5.displayName="InternalFocusContext";j3.default=c5});var d5=Me((EG,a5)=>{"use strict";var iU=/[|\\{}()[\]^$+*?.-]/g;a5.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(iU,"\\$&")}});var v5=Me((SG,p5)=>{"use strict";var oU=d5(),h5=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));h5.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var em=class{constructor(u){u=dt({ignoredPackages:[]},u),"internals"in u||(u.internals=em.nodeInternals()),"cwd"in u||(u.cwd=process.cwd()),this._cwd=u.cwd.replace(/\\/g,"/"),this._internals=[].concat(u.internals,uU(u.ignoredPackages)),this._wrapCallSite=u.wrapCallSite||!1}static nodeInternals(){return[...h5]}clean(u,f=0){f=" ".repeat(f),Array.isArray(u)||(u=u.split(` +`)),!/^\s*at /.test(u[0])&&/^\s*at /.test(u[1])&&(u=u.slice(1));let c=!1,g=null,t=[];return u.forEach(C=>{if(C=C.replace(/\\/g,"/"),this._internals.some(x=>x.test(C)))return;let A=/^\s*at /.test(C);c?C=C.trimEnd().replace(/^(\s+)at /,"$1"):(C=C.trim(),A&&(C=C.slice(3))),C=C.replace(`${this._cwd}/`,""),C&&(A?(g&&(t.push(g),g=null),t.push(C)):(c=!0,g=C))}),t.map(C=>`${f}${C} +`).join("")}captureString(u,f=this.captureString){typeof u=="function"&&(f=u,u=Infinity);let{stackTraceLimit:c}=Error;u&&(Error.stackTraceLimit=u);let g={};Error.captureStackTrace(g,f);let{stack:t}=g;return Error.stackTraceLimit=c,this.clean(t)}capture(u,f=this.capture){typeof u=="function"&&(f=u,u=Infinity);let{prepareStackTrace:c,stackTraceLimit:g}=Error;Error.prepareStackTrace=(A,x)=>this._wrapCallSite?x.map(this._wrapCallSite):x,u&&(Error.stackTraceLimit=u);let t={};Error.captureStackTrace(t,f);let{stack:C}=t;return Object.assign(Error,{prepareStackTrace:c,stackTraceLimit:g}),C}at(u=this.at){let[f]=this.capture(1,u);if(!f)return{};let c={line:f.getLineNumber(),column:f.getColumnNumber()};m5(c,f.getFileName(),this._cwd),f.isConstructor()&&(c.constructor=!0),f.isEval()&&(c.evalOrigin=f.getEvalOrigin()),f.isNative()&&(c.native=!0);let g;try{g=f.getTypeName()}catch(A){}g&&g!=="Object"&&g!=="[object Object]"&&(c.type=g);let t=f.getFunctionName();t&&(c.function=t);let C=f.getMethodName();return C&&t!==C&&(c.method=C),c}parseLine(u){let f=u&&u.match(sU);if(!f)return null;let c=f[1]==="new",g=f[2],t=f[3],C=f[4],A=Number(f[5]),x=Number(f[6]),D=f[7],L=f[8],N=f[9],j=f[10]==="native",$=f[11]===")",h,re={};if(L&&(re.line=Number(L)),N&&(re.column=Number(N)),$&&D){let ce=0;for(let Q=D.length-1;Q>0;Q--)if(D.charAt(Q)===")")ce++;else if(D.charAt(Q)==="("&&D.charAt(Q-1)===" "&&(ce--,ce===-1&&D.charAt(Q-1)===" ")){let oe=D.slice(0,Q-1);D=D.slice(Q+1),g+=` (${oe}`;break}}if(g){let ce=g.match(lU);ce&&(g=ce[1],h=ce[2])}return m5(re,D,this._cwd),c&&(re.constructor=!0),t&&(re.evalOrigin=t,re.evalLine=A,re.evalColumn=x,re.evalFile=C&&C.replace(/\\/g,"/")),j&&(re.native=!0),g&&(re.function=g),h&&g!==h&&(re.method=h),re}};function m5(i,u,f){u&&(u=u.replace(/\\/g,"/"),u.startsWith(`${f}/`)&&(u=u.slice(f.length+1)),i.file=u)}function uU(i){if(i.length===0)return[];let u=i.map(f=>oU(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${u.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var sU=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),lU=/^(.*?) \[as (.*?)\]$/;p5.exports=em});var _5=Me((CG,g5)=>{"use strict";g5.exports=(i,u)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(u||2)))});var w5=Me((TG,y5)=>{"use strict";var fU=_5(),cU=(i,u)=>{let f=[],c=i-u,g=i+u;for(let t=c;t<=g;t++)f.push(t);return f};y5.exports=(i,u,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!u||u<1)throw new TypeError("Line number must start from `1`.");if(i=fU(i).split(/\r?\n/),!(u>i.length))return f=dt({around:3},f),cU(u,f.around).filter(c=>i[c-1]!==void 0).map(c=>({line:c,value:i[c-1]}))}});var tm=Me(hs=>{"use strict";var aU=hs&&hs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),dU=hs&&hs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),pU=hs&&hs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&aU(u,i,f);return dU(u,i),u},hU=hs&&hs.__rest||function(i,u){var f={};for(var c in i)Object.prototype.hasOwnProperty.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,c=Object.getOwnPropertySymbols(i);g{var{children:f}=i,c=hU(i,["children"]);let g=Object.assign(Object.assign({},c),{marginLeft:c.marginLeft||c.marginX||c.margin||0,marginRight:c.marginRight||c.marginX||c.margin||0,marginTop:c.marginTop||c.marginY||c.margin||0,marginBottom:c.marginBottom||c.marginY||c.margin||0,paddingLeft:c.paddingLeft||c.paddingX||c.padding||0,paddingRight:c.paddingRight||c.paddingX||c.padding||0,paddingTop:c.paddingTop||c.paddingY||c.padding||0,paddingBottom:c.paddingBottom||c.paddingY||c.padding||0});return D5.default.createElement("ink-box",{ref:u,style:g},f)});U3.displayName="Box";U3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};hs.default=U3});var W3=Me(R2=>{"use strict";var q3=R2&&R2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R2,"__esModule",{value:!0});var mU=q3(lr()),Aa=q3(Jh()),E5=q3(E3()),z3=({color:i,backgroundColor:u,dimColor:f,bold:c,italic:g,underline:t,strikethrough:C,inverse:A,wrap:x,children:D})=>{if(D==null)return null;let L=N=>(f&&(N=Aa.default.dim(N)),i&&(N=E5.default(N,i,"foreground")),u&&(N=E5.default(N,u,"background")),c&&(N=Aa.default.bold(N)),g&&(N=Aa.default.italic(N)),t&&(N=Aa.default.underline(N)),C&&(N=Aa.default.strikethrough(N)),A&&(N=Aa.default.inverse(N)),N);return mU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:x},internal_transform:L},D)};z3.displayName="Text";z3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};R2.default=z3});var x5=Me(ms=>{"use strict";var vU=ms&&ms.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),gU=ms&&ms.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),_U=ms&&ms.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&vU(u,i,f);return gU(u,i),u},N2=ms&&ms.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ms,"__esModule",{value:!0});var S5=_U(require("fs")),ui=N2(lr()),C5=N2(v5()),yU=N2(w5()),ef=N2(tm()),il=N2(W3()),T5=new C5.default({cwd:process.cwd(),internals:C5.default.nodeInternals()}),wU=({error:i})=>{let u=i.stack?i.stack.split(` +`).slice(1):void 0,f=u?T5.parseLine(u[0]):void 0,c,g=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&S5.existsSync(f.file)){let t=S5.readFileSync(f.file,"utf8");if(c=yU.default(t,f.line),c)for(let{line:C}of c)g=Math.max(g,String(C).length)}return ui.default.createElement(ef.default,{flexDirection:"column",padding:1},ui.default.createElement(ef.default,null,ui.default.createElement(il.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ui.default.createElement(il.default,null," ",i.message)),f&&ui.default.createElement(ef.default,{marginTop:1},ui.default.createElement(il.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&c&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},c.map(({line:t,value:C})=>ui.default.createElement(ef.default,{key:t},ui.default.createElement(ef.default,{width:g+1},ui.default.createElement(il.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(g," "),":")),ui.default.createElement(il.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+C)))),i.stack&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},i.stack.split(` +`).slice(1).map(t=>{let C=T5.parseLine(t);return C?ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},C.function),ui.default.createElement(il.default,{dimColor:!0,color:"gray"}," ","(",C.file,":",C.line,":",C.column,")")):ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},t))})))};ms.default=wU});var A5=Me(vs=>{"use strict";var DU=vs&&vs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),EU=vs&&vs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),SU=vs&&vs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&DU(u,i,f);return EU(u,i),u},yc=vs&&vs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vs,"__esModule",{value:!0});var wc=SU(lr()),k5=yc(gy()),CU=yc(P3()),TU=yc(F3()),xU=yc(R3()),kU=yc(B3()),AU=yc(Zh()),OU=yc(x5()),IU=" ",PU="",MU="",H3=class extends wc.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=u=>{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"),u){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=u=>{u===""&&this.props.exitOnCtrlC&&this.handleExit(),u===MU&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(u===IU&&this.focusNext(),u===PU&&this.focusPrevious())},this.handleExit=u=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(u)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(u=>{let f=u.focusables[0].id;return{activeFocusId:this.findNextFocusable(u)||f}})},this.focusPrevious=()=>{this.setState(u=>{let f=u.focusables[u.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(u)||f}})},this.addFocusable=(u,{autoFocus:f})=>{this.setState(c=>{let g=c.activeFocusId;return!g&&f&&(g=u),{activeFocusId:g,focusables:[...c.focusables,{id:u,isActive:!0}]}})},this.removeFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.filter(c=>c.id!==u)}))},this.activateFocusable=u=>{this.setState(f=>({focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!0})}))},this.deactivateFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!1})}))},this.findNextFocusable=u=>{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f+1;c{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f-1;c>=0;c--)if(u.focusables[c].isActive)return u.focusables[c].id}}static getDerivedStateFromError(u){return{error:u}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return wc.default.createElement(CU.default.Provider,{value:{exit:this.handleExit}},wc.default.createElement(TU.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},wc.default.createElement(xU.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},wc.default.createElement(kU.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},wc.default.createElement(AU.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?wc.default.createElement(OU.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){k5.default.hide(this.props.stdout)}componentWillUnmount(){k5.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(u){this.handleExit(u)}};vs.default=H3;H3.displayName="InternalApp"});var M5=Me(gs=>{"use strict";var FU=gs&&gs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),LU=gs&&gs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),RU=gs&&gs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&FU(u,i,f);return LU(u,i),u},_s=gs&&gs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gs,"__esModule",{value:!0});var NU=_s(lr()),O5=AD(),BU=_s(WD()),jU=_s(ay()),UU=_s(KD()),qU=_s(JD()),nm=_s(lS()),zU=_s(t5()),WU=_s(vy()),HU=_s(o5()),bU=RU(Xy()),GU=_s(O3()),VU=_s(A5()),Oa=process.env.CI==="false"?!1:UU.default,I5=()=>{},P5=class{constructor(u){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:c,staticOutput:g}=zU.default(this.rootNode,this.options.stdout.columns||80),t=g&&g!==` +`;if(this.options.debug){t&&(this.fullStaticOutput+=g),this.options.stdout.write(this.fullStaticOutput+f);return}if(Oa){t&&this.options.stdout.write(g),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=g),c>=this.options.stdout.rows){this.options.stdout.write(jU.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(g),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},qU.default(this),this.options=u,this.rootNode=bU.createNode("ink-root"),this.rootNode.onRender=u.debug?this.onRender:O5.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=BU.default.create(u.stdout),this.throttledLog=u.debug?this.log:O5.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=nm.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=WU.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&nm.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),u.patchConsole&&this.patchConsole(),Oa||(u.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{u.stdout.off("resize",this.onRender)})}render(u){let f=NU.default.createElement(VU.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},u);nm.default.updateContainer(f,this.container,null,I5)}writeToStdout(u){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(u+this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stdout.write(u);return}this.log.clear(),this.options.stdout.write(u),this.log(this.lastOutput)}}writeToStderr(u){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(u),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stderr.write(u);return}this.log.clear(),this.options.stderr.write(u),this.log(this.lastOutput)}}unmount(u){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Oa?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,nm.default.updateContainer(null,this.container,null,I5),GU.default.delete(this.options.stdout),u instanceof Error?this.rejectExitPromise(u):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((u,f)=>{this.resolveExitPromise=u,this.rejectExitPromise=f})),this.exitPromise}clear(){!Oa&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=HU.default((u,f)=>{u==="stdout"&&this.writeToStdout(f),u==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};gs.default=P5});var L5=Me(B2=>{"use strict";var F5=B2&&B2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(B2,"__esModule",{value:!0});var YU=F5(M5()),rm=F5(O3()),$U=require("stream"),JU=(i,u)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},KU(u)),c=XU(f.stdout,()=>new YU.default(f));return c.render(i),{rerender:c.render,unmount:()=>c.unmount(),waitUntilExit:c.waitUntilExit,cleanup:()=>rm.default.delete(f.stdout),clear:c.clear}};B2.default=JU;var KU=(i={})=>i instanceof $U.Stream?{stdout:i,stdin:process.stdin}:i,XU=(i,u)=>{let f;return rm.default.has(i)?f=rm.default.get(i):(f=u(),rm.default.set(i,f)),f}});var N5=Me(tf=>{"use strict";var QU=tf&&tf.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),ZU=tf&&tf.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),eq=tf&&tf.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&QU(u,i,f);return ZU(u,i),u};Object.defineProperty(tf,"__esModule",{value:!0});var j2=eq(lr()),R5=i=>{let{items:u,children:f,style:c}=i,[g,t]=j2.useState(0),C=j2.useMemo(()=>u.slice(g),[u,g]);j2.useLayoutEffect(()=>{t(u.length)},[u.length]);let A=C.map((D,L)=>f(D,g+L)),x=j2.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},c),[c]);return j2.default.createElement("ink-box",{internal_static:!0,style:x},A)};R5.displayName="Static";tf.default=R5});var j5=Me(U2=>{"use strict";var tq=U2&&U2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(U2,"__esModule",{value:!0});var nq=tq(lr()),B5=({children:i,transform:u})=>i==null?null:nq.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:u},i);B5.displayName="Transform";U2.default=B5});var q5=Me(q2=>{"use strict";var rq=q2&&q2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(q2,"__esModule",{value:!0});var iq=rq(lr()),U5=({count:i=1})=>iq.default.createElement("ink-text",null,` +`.repeat(i));U5.displayName="Newline";q2.default=U5});var H5=Me(z2=>{"use strict";var z5=z2&&z2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(z2,"__esModule",{value:!0});var oq=z5(lr()),uq=z5(tm()),W5=()=>oq.default.createElement(uq.default,{flexGrow:1});W5.displayName="Spacer";z2.default=W5});var im=Me(W2=>{"use strict";var sq=W2&&W2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(W2,"__esModule",{value:!0});var lq=lr(),fq=sq(F3()),cq=()=>lq.useContext(fq.default);W2.default=cq});var G5=Me(H2=>{"use strict";var aq=H2&&H2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(H2,"__esModule",{value:!0});var b5=lr(),dq=aq(im()),pq=(i,u={})=>{let{stdin:f,setRawMode:c,internal_exitOnCtrlC:g}=dq.default();b5.useEffect(()=>{if(u.isActive!==!1)return c(!0),()=>{c(!1)}},[u.isActive,c]),b5.useEffect(()=>{if(u.isActive===!1)return;let t=C=>{let A=String(C),x={upArrow:A==="",downArrow:A==="",leftArrow:A==="",rightArrow:A==="",pageDown:A==="[6~",pageUp:A==="[5~",return:A==="\r",escape:A==="",ctrl:!1,shift:!1,tab:A===" "||A==="",backspace:A==="\b",delete:A==="\x7F"||A==="[3~",meta:!1};A<=""&&!x.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),x.ctrl=!0),A.startsWith("")&&(A=A.slice(1),x.meta=!0);let D=A>="A"&&A<="Z",L=A>="\u0410"&&A<="\u042F";A.length===1&&(D||L)&&(x.shift=!0),x.tab&&A==="[Z"&&(x.shift=!0),(x.tab||x.backspace||x.delete)&&(A=""),(!(A==="c"&&x.ctrl)||!g)&&i(A,x)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[u.isActive,f,g,i])};H2.default=pq});var V5=Me(b2=>{"use strict";var hq=b2&&b2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(b2,"__esModule",{value:!0});var mq=lr(),vq=hq(P3()),gq=()=>mq.useContext(vq.default);b2.default=gq});var Y5=Me(G2=>{"use strict";var _q=G2&&G2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(G2,"__esModule",{value:!0});var yq=lr(),wq=_q(R3()),Dq=()=>yq.useContext(wq.default);G2.default=Dq});var $5=Me(V2=>{"use strict";var Eq=V2&&V2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(V2,"__esModule",{value:!0});var Sq=lr(),Cq=Eq(B3()),Tq=()=>Sq.useContext(Cq.default);V2.default=Tq});var X5=Me(Y2=>{"use strict";var K5=Y2&&Y2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Y2,"__esModule",{value:!0});var $2=lr(),xq=K5(Zh()),kq=K5(im()),Aq=({isActive:i=!0,autoFocus:u=!1}={})=>{let{isRawModeSupported:f,setRawMode:c}=kq.default(),{activeId:g,add:t,remove:C,activate:A,deactivate:x}=$2.useContext(xq.default),D=$2.useMemo(()=>Math.random().toString().slice(2,7),[]);return $2.useEffect(()=>(t(D,{autoFocus:u}),()=>{C(D)}),[D,u]),$2.useEffect(()=>{i?A(D):x(D)},[i,D]),$2.useEffect(()=>{if(!(!f||!i))return c(!0),()=>{c(!1)}},[i]),{isFocused:Boolean(D)&&g===D}};Y2.default=Aq});var J5=Me(K2=>{"use strict";var Oq=K2&&K2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(K2,"__esModule",{value:!0});var Iq=lr(),Pq=Oq(Zh()),Mq=()=>{let i=Iq.useContext(Pq.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};K2.default=Mq});var Q5=Me(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});b3.default=i=>{var u,f,c,g;return{width:(f=(u=i.yogaNode)===null||u===void 0?void 0:u.getComputedWidth())!==null&&f!==void 0?f:0,height:(g=(c=i.yogaNode)===null||c===void 0?void 0:c.getComputedHeight())!==null&&g!==void 0?g:0}}});var ys=Me(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});var Fq=L5();Object.defineProperty(ji,"render",{enumerable:!0,get:function(){return Fq.default}});var Lq=tm();Object.defineProperty(ji,"Box",{enumerable:!0,get:function(){return Lq.default}});var Rq=W3();Object.defineProperty(ji,"Text",{enumerable:!0,get:function(){return Rq.default}});var Nq=N5();Object.defineProperty(ji,"Static",{enumerable:!0,get:function(){return Nq.default}});var Bq=j5();Object.defineProperty(ji,"Transform",{enumerable:!0,get:function(){return Bq.default}});var jq=q5();Object.defineProperty(ji,"Newline",{enumerable:!0,get:function(){return jq.default}});var Uq=H5();Object.defineProperty(ji,"Spacer",{enumerable:!0,get:function(){return Uq.default}});var qq=G5();Object.defineProperty(ji,"useInput",{enumerable:!0,get:function(){return qq.default}});var zq=V5();Object.defineProperty(ji,"useApp",{enumerable:!0,get:function(){return zq.default}});var Wq=im();Object.defineProperty(ji,"useStdin",{enumerable:!0,get:function(){return Wq.default}});var Hq=Y5();Object.defineProperty(ji,"useStdout",{enumerable:!0,get:function(){return Hq.default}});var bq=$5();Object.defineProperty(ji,"useStderr",{enumerable:!0,get:function(){return bq.default}});var Gq=X5();Object.defineProperty(ji,"useFocus",{enumerable:!0,get:function(){return Gq.default}});var Vq=J5();Object.defineProperty(ji,"useFocusManager",{enumerable:!0,get:function(){return Vq.default}});var Yq=Q5();Object.defineProperty(ji,"measureElement",{enumerable:!0,get:function(){return Yq.default}})});var lC=Me(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});X2.UncontrolledTextInput=void 0;var oC=lr(),Y3=lr(),uC=ys(),Sc=Jh(),sC=({value:i,placeholder:u="",focus:f=!0,mask:c,highlightPastedText:g=!1,showCursor:t=!0,onChange:C,onSubmit:A})=>{let[{cursorOffset:x,cursorWidth:D},L]=Y3.useState({cursorOffset:(i||"").length,cursorWidth:0});Y3.useEffect(()=>{L(re=>{if(!f||!t)return re;let ce=i||"";return re.cursorOffset>ce.length-1?{cursorOffset:ce.length,cursorWidth:0}:re})},[i,f,t]);let N=g?D:0,j=c?c.repeat(i.length):i,$=j,h=u?Sc.grey(u):void 0;if(t&&f){h=u.length>0?Sc.inverse(u[0])+Sc.grey(u.slice(1)):Sc.inverse(" "),$=j.length>0?"":Sc.inverse(" ");let re=0;for(let ce of j)re>=x-N&&re<=x?$+=Sc.inverse(ce):$+=ce,re++;j.length>0&&x===j.length&&($+=Sc.inverse(" "))}return uC.useInput((re,ce)=>{if(ce.upArrow||ce.downArrow||ce.ctrl&&re==="c"||ce.tab||ce.shift&&ce.tab)return;if(ce.return){A&&A(i);return}let Q=x,oe=i,Se=0;ce.leftArrow?t&&Q--:ce.rightArrow?t&&Q++:ce.backspace||ce.delete?x>0&&(oe=i.slice(0,x-1)+i.slice(x,i.length),Q--):(oe=i.slice(0,x)+re+i.slice(x,i.length),Q+=re.length,re.length>1&&(Se=re.length)),x<0&&(Q=0),x>i.length&&(Q=i.length),L({cursorOffset:Q,cursorWidth:Se}),oe!==i&&C(oe)},{isActive:f}),oC.createElement(uC.Text,null,u?j.length>0?$:h:$)};X2.default=sC;X2.UncontrolledTextInput=i=>{let[u,f]=Y3.useState("");return oC.createElement(sC,Object.assign({},i,{value:u,onChange:f}))}});var cC=Me(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});function J2(i){let u=[...i.caches],f=u.shift();return f===void 0?fC():{get(c,g,t={miss:()=>Promise.resolve()}){return f.get(c,g,t).catch(()=>J2({caches:u}).get(c,g,t))},set(c,g){return f.set(c,g).catch(()=>J2({caches:u}).set(c,g))},delete(c){return f.delete(c).catch(()=>J2({caches:u}).delete(c))},clear(){return f.clear().catch(()=>J2({caches:u}).clear())}}}function fC(){return{get(i,u,f={miss:()=>Promise.resolve()}){return u().then(g=>Promise.all([g,f.miss(g)])).then(([g])=>g)},set(i,u){return Promise.resolve(u)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}pm.createFallbackableCache=J2;pm.createNullCache=fC});var dC=Me((fV,aC)=>{aC.exports=cC()});var pC=Me($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});function $q(i={serializable:!0}){let u={};return{get(f,c,g={miss:()=>Promise.resolve()}){let t=JSON.stringify(f);if(t in u)return Promise.resolve(i.serializable?JSON.parse(u[t]):u[t]);let C=c(),A=g&&g.miss||(()=>Promise.resolve());return C.then(x=>A(x)).then(()=>C)},set(f,c){return u[JSON.stringify(f)]=i.serializable?JSON.stringify(c):c,Promise.resolve(c)},delete(f){return delete u[JSON.stringify(f)],Promise.resolve()},clear(){return u={},Promise.resolve()}}}$3.createInMemoryCache=$q});var mC=Me((aV,hC)=>{hC.exports=pC()});var gC=Me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});function Kq(i,u,f){let c={"x-algolia-api-key":f,"x-algolia-application-id":u};return{headers(){return i===K3.WithinHeaders?c:{}},queryParameters(){return i===K3.WithinQueryParameters?c:{}}}}function Xq(i){let u=0,f=()=>(u++,new Promise(c=>{setTimeout(()=>{c(i(f))},Math.min(100*u,1e3))}));return i(f)}function vC(i,u=(f,c)=>Promise.resolve()){return Object.assign(i,{wait(f){return vC(i.then(c=>Promise.all([u(c,f),c])).then(c=>c[1]))}})}function Jq(i){let u=i.length-1;for(u;u>0;u--){let f=Math.floor(Math.random()*(u+1)),c=i[u];i[u]=i[f],i[f]=c}return i}function Qq(i,u){return Object.keys(u!==void 0?u:{}).forEach(f=>{i[f]=u[f](i)}),i}function Zq(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}var ez="4.2.0",tz=i=>()=>i.transporter.requester.destroy(),K3={WithinQueryParameters:0,WithinHeaders:1};ws.AuthMode=K3;ws.addMethods=Qq;ws.createAuth=Kq;ws.createRetryablePromise=Xq;ws.createWaitablePromise=vC;ws.destroy=tz;ws.encode=Zq;ws.shuffle=Jq;ws.version=ez});var Q2=Me((pV,_C)=>{_C.exports=gC()});var yC=Me(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});var nz={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};X3.MethodEnum=nz});var Z2=Me((mV,wC)=>{wC.exports=yC()});var RC=Me(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var DC=Z2();function J3(i,u){let f=i||{},c=f.data||{};return Object.keys(f).forEach(g=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(g)===-1&&(c[g]=f[g])}),{data:Object.entries(c).length>0?c:void 0,timeout:f.timeout||u,headers:f.headers||{},queryParameters:f.queryParameters||{},cacheable:f.cacheable}}var hm={Read:1,Write:2,Any:3},Ia={Up:1,Down:2,Timeouted:3},EC=2*60*1e3;function Q3(i,u=Ia.Up){return zn(dt({},i),{status:u,lastUpdate:Date.now()})}function SC(i){return i.status===Ia.Up||Date.now()-i.lastUpdate>EC}function CC(i){return i.status===Ia.Timeouted&&Date.now()-i.lastUpdate<=EC}function Z3(i){return{protocol:i.protocol||"https",url:i.url,accept:i.accept||hm.Any}}function rz(i,u){return Promise.all(u.map(f=>i.get(f,()=>Promise.resolve(Q3(f))))).then(f=>{let c=f.filter(A=>SC(A)),g=f.filter(A=>CC(A)),t=[...c,...g],C=t.length>0?t.map(A=>Z3(A)):u;return{getTimeout(A,x){return(g.length===0&&A===0?1:g.length+3+A)*x},statelessHosts:C}})}var iz=({isTimedOut:i,status:u})=>!i&&~~u==0,oz=i=>{let u=i.status;return i.isTimedOut||iz(i)||~~(u/100)!=2&&~~(u/100)!=4},uz=({status:i})=>~~(i/100)==2,sz=(i,u)=>oz(i)?u.onRetry(i):uz(i)?u.onSucess(i):u.onFail(i);function PC(i,u,f,c){let g=[],t=AC(f,c),C=OC(i,c),A=f.method,x=f.method!==DC.MethodEnum.Get?{}:dt(dt({},f.data),c.data),D=dt(dt(dt({"x-algolia-agent":i.userAgent.value},i.queryParameters),x),c.queryParameters),L=0,N=(j,$)=>{let h=j.pop();if(h===void 0)throw IC(ew(g));let re={data:t,headers:C,method:A,url:kC(h,f.path,D),connectTimeout:$(L,i.timeouts.connect),responseTimeout:$(L,c.timeout)},ce=oe=>{let Se={request:re,response:oe,host:h,triesLeft:j.length};return g.push(Se),Se},Q={onSucess:oe=>TC(oe),onRetry(oe){let Se=ce(oe);return oe.isTimedOut&&L++,Promise.all([i.logger.info("Retryable failure",tw(Se)),i.hostsCache.set(h,Q3(h,oe.isTimedOut?Ia.Timeouted:Ia.Down))]).then(()=>N(j,$))},onFail(oe){throw ce(oe),xC(oe,ew(g))}};return i.requester.send(re).then(oe=>sz(oe,Q))};return rz(i.hostsCache,u).then(j=>N([...j.statelessHosts].reverse(),j.getTimeout))}function lz(i){let{hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,hosts:x,queryParameters:D,headers:L}=i,N={hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,headers:L,queryParameters:D,hosts:x.map(j=>Z3(j)),read(j,$){let h=J3($,N.timeouts.read),re=()=>PC(N,N.hosts.filter(oe=>(oe.accept&hm.Read)!=0),j,h);if((h.cacheable!==void 0?h.cacheable:j.cacheable)!==!0)return re();let Q={request:j,mappedRequestOptions:h,transporter:{queryParameters:N.queryParameters,headers:N.headers}};return N.responsesCache.get(Q,()=>N.requestsCache.get(Q,()=>N.requestsCache.set(Q,re()).then(oe=>Promise.all([N.requestsCache.delete(Q),oe]),oe=>Promise.all([N.requestsCache.delete(Q),Promise.reject(oe)])).then(([oe,Se])=>Se)),{miss:oe=>N.responsesCache.set(Q,oe)})},write(j,$){return PC(N,N.hosts.filter(h=>(h.accept&hm.Write)!=0),j,J3($,N.timeouts.write))}};return N}function fz(i){let u={value:`Algolia for JavaScript (${i})`,add(f){let c=`; ${f.segment}${f.version!==void 0?` (${f.version})`:""}`;return u.value.indexOf(c)===-1&&(u.value=`${u.value}${c}`),u}};return u}function TC(i){try{return JSON.parse(i.content)}catch(u){throw MC(u.message,i)}}function xC({content:i,status:u},f){let c=i;try{c=JSON.parse(i).message}catch(g){}return FC(c,u,f)}function cz(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}function kC(i,u,f){let c=LC(f),g=`${i.protocol}://${i.url}/${u.charAt(0)==="/"?u.substr(1):u}`;return c.length&&(g+=`?${c}`),g}function LC(i){let u=f=>Object.prototype.toString.call(f)==="[object Object]"||Object.prototype.toString.call(f)==="[object Array]";return Object.keys(i).map(f=>cz("%s=%s",f,u(i[f])?JSON.stringify(i[f]):i[f])).join("&")}function AC(i,u){if(i.method===DC.MethodEnum.Get||i.data===void 0&&u.data===void 0)return;let f=Array.isArray(i.data)?i.data:dt(dt({},i.data),u.data);return JSON.stringify(f)}function OC(i,u){let f=dt(dt({},i.headers),u.headers),c={};return Object.keys(f).forEach(g=>{let t=f[g];c[g.toLowerCase()]=t}),c}function ew(i){return i.map(u=>tw(u))}function tw(i){let u=i.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return zn(dt({},i),{request:zn(dt({},i.request),{headers:dt(dt({},i.request.headers),u)})})}function FC(i,u,f){return{name:"ApiError",message:i,status:u,transporterStackTrace:f}}function MC(i,u){return{name:"DeserializationError",message:i,response:u}}function IC(i){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:i}}y0.CallEnum=hm;y0.HostStatusEnum=Ia;y0.createApiError=FC;y0.createDeserializationError=MC;y0.createMappedRequestOptions=J3;y0.createRetryError=IC;y0.createStatefulHost=Q3;y0.createStatelessHost=Z3;y0.createTransporter=lz;y0.createUserAgent=fz;y0.deserializeFailure=xC;y0.deserializeSuccess=TC;y0.isStatefulHostTimeouted=CC;y0.isStatefulHostUp=SC;y0.serializeData=AC;y0.serializeHeaders=OC;y0.serializeQueryParameters=LC;y0.serializeUrl=kC;y0.stackFrameWithoutCredentials=tw;y0.stackTraceWithoutCredentials=ew});var ed=Me((gV,NC)=>{NC.exports=RC()});var BC=Me(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var Pa=Q2(),az=ed(),td=Z2(),dz=i=>{let u=i.region||"us",f=Pa.createAuth(Pa.AuthMode.WithinHeaders,i.appId,i.apiKey),c=az.createTransporter(zn(dt({hosts:[{url:`analytics.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g=i.appId;return Pa.addMethods({appId:g,transporter:c},i.methods)},pz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:"2/abtests",data:u},f),hz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Delete,path:Pa.encode("2/abtests/%s",u)},f),mz=i=>(u,f)=>i.transporter.read({method:td.MethodEnum.Get,path:Pa.encode("2/abtests/%s",u)},f),vz=i=>u=>i.transporter.read({method:td.MethodEnum.Get,path:"2/abtests"},u),gz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:Pa.encode("2/abtests/%s/stop",u)},f);Hf.addABTest=pz;Hf.createAnalyticsClient=dz;Hf.deleteABTest=hz;Hf.getABTest=mz;Hf.getABTests=vz;Hf.stopABTest=gz});var UC=Me((yV,jC)=>{jC.exports=BC()});var zC=Me(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var nw=Q2(),_z=ed(),qC=Z2(),yz=i=>{let u=i.region||"us",f=nw.createAuth(nw.AuthMode.WithinHeaders,i.appId,i.apiKey),c=_z.createTransporter(zn(dt({hosts:[{url:`recommendation.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)}));return nw.addMethods({appId:i.appId,transporter:c},i.methods)},wz=i=>u=>i.transporter.read({method:qC.MethodEnum.Get,path:"1/strategies/personalization"},u),Dz=i=>(u,f)=>i.transporter.write({method:qC.MethodEnum.Post,path:"1/strategies/personalization",data:u},f);nd.createRecommendationClient=yz;nd.getPersonalizationStrategy=wz;nd.setPersonalizationStrategy=Dz});var HC=Me((DV,WC)=>{WC.exports=zC()});var nT=Me(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});var Wt=Q2(),jo=ed(),Rn=Z2(),Ez=require("crypto");function mm(i){let u=f=>i.request(f).then(c=>{if(i.batch!==void 0&&i.batch(c.hits),!i.shouldStop(c))return c.cursor?u({cursor:c.cursor}):u({page:(f.page||0)+1})});return u({})}var Sz=i=>{let u=i.appId,f=Wt.createAuth(i.authMode!==void 0?i.authMode:Wt.AuthMode.WithinHeaders,u,i.apiKey),c=jo.createTransporter(zn(dt({hosts:[{url:`${u}-dsn.algolia.net`,accept:jo.CallEnum.Read},{url:`${u}.algolia.net`,accept:jo.CallEnum.Write}].concat(Wt.shuffle([{url:`${u}-1.algolianet.com`},{url:`${u}-2.algolianet.com`},{url:`${u}-3.algolianet.com`}]))},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/x-www-form-urlencoded"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g={transporter:c,appId:u,addAlgoliaAgent(t,C){c.userAgent.add({segment:t,version:C})},clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(g,i.methods)};function bC(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function GC(){return{name:"ObjectNotFoundError",message:"Object not found."}}function VC(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Cz=i=>(u,f)=>{let A=f||{},{queryParameters:c}=A,g=Si(A,["queryParameters"]),t=dt({acl:u},c!==void 0?{queryParameters:c}:{}),C=(x,D)=>Wt.createRetryablePromise(L=>rd(i)(x.key,D).catch(N=>{if(N.status!==404)throw N;return L()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/keys",data:t},g),C)},Tz=i=>(u,f,c)=>{let g=jo.createMappedRequestOptions(c);return g.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:f}},g)},xz=i=>(u,f,c)=>i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:u,cluster:f}},c),vm=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"copy",destination:f}},c),g)},kz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Rules]})),Az=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Settings]})),Oz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Synonyms]})),Iz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).then(C).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/keys/%s",u)},f),c)},Pz=()=>(i,u)=>{let f=jo.serializeQueryParameters(u),c=Ez.createHmac("sha256",i).update(f).digest("hex");return Buffer.from(c+f).toString("base64")},rd=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/keys/%s",u)},f),Mz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/logs"},u),Fz=()=>i=>{let u=Buffer.from(i,"base64").toString("ascii"),f=/validUntil=(\d+)/,c=u.match(f);if(c===null)throw VC();return parseInt(c[1],10)-Math.round(new Date().getTime()/1e3)},Lz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/top"},u),Rz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",u)},f),Nz=i=>u=>{let g=u||{},{retrieveMappings:f}=g,c=Si(g,["retrieveMappings"]);return f===!0&&(c.getClusters=!0),i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/pending"},c)},id=i=>(u,f={})=>{let c={transporter:i.transporter,appId:i.appId,indexName:u};return Wt.addMethods(c,f.methods)},Bz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/keys"},u),jz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters"},u),Uz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/indexes"},u),qz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping"},u),zz=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"move",destination:f}},c),g)},Wz=i=>(u,f)=>{let c=(g,t)=>Promise.all(Object.keys(g.taskID).map(C=>id(i)(C,{methods:{waitTask:z0}}).waitTask(g.taskID[C],t)));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:u}},f),c)},Hz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:u}},f),bz=i=>(u,f)=>{let c=u.map(g=>zn(dt({},g),{params:jo.serializeQueryParameters(g.params||{})}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:c},cacheable:!0},f)},Gz=i=>(u,f)=>Promise.all(u.map(c=>{let A=c.params,{facetName:g,facetQuery:t}=A,C=Si(A,["facetName","facetQuery"]);return id(i)(c.indexName,{methods:{searchForFacetValues:YC}}).searchForFacetValues(g,t,dt(dt({},f),C))})),Vz=i=>(u,f)=>{let c=jo.createMappedRequestOptions(f);return c.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Delete,path:"1/clusters/mapping"},c)},Yz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).catch(A=>{if(A.status!==404)throw A;return C()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",u)},f),c)},$z=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:u}},f),Kz=i=>(u,f)=>{let c=Object.assign({},f),L=f||{},{queryParameters:g}=L,t=Si(L,["queryParameters"]),C=g?{queryParameters:g}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],x=N=>Object.keys(c).filter(j=>A.indexOf(j)!==-1).every(j=>N[j]===c[j]),D=(N,j)=>Wt.createRetryablePromise($=>rd(i)(u,j).then(h=>x(h)?Promise.resolve():$()));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/keys/%s",u),data:C},t),D)},$C=i=>(u,f)=>{let c=(g,t)=>z0(i)(g.taskID,t);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",i.indexName),data:{requests:u}},f),c)},Xz=i=>u=>mm(zn(dt({},u),{shouldStop:f=>f.cursor===void 0,request:f=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",i.indexName),data:f},u)})),Jz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},Qz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},_m=i=>(u,f,c)=>{let x=c||{},{batchSize:g}=x,t=Si(x,["batchSize"]),C={taskIDs:[],objectIDs:[]},A=(D=0)=>{let L=[],N;for(N=D;N({action:f,body:j})),t).then(j=>(C.objectIDs=C.objectIDs.concat(j.objectIDs),C.taskIDs.push(j.taskID),N++,A(N)))};return Wt.createWaitablePromise(A(),(D,L)=>Promise.all(D.taskIDs.map(N=>z0(i)(N,L))))},Zz=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),eW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},tW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},nW=i=>(u,f)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",i.indexName),data:u},f),(c,g)=>z0(i)(c.taskID,g)),rW=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),iW=i=>(u,f)=>Wt.createWaitablePromise(JC(i)([u],f).then(c=>({taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),JC=i=>(u,f)=>{let c=u.map(g=>({objectID:g}));return _m(i)(c,Cc.DeleteObject,f)},oW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},uW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},sW=i=>u=>QC(i)(u).then(()=>!0).catch(f=>{if(f.status!==404)throw f;return!1}),lW=i=>(u,f)=>{let x=f||{},{query:c,paginate:g}=x,t=Si(x,["query","paginate"]),C=0,A=()=>ZC(i)(c||"",zn(dt({},t),{page:C})).then(D=>{for(let[L,N]of Object.entries(D.hits))if(u(N))return{object:N,position:parseInt(L,10),page:C};if(C++,g===!1||C>=D.nbPages)throw GC();return A()});return A()},fW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",i.indexName,u)},f),cW=()=>(i,u)=>{for(let[f,c]of Object.entries(i.hits))if(c.objectID===u)return parseInt(f,10);return-1},aW=i=>(u,f)=>{let C=f||{},{attributesToRetrieve:c}=C,g=Si(C,["attributesToRetrieve"]),t=u.map(A=>dt({indexName:i.indexName,objectID:A},c?{attributesToRetrieve:c}:{}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},g)},dW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},f),QC=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:{getVersion:2}},u),pW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},f),eT=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",i.indexName,u.toString())},f),hW=i=>(u,f)=>Wt.createWaitablePromise(tT(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),tT=i=>(u,f)=>{let C=f||{},{createIfNotExists:c}=C,g=Si(C,["createIfNotExists"]),t=c?Cc.PartialUpdateObject:Cc.PartialUpdateObjectNoCreate;return _m(i)(u,t,g)},mW=i=>(u,f)=>{let h=f||{},{safe:c,autoGenerateObjectIDIfNotExist:g,batchSize:t}=h,C=Si(h,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),A=(re,ce,Q,oe)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",re),data:{operation:Q,destination:ce}},oe),(Se,me)=>z0(i)(Se.taskID,me)),x=Math.random().toString(36).substring(7),D=`${i.indexName}_tmp_${x}`,L=rw({appId:i.appId,transporter:i.transporter,indexName:D}),N=[],j=A(i.indexName,D,"copy",zn(dt({},C),{scope:["settings","synonyms","rules"]}));N.push(j);let $=(c?j.wait(C):j).then(()=>{let re=L(u,zn(dt({},C),{autoGenerateObjectIDIfNotExist:g,batchSize:t}));return N.push(re),c?re.wait(C):re}).then(()=>{let re=A(D,i.indexName,"move",C);return N.push(re),c?re.wait(C):re}).then(()=>Promise.all(N)).then(([re,ce,Q])=>({objectIDs:ce.objectIDs,taskIDs:[re.taskID,...ce.taskIDs,Q.taskID]}));return Wt.createWaitablePromise($,(re,ce)=>Promise.all(N.map(Q=>Q.wait(ce))))},vW=i=>(u,f)=>iw(i)(u,zn(dt({},f),{clearExistingRules:!0})),gW=i=>(u,f)=>ow(i)(u,zn(dt({},f),{replaceExistingSynonyms:!0})),_W=i=>(u,f)=>Wt.createWaitablePromise(rw(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),rw=i=>(u,f)=>{let C=f||{},{autoGenerateObjectIDIfNotExist:c}=C,g=Si(C,["autoGenerateObjectIDIfNotExist"]),t=c?Cc.AddObject:Cc.UpdateObject;if(t===Cc.UpdateObject){for(let A of u)if(A.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(bC()))}return _m(i)(u,t,g)},yW=i=>(u,f)=>iw(i)([u],f),iw=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,clearExistingRules:g}=A,t=Si(A,["forwardToReplicas","clearExistingRules"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},wW=i=>(u,f)=>ow(i)([u],f),ow=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,replaceExistingSynonyms:g}=A,t=Si(A,["forwardToReplicas","replaceExistingSynonyms"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},ZC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",i.indexName),data:{query:u},cacheable:!0},f),YC=i=>(u,f,c)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",i.indexName,u),data:{facetQuery:f},cacheable:!0},c),KC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",i.indexName),data:{query:u}},f),XC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",i.indexName),data:{query:u}},f),DW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:u},t),(A,x)=>z0(i)(A.taskID,x))},z0=i=>(u,f)=>Wt.createRetryablePromise(c=>eT(i)(u,f).then(g=>g.status!=="published"?c():void 0)),EW={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Cc={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},gm={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},SW={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},CW={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};yt.ApiKeyACLEnum=EW;yt.BatchActionEnum=Cc;yt.ScopeEnum=gm;yt.StrategyEnum=SW;yt.SynonymEnum=CW;yt.addApiKey=Cz;yt.assignUserID=Tz;yt.assignUserIDs=xz;yt.batch=$C;yt.browseObjects=Xz;yt.browseRules=Jz;yt.browseSynonyms=Qz;yt.chunkedBatch=_m;yt.clearObjects=Zz;yt.clearRules=eW;yt.clearSynonyms=tW;yt.copyIndex=vm;yt.copyRules=kz;yt.copySettings=Az;yt.copySynonyms=Oz;yt.createBrowsablePromise=mm;yt.createMissingObjectIDError=bC;yt.createObjectNotFoundError=GC;yt.createSearchClient=Sz;yt.createValidUntilNotFoundError=VC;yt.deleteApiKey=Iz;yt.deleteBy=nW;yt.deleteIndex=rW;yt.deleteObject=iW;yt.deleteObjects=JC;yt.deleteRule=oW;yt.deleteSynonym=uW;yt.exists=sW;yt.findObject=lW;yt.generateSecuredApiKey=Pz;yt.getApiKey=rd;yt.getLogs=Mz;yt.getObject=fW;yt.getObjectPosition=cW;yt.getObjects=aW;yt.getRule=dW;yt.getSecuredApiKeyRemainingValidity=Fz;yt.getSettings=QC;yt.getSynonym=pW;yt.getTask=eT;yt.getTopUserIDs=Lz;yt.getUserID=Rz;yt.hasPendingMappings=Nz;yt.initIndex=id;yt.listApiKeys=Bz;yt.listClusters=jz;yt.listIndices=Uz;yt.listUserIDs=qz;yt.moveIndex=zz;yt.multipleBatch=Wz;yt.multipleGetObjects=Hz;yt.multipleQueries=bz;yt.multipleSearchForFacetValues=Gz;yt.partialUpdateObject=hW;yt.partialUpdateObjects=tT;yt.removeUserID=Vz;yt.replaceAllObjects=mW;yt.replaceAllRules=vW;yt.replaceAllSynonyms=gW;yt.restoreApiKey=Yz;yt.saveObject=_W;yt.saveObjects=rw;yt.saveRule=yW;yt.saveRules=iw;yt.saveSynonym=wW;yt.saveSynonyms=ow;yt.search=ZC;yt.searchForFacetValues=YC;yt.searchRules=KC;yt.searchSynonyms=XC;yt.searchUserIDs=$z;yt.setSettings=DW;yt.updateApiKey=Kz;yt.waitTask=z0});var iT=Me((SV,rT)=>{rT.exports=nT()});var oT=Me(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});function TW(){return{debug(i,u){return Promise.resolve()},info(i,u){return Promise.resolve()},error(i,u){return Promise.resolve()}}}var xW={Debug:1,Info:2,Error:3};ym.LogLevelEnum=xW;ym.createNullLogger=TW});var sT=Me((TV,uT)=>{uT.exports=oT()});var cT=Me(uw=>{"use strict";Object.defineProperty(uw,"__esModule",{value:!0});var lT=require("http"),fT=require("https"),kW=require("url");function AW(){let i={keepAlive:!0},u=new lT.Agent(i),f=new fT.Agent(i);return{send(c){return new Promise(g=>{let t=kW.parse(c.url),C=t.query===null?t.pathname:`${t.pathname}?${t.query}`,A=dt({agent:t.protocol==="https:"?f:u,hostname:t.hostname,path:C,method:c.method,headers:c.headers},t.port!==void 0?{port:t.port||""}:{}),x=(t.protocol==="https:"?fT:lT).request(A,j=>{let $="";j.on("data",h=>$+=h),j.on("end",()=>{clearTimeout(L),clearTimeout(N),g({status:j.statusCode||0,content:$,isTimedOut:!1})})}),D=(j,$)=>setTimeout(()=>{x.abort(),g({status:0,content:$,isTimedOut:!0})},j*1e3),L=D(c.connectTimeout,"Connection timeout"),N;x.on("error",j=>{clearTimeout(L),clearTimeout(N),g({status:0,content:j.message,isTimedOut:!1})}),x.once("response",()=>{clearTimeout(L),N=D(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&x.write(c.data),x.end()})},destroy(){return u.destroy(),f.destroy(),Promise.resolve()}}}uw.createNodeHttpRequester=AW});var dT=Me((kV,aT)=>{aT.exports=cT()});var vT=Me((AV,pT)=>{"use strict";var hT=dC(),OW=mC(),Ma=UC(),sw=Q2(),lw=HC(),Mt=iT(),IW=sT(),PW=dT(),MW=ed();function mT(i,u,f){let c={appId:i,apiKey:u,timeouts:{connect:2,read:5,write:30},requester:PW.createNodeHttpRequester(),logger:IW.createNullLogger(),responsesCache:hT.createNullCache(),requestsCache:hT.createNullCache(),hostsCache:OW.createInMemoryCache(),userAgent:MW.createUserAgent(sw.version).add({segment:"Node.js",version:process.versions.node})};return Mt.createSearchClient(zn(dt(dt({},c),f),{methods:{search:Mt.multipleQueries,searchForFacetValues:Mt.multipleSearchForFacetValues,multipleBatch:Mt.multipleBatch,multipleGetObjects:Mt.multipleGetObjects,multipleQueries:Mt.multipleQueries,copyIndex:Mt.copyIndex,copySettings:Mt.copySettings,copyRules:Mt.copyRules,copySynonyms:Mt.copySynonyms,moveIndex:Mt.moveIndex,listIndices:Mt.listIndices,getLogs:Mt.getLogs,listClusters:Mt.listClusters,multipleSearchForFacetValues:Mt.multipleSearchForFacetValues,getApiKey:Mt.getApiKey,addApiKey:Mt.addApiKey,listApiKeys:Mt.listApiKeys,updateApiKey:Mt.updateApiKey,deleteApiKey:Mt.deleteApiKey,restoreApiKey:Mt.restoreApiKey,assignUserID:Mt.assignUserID,assignUserIDs:Mt.assignUserIDs,getUserID:Mt.getUserID,searchUserIDs:Mt.searchUserIDs,listUserIDs:Mt.listUserIDs,getTopUserIDs:Mt.getTopUserIDs,removeUserID:Mt.removeUserID,hasPendingMappings:Mt.hasPendingMappings,generateSecuredApiKey:Mt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Mt.getSecuredApiKeyRemainingValidity,destroy:sw.destroy,initIndex:g=>t=>Mt.initIndex(g)(t,{methods:{batch:Mt.batch,delete:Mt.deleteIndex,getObject:Mt.getObject,getObjects:Mt.getObjects,saveObject:Mt.saveObject,saveObjects:Mt.saveObjects,search:Mt.search,searchForFacetValues:Mt.searchForFacetValues,waitTask:Mt.waitTask,setSettings:Mt.setSettings,getSettings:Mt.getSettings,partialUpdateObject:Mt.partialUpdateObject,partialUpdateObjects:Mt.partialUpdateObjects,deleteObject:Mt.deleteObject,deleteObjects:Mt.deleteObjects,deleteBy:Mt.deleteBy,clearObjects:Mt.clearObjects,browseObjects:Mt.browseObjects,getObjectPosition:Mt.getObjectPosition,findObject:Mt.findObject,exists:Mt.exists,saveSynonym:Mt.saveSynonym,saveSynonyms:Mt.saveSynonyms,getSynonym:Mt.getSynonym,searchSynonyms:Mt.searchSynonyms,browseSynonyms:Mt.browseSynonyms,deleteSynonym:Mt.deleteSynonym,clearSynonyms:Mt.clearSynonyms,replaceAllObjects:Mt.replaceAllObjects,replaceAllSynonyms:Mt.replaceAllSynonyms,searchRules:Mt.searchRules,getRule:Mt.getRule,deleteRule:Mt.deleteRule,saveRule:Mt.saveRule,saveRules:Mt.saveRules,replaceAllRules:Mt.replaceAllRules,browseRules:Mt.browseRules,clearRules:Mt.clearRules}}),initAnalytics:()=>g=>Ma.createAnalyticsClient(zn(dt(dt({},c),g),{methods:{addABTest:Ma.addABTest,getABTest:Ma.getABTest,getABTests:Ma.getABTests,stopABTest:Ma.stopABTest,deleteABTest:Ma.deleteABTest}})),initRecommendation:()=>g=>lw.createRecommendationClient(zn(dt(dt({},c),g),{methods:{getPersonalizationStrategy:lw.getPersonalizationStrategy,setPersonalizationStrategy:lw.setPersonalizationStrategy}}))}}))}mT.version=sw.version;pT.exports=mT});var _T=Me((OV,fw)=>{var gT=vT();fw.exports=gT;fw.exports.default=gT});var rf=Me(dw=>{"use strict";Object.defineProperty(dw,"__esModule",{value:!0});dw.default=kT;function kT(){}kT.prototype={diff:function(u,f){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},g=c.callback;typeof c=="function"&&(g=c,c={}),this.options=c;var t=this;function C(re){return g?(setTimeout(function(){g(void 0,re)},0),!0):re}u=this.castInput(u),f=this.castInput(f),u=this.removeEmpty(this.tokenize(u)),f=this.removeEmpty(this.tokenize(f));var A=f.length,x=u.length,D=1,L=A+x,N=[{newPos:-1,components:[]}],j=this.extractCommon(N[0],f,u,0);if(N[0].newPos+1>=A&&j+1>=x)return C([{value:this.join(f),count:f.length}]);function $(){for(var re=-1*D;re<=D;re+=2){var ce=void 0,Q=N[re-1],oe=N[re+1],Se=(oe?oe.newPos:0)-re;Q&&(N[re-1]=void 0);var me=Q&&Q.newPos+1=A&&Se+1>=x)return C(LW(t,ce.components,f,u,t.useLongestToken));N[re]=ce}D++}if(g)(function re(){setTimeout(function(){if(D>L)return g();$()||re()},0)})();else for(;D<=L;){var h=$();if(h)return h}},pushComponent:function(u,f,c){var g=u[u.length-1];g&&g.added===f&&g.removed===c?u[u.length-1]={count:g.count+1,added:f,removed:c}:u.push({count:1,added:f,removed:c})},extractCommon:function(u,f,c,g){for(var t=f.length,C=c.length,A=u.newPos,x=A-g,D=0;A+1$.length?re:$}),D.value=i.join(L)}else D.value=i.join(f.slice(A,A+D.count));A+=D.count,D.added||(x+=D.count)}}var j=u[C-1];return C>1&&typeof j.value=="string"&&(j.added||j.removed)&&i.equals("",j.value)&&(u[C-2].value+=j.value,u.pop()),u}function RW(i){return{newPos:i.newPos,components:i.components.slice(0)}}});var OT=Me(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.diffChars=NW;ld.characterDiff=void 0;var jW=BW(rf());function BW(i){return i&&i.__esModule?i:{default:i}}var AT=new jW.default;ld.characterDiff=AT;function NW(i,u,f){return AT.diff(i,u,f)}});var hw=Me(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});pw.generateOptions=UW;function UW(i,u){if(typeof i=="function")u.callback=i;else if(i)for(var f in i)i.hasOwnProperty(f)&&(u[f]=i[f]);return u}});var MT=Me(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.diffWords=qW;Fa.diffWordsWithSpace=zW;Fa.wordDiff=void 0;var HW=WW(rf()),bW=hw();function WW(i){return i&&i.__esModule?i:{default:i}}var IT=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,PT=/\S/,fd=new HW.default;Fa.wordDiff=fd;fd.equals=function(i,u){return this.options.ignoreCase&&(i=i.toLowerCase(),u=u.toLowerCase()),i===u||this.options.ignoreWhitespace&&!PT.test(i)&&!PT.test(u)};fd.tokenize=function(i){for(var u=i.split(/(\s+|[()[\]{}'"]|\b)/),f=0;f{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.diffLines=GW;La.diffTrimmedLines=VW;La.lineDiff=void 0;var $W=YW(rf()),KW=hw();function YW(i){return i&&i.__esModule?i:{default:i}}var Dm=new $W.default;La.lineDiff=Dm;Dm.tokenize=function(i){var u=[],f=i.split(/(\n|\r\n)/);f[f.length-1]||f.pop();for(var c=0;c{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.diffSentences=XW;cd.sentenceDiff=void 0;var QW=JW(rf());function JW(i){return i&&i.__esModule?i:{default:i}}var mw=new QW.default;cd.sentenceDiff=mw;mw.tokenize=function(i){return i.split(/(\S.+?[.!?])(?=\s+|$)/)};function XW(i,u,f){return mw.diff(i,u,f)}});var LT=Me(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.diffCss=ZW;ad.cssDiff=void 0;var tH=eH(rf());function eH(i){return i&&i.__esModule?i:{default:i}}var vw=new tH.default;ad.cssDiff=vw;vw.tokenize=function(i){return i.split(/([{}:;,]|\s+)/)};function ZW(i,u,f){return vw.diff(i,u,f)}});var NT=Me(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.diffJson=nH;Ra.canonicalize=Sm;Ra.jsonDiff=void 0;var RT=rH(rf()),iH=Em();function rH(i){return i&&i.__esModule?i:{default:i}}function Cm(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cm=function(f){return typeof f}:Cm=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},Cm(i)}var oH=Object.prototype.toString,xc=new RT.default;Ra.jsonDiff=xc;xc.useLongestToken=!0;xc.tokenize=iH.lineDiff.tokenize;xc.castInput=function(i){var u=this.options,f=u.undefinedReplacement,c=u.stringifyReplacer,g=c===void 0?function(t,C){return typeof C=="undefined"?f:C}:c;return typeof i=="string"?i:JSON.stringify(Sm(i,null,null,g),g," ")};xc.equals=function(i,u){return RT.default.prototype.equals.call(xc,i.replace(/,([\r\n])/g,"$1"),u.replace(/,([\r\n])/g,"$1"))};function nH(i,u,f){return xc.diff(i,u,f)}function Sm(i,u,f,c,g){u=u||[],f=f||[],c&&(i=c(g,i));var t;for(t=0;t{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.diffArrays=uH;dd.arrayDiff=void 0;var lH=sH(rf());function sH(i){return i&&i.__esModule?i:{default:i}}var pd=new lH.default;dd.arrayDiff=pd;pd.tokenize=function(i){return i.slice()};pd.join=pd.removeEmpty=function(i){return i};function uH(i,u,f){return pd.diff(i,u,f)}});var Tm=Me(gw=>{"use strict";Object.defineProperty(gw,"__esModule",{value:!0});gw.parsePatch=fH;function fH(i){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=i.split(/\r\n|[\n\v\f\r\x85]/),c=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],g=[],t=0;function C(){var D={};for(g.push(D);t{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});_w.default=cH;function cH(i,u,f){var c=!0,g=!1,t=!1,C=1;return function A(){if(c&&!t){if(g?C++:c=!1,i+C<=f)return C;t=!0}if(!g)return t||(c=!0),u<=i-C?-C++:(g=!0,A())}}});var zT=Me(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.applyPatch=UT;xm.applyPatches=aH;var qT=Tm(),pH=dH(jT());function dH(i){return i&&i.__esModule?i:{default:i}}function UT(i,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof u=="string"&&(u=(0,qT.parsePatch)(u)),Array.isArray(u)){if(u.length>1)throw new Error("applyPatch only works with a single input.");u=u[0]}var c=i.split(/\r\n|[\n\v\f\r\x85]/),g=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],t=u.hunks,C=f.compareLine||function(Ot,Nt,Je,V){return Nt===V},A=0,x=f.fuzzFactor||0,D=0,L=0,N,j;function $(Ot,Nt){for(var Je=0;Je0?V[0]:" ",ge=V.length>0?V.substr(1):V;if(ne===" "||ne==="-"){if(!C(Nt+1,c[Nt],ne,ge)&&(A++,A>x))return!1;Nt++}}return!0}for(var h=0;h0?Le[0]:" ",ct=Le.length>0?Le.substr(1):Le,Ue=J.linedelimiters[Oe];if(ot===" ")Te++;else if(ot==="-")c.splice(Te,1),g.splice(Te,1);else if(ot==="+")c.splice(Te,0,ct),g.splice(Te,0,Ue),Te++;else if(ot==="\\"){var be=J.lines[Oe-1]?J.lines[Oe-1][0]:null;be==="+"?N=!0:be==="-"&&(j=!0)}}}if(N)for(;!c[c.length-1];)c.pop(),g.pop();else j&&(c.push(""),g.push(` +`));for(var At=0;At{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.structuredPatch=WT;hd.createTwoFilesPatch=HT;hd.createPatch=hH;var mH=Em();function yw(i){return _H(i)||gH(i)||vH()}function vH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function gH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function _H(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u0?x(J.lines.slice(-C.context)):[],L-=j.length,N-=j.length)}(De=j).push.apply(De,yw(me.map(function(At){return(Se.added?"+":"-")+At}))),Se.added?h+=me.length:$+=me.length}else{if(L)if(me.length<=C.context*2&&oe=A.length-2&&me.length<=C.context){var ct=/\n$/.test(f),Ue=/\n$/.test(c),be=me.length==0&&j.length>ot.oldLines;!ct&&be&&j.splice(ot.oldLines,0,"\\ No newline at end of file"),(!ct&&!be||!Ue)&&j.push("\\ No newline at end of file")}D.push(ot),L=0,N=0,j=[]}$+=me.length,h+=me.length}},ce=0;ce{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.arrayEqual=yH;km.arrayStartsWith=bT;function yH(i,u){return i.length!==u.length?!1:bT(i,u)}function bT(i,u){if(u.length>i.length)return!1;for(var f=0;f{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.calcLineCount=VT;Am.merge=wH;var DH=ww(),EH=Tm(),Dw=GT();function Na(i){return TH(i)||CH(i)||SH()}function SH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function CH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function TH(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u{"use strict";Object.defineProperty(Cw,"__esModule",{value:!0});Cw.convertChangesToDMP=OH;function OH(i){for(var u=[],f,c,g=0;g{"use strict";Object.defineProperty(Tw,"__esModule",{value:!0});Tw.convertChangesToXML=IH;function IH(i){for(var u=[],f=0;f"):c.removed&&u.push(""),u.push(PH(c.value)),c.added?u.push(""):c.removed&&u.push("")}return u.join("")}function PH(i){var u=i;return u=u.replace(/&/g,"&"),u=u.replace(//g,">"),u=u.replace(/"/g,"""),u}});var f9=Me(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});Object.defineProperty(w0,"Diff",{enumerable:!0,get:function(){return MH.default}});Object.defineProperty(w0,"diffChars",{enumerable:!0,get:function(){return FH.diffChars}});Object.defineProperty(w0,"diffWords",{enumerable:!0,get:function(){return o9.diffWords}});Object.defineProperty(w0,"diffWordsWithSpace",{enumerable:!0,get:function(){return o9.diffWordsWithSpace}});Object.defineProperty(w0,"diffLines",{enumerable:!0,get:function(){return u9.diffLines}});Object.defineProperty(w0,"diffTrimmedLines",{enumerable:!0,get:function(){return u9.diffTrimmedLines}});Object.defineProperty(w0,"diffSentences",{enumerable:!0,get:function(){return LH.diffSentences}});Object.defineProperty(w0,"diffCss",{enumerable:!0,get:function(){return RH.diffCss}});Object.defineProperty(w0,"diffJson",{enumerable:!0,get:function(){return s9.diffJson}});Object.defineProperty(w0,"canonicalize",{enumerable:!0,get:function(){return s9.canonicalize}});Object.defineProperty(w0,"diffArrays",{enumerable:!0,get:function(){return NH.diffArrays}});Object.defineProperty(w0,"applyPatch",{enumerable:!0,get:function(){return l9.applyPatch}});Object.defineProperty(w0,"applyPatches",{enumerable:!0,get:function(){return l9.applyPatches}});Object.defineProperty(w0,"parsePatch",{enumerable:!0,get:function(){return BH.parsePatch}});Object.defineProperty(w0,"merge",{enumerable:!0,get:function(){return jH.merge}});Object.defineProperty(w0,"structuredPatch",{enumerable:!0,get:function(){return xw.structuredPatch}});Object.defineProperty(w0,"createTwoFilesPatch",{enumerable:!0,get:function(){return xw.createTwoFilesPatch}});Object.defineProperty(w0,"createPatch",{enumerable:!0,get:function(){return xw.createPatch}});Object.defineProperty(w0,"convertChangesToDMP",{enumerable:!0,get:function(){return UH.convertChangesToDMP}});Object.defineProperty(w0,"convertChangesToXML",{enumerable:!0,get:function(){return qH.convertChangesToXML}});var MH=zH(rf()),FH=OT(),o9=MT(),u9=Em(),LH=FT(),RH=LT(),s9=NT(),NH=BT(),l9=zT(),BH=Tm(),jH=n9(),xw=ww(),UH=r9(),qH=i9();function zH(i){return i&&i.__esModule?i:{default:i}}});var HH={};jR(HH,{default:()=>GH});var wT=Er(require("@yarnpkg/cli")),Tc=Er(require("@yarnpkg/core"));var Z5=Er(ys()),Dc=Er(lr()),om=(0,Dc.memo)(({active:i})=>{let u=(0,Dc.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,Dc.useMemo)(()=>i?"green":"yellow",[i]);return Dc.default.createElement(Z5.Text,{color:f},u)});var Wf=Er(ys()),Bo=Er(lr());var eC=Er(ys()),um=Er(lr());function zf({active:i},u,f){let{stdin:c}=(0,eC.useStdin)(),g=(0,um.useCallback)((t,C)=>u(t,C),f);(0,um.useEffect)(()=>{if(!(!i||!c))return c.on("keypress",g),()=>{c.off("keypress",g)}},[i,g,c])}var sm;(function(f){f.BEFORE="before",f.AFTER="after"})(sm||(sm={}));var tC=function({active:i},u,f){zf({active:i},(c,g)=>{g.name==="tab"&&(g.shift?u(sm.BEFORE):u(sm.AFTER))},f)};var lm=function(i,u,{active:f,minus:c,plus:g,set:t,loop:C=!0}){zf({active:f},(A,x)=>{let D=u.indexOf(i);switch(x.name){case c:{let L=D-1;if(C){t(u[(u.length+L)%u.length]);return}if(L<0)return;t(u[L])}break;case g:{let L=D+1;if(C){t(u[L%u.length]);return}if(L>=u.length)return;t(u[L])}break}},[u,i,g,t,C])};var fm=({active:i=!0,children:u=[],radius:f=10,size:c=1,loop:g=!0,onFocusRequest:t,willReachEnd:C})=>{let A=ce=>{if(ce.key===null)throw new Error("Expected all children to have a key");return ce.key},x=Bo.default.Children.map(u,ce=>A(ce)),D=x[0],[L,N]=(0,Bo.useState)(D),j=x.indexOf(L);(0,Bo.useEffect)(()=>{x.includes(L)||N(D)},[u]),(0,Bo.useEffect)(()=>{C&&j>=x.length-2&&C()},[j]),tC({active:i&&!!t},ce=>{t==null||t(ce)},[t]),lm(L,x,{active:i,minus:"up",plus:"down",set:N,loop:g});let $=j-f,h=j+f;h>x.length&&($-=h-x.length,h=x.length),$<0&&(h+=-$,$=0),h>=x.length&&(h=x.length-1);let re=[];for(let ce=$;ce<=h;++ce){let Q=x[ce],oe=i&&Q===L;re.push(Bo.default.createElement(Wf.Box,{key:Q,height:c},Bo.default.createElement(Wf.Box,{marginLeft:1,marginRight:1},Bo.default.createElement(Wf.Text,null,oe?Bo.default.createElement(Wf.Text,{color:"cyan",bold:!0},">"):" ")),Bo.default.createElement(Wf.Box,null,Bo.default.cloneElement(u[ce],{active:oe}))))}return Bo.default.createElement(Wf.Box,{flexDirection:"column",width:"100%"},re)};var cm=Er(lr());var nC=Er(ys()),nf=Er(lr()),rC=Er(require("readline")),G3=nf.default.createContext(null),iC=({children:i})=>{let{stdin:u,setRawMode:f}=(0,nC.useStdin)();(0,nf.useEffect)(()=>{f&&f(!0),u&&(0,rC.emitKeypressEvents)(u)},[u,f]);let[c,g]=(0,nf.useState)(new Map),t=(0,nf.useMemo)(()=>({getAll:()=>c,get:C=>c.get(C),set:(C,A)=>g(new Map([...c,[C,A]]))}),[c,g]);return nf.default.createElement(G3.Provider,{value:t,children:i})};function Ec(i,u){let f=(0,cm.useContext)(G3);if(f===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof i=="undefined")return f.getAll();let c=(0,cm.useCallback)(t=>{f.set(i,t)},[i,f.set]),g=f.get(i);return typeof g=="undefined"&&(g=u),[g,c]}var am=Er(ys()),V3=Er(lr());async function dm(i,u){let f,c=t=>{let{exit:C}=(0,am.useApp)();zf({active:!0},(A,x)=>{x.name==="return"&&(f=t,C())},[C,t])},{waitUntilExit:g}=(0,am.render)(V3.default.createElement(iC,null,V3.default.createElement(i,zn(dt({},u),{useSubmit:c}))));return await g(),f}var DT=Er(require("clipanion")),ET=Er(lC()),un=Er(ys()),Pt=Er(lr());var yT=Er(_T()),cw={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},FW=(0,yT.default)(cw.appId,cw.apiKey).initIndex(cw.indexName),aw=async(i,u=0)=>await FW.search(i,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:u,hitsPerPage:10});var od=["regular","dev","peer"],ud=class extends wT.BaseCommand{async execute(){let u=await Tc.Configuration.find(this.context.cwd,this.context.plugins),f=()=>Pt.default.createElement(un.Box,{flexDirection:"row"},Pt.default.createElement(un.Box,{flexDirection:"column",width:48},Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},""),"/",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),c=()=>Pt.default.createElement(Pt.default.Fragment,null,Pt.default.createElement(un.Box,{width:15},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),Pt.default.createElement(un.Box,{width:11},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Version")),Pt.default.createElement(un.Box,{width:10},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),g=()=>Pt.default.createElement(un.Box,{width:17},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:$,active:h})=>{let[re,ce]=Ec($.name,null);zf({active:h},(Se,me)=>{if(me.name!=="space")return;if(!re){ce(od[0]);return}let De=od.indexOf(re)+1;De===od.length?ce(null):ce(od[De])},[re,ce]);let Q=Tc.structUtils.parseIdent($.name),oe=Tc.structUtils.prettyIdent(u,Q);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:45},Pt.default.createElement(un.Text,{bold:!0,wrap:"wrap"},oe)),Pt.default.createElement(un.Box,{width:14,marginLeft:1},Pt.default.createElement(un.Text,{bold:!0,wrap:"truncate"},$.owner.name)),Pt.default.createElement(un.Box,{width:10,marginLeft:1},Pt.default.createElement(un.Text,{italic:!0,wrap:"truncate"},$.version)),Pt.default.createElement(un.Box,{width:16,marginLeft:1},Pt.default.createElement(un.Text,null,$.humanDownloadsLast30Days)))},C=({name:$,active:h})=>{let[re]=Ec($,null),ce=Tc.structUtils.parseIdent($);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:47},Pt.default.createElement(un.Text,{bold:!0}," - ",Tc.structUtils.prettyIdent(u,ce))),od.map(Q=>Pt.default.createElement(un.Box,{key:Q,width:14,marginLeft:1},Pt.default.createElement(un.Text,null," ",Pt.default.createElement(om,{active:re===Q})," ",Pt.default.createElement(un.Text,{bold:!0},Q)))))},A=()=>Pt.default.createElement(un.Box,{marginTop:1},Pt.default.createElement(un.Text,null,"Powered by Algolia.")),D=await dm(({useSubmit:$})=>{let h=Ec();$(h);let re=Array.from(h.keys()).filter(Le=>h.get(Le)!==null),[ce,Q]=(0,Pt.useState)(""),[oe,Se]=(0,Pt.useState)(0),[me,De]=(0,Pt.useState)([]),J=Le=>{Le.match(/\t| /)||Q(Le)},Te=async()=>{Se(0);let Le=await aw(ce);Le.query===ce&&De(Le.hits)},Oe=async()=>{let Le=await aw(ce,oe+1);Le.query===ce&&Le.page-1===oe&&(Se(Le.page),De([...me,...Le.hits]))};return(0,Pt.useEffect)(()=>{ce?Te():De([])},[ce]),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(f,null),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Text,{bold:!0},"Search: "),Pt.default.createElement(un.Box,{width:41},Pt.default.createElement(ET.default,{value:ce,onChange:J,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),Pt.default.createElement(c,null)),me.length?Pt.default.createElement(fm,{radius:2,loop:!1,children:me.map(Le=>Pt.default.createElement(t,{key:Le.name,hit:Le,active:!1})),willReachEnd:Oe}):Pt.default.createElement(un.Text,{color:"gray"},"Start typing..."),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Box,{width:49},Pt.default.createElement(un.Text,{bold:!0},"Selected:")),Pt.default.createElement(g,null)),re.length?re.map(Le=>Pt.default.createElement(C,{key:Le,name:Le,active:!1})):Pt.default.createElement(un.Text,{color:"gray"},"No selected packages..."),Pt.default.createElement(A,null))},{});if(typeof D=="undefined")return 1;let L=Array.from(D.keys()).filter($=>D.get($)==="regular"),N=Array.from(D.keys()).filter($=>D.get($)==="dev"),j=Array.from(D.keys()).filter($=>D.get($)==="peer");return L.length&&await this.cli.run(["add",...L]),N.length&&await this.cli.run(["add","--dev",...N]),j&&await this.cli.run(["add","--peer",...j]),0}};ud.paths=[["search"]],ud.usage=DT.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]});var ST=ud;var Im=Er(require("@yarnpkg/cli")),W0=Er(require("@yarnpkg/core"));var sd=Er(ys()),bf=Er(lr());var CT=Er(ys()),TT=Er(lr()),wm=({length:i,active:u})=>{if(i===0)return null;let f=i>1?` ${"-".repeat(i-1)}`:" ";return TT.default.createElement(CT.Text,{dimColor:!u},f)};var xT=function({active:i,skewer:u,options:f,value:c,onChange:g,sizes:t=[]}){let C=f.filter(({label:x})=>!!x).map(({value:x})=>x),A=f.findIndex(x=>x.value===c&&x.label!="");return lm(c,C,{active:i,minus:"left",plus:"right",set:g}),bf.default.createElement(bf.default.Fragment,null,f.map(({label:x},D)=>{let L=D===A,N=t[D]-1||0,j=x.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),$=Math.max(0,N-j.length-2);return x?bf.default.createElement(sd.Box,{key:x,width:N,marginLeft:1},bf.default.createElement(sd.Text,{wrap:"truncate"},bf.default.createElement(om,{active:L})," ",x),u?bf.default.createElement(wm,{active:i,length:$}):null):bf.default.createElement(sd.Box,{key:`spacer-${D}`,width:N,marginLeft:1})}))};var c9=Er(require("@yarnpkg/plugin-essentials")),a9=Er(require("clipanion")),d9=Er(f9()),tr=Er(ys()),pn=Er(lr()),p9=Er(require("semver")),h9=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,WH=10,md=class extends Im.BaseCommand{async execute(){let u=await W0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:c}=await W0.Project.find(u,this.context.cwd),g=await W0.Cache.find(u);if(!c)throw new Im.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState({restoreResolutions:!1});let t=(Q,oe)=>{let Se=(0,d9.diffWords)(Q,oe),me="";for(let De of Se)De.added?me+=W0.formatUtils.pretty(u,De.value,"green"):De.removed||(me+=De.value);return me},C=(Q,oe)=>{if(Q===oe)return oe;let Se=W0.structUtils.parseRange(Q),me=W0.structUtils.parseRange(oe),De=Se.selector.match(h9),J=me.selector.match(h9);if(!De||!J)return t(Q,oe);let Te=["gray","red","yellow","green","magenta"],Oe=null,Le="";for(let ot=1;ot{let me=await c9.suggestUtils.fetchDescriptorFrom(Q,Se,{project:f,cache:g,preserveModifier:oe,workspace:c});return me!==null?me.range:Q.range},x=async Q=>{let oe=p9.default.valid(Q.range)?`^${Q.range}`:Q.range,[Se,me]=await Promise.all([A(Q,Q.range,oe).catch(()=>null),A(Q,Q.range,"latest").catch(()=>null)]),De=[{value:null,label:Q.range}];return Se&&Se!==Q.range?De.push({value:Se,label:C(Q.range,Se)}):De.push({value:null,label:""}),me&&me!==Se&&me!==Q.range?De.push({value:me,label:C(Q.range,me)}):De.push({value:null,label:""}),De},D=()=>pn.default.createElement(tr.Box,{flexDirection:"row"},pn.default.createElement(tr.Box,{flexDirection:"column",width:49},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to install.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),L=()=>pn.default.createElement(tr.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},pn.default.createElement(tr.Box,{width:50},pn.default.createElement(tr.Text,{bold:!0},pn.default.createElement(tr.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Current")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Range")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),N=({active:Q,descriptor:oe,suggestions:Se})=>{let[me,De]=Ec(oe.descriptorHash,null),J=W0.structUtils.stringifyIdent(oe),Te=Math.max(0,45-J.length);return pn.default.createElement(pn.default.Fragment,null,pn.default.createElement(tr.Box,null,pn.default.createElement(tr.Box,{width:45},pn.default.createElement(tr.Text,{bold:!0},W0.structUtils.prettyIdent(u,oe)),pn.default.createElement(wm,{active:Q,length:Te})),Se!==null?pn.default.createElement(xT,{active:Q,options:Se,value:me,skewer:!0,onChange:De,sizes:[17,17,17]}):pn.default.createElement(tr.Box,{marginLeft:2},pn.default.createElement(tr.Text,{color:"gray"},"Fetching suggestions..."))))},j=({dependencies:Q})=>{let[oe,Se]=(0,pn.useState)(null),me=(0,pn.useRef)(!0);return(0,pn.useEffect)(()=>()=>{me.current=!1}),(0,pn.useEffect)(()=>{Promise.all(Q.map(De=>x(De))).then(De=>{let J=Q.map((Te,Oe)=>{let Le=De[Oe];return[Te,Le]}).filter(([Te,Oe])=>Oe.filter(Le=>Le.label!=="").length>1);me.current&&Se(J)})},[]),oe?oe.length?pn.default.createElement(fm,{radius:WH,children:oe.map(([De,J])=>pn.default.createElement(N,{key:De.descriptorHash,active:!1,descriptor:De,suggestions:J}))}):pn.default.createElement(tr.Text,null,"No upgrades found"):pn.default.createElement(tr.Text,null,"Fetching suggestions...")},h=await dm(({useSubmit:Q})=>{Q(Ec());let oe=new Map;for(let me of f.workspaces)for(let De of["dependencies","devDependencies"])for(let J of me.manifest[De].values())f.tryWorkspaceByDescriptor(J)===null&&oe.set(J.descriptorHash,J);let Se=W0.miscUtils.sortMap(oe.values(),me=>W0.structUtils.stringifyDescriptor(me));return pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(D,null),pn.default.createElement(L,null),pn.default.createElement(j,{dependencies:Se}))},{});if(typeof h=="undefined")return 1;let re=!1;for(let Q of f.workspaces)for(let oe of["dependencies","devDependencies"]){let Se=Q.manifest[oe];for(let me of Se.values()){let De=h.get(me.descriptorHash);typeof De!="undefined"&&De!==null&&(Se.set(me.identHash,W0.structUtils.makeDescriptor(me,De)),re=!0)}}return re?(await W0.StreamReport.start({configuration:u,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Q=>{await f.install({cache:g,report:Q})})).exitCode():0}};md.paths=[["upgrade-interactive"]],md.usage=a9.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var m9=md;var bH={commands:[ST,m9]},GH=bH;return HH;})(); +/* +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.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.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.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/.yarn/plugins/@yarnpkg/plugin-version.cjs b/.yarn/plugins/@yarnpkg/plugin-version.cjs new file mode 100644 index 00000000..a2e62fd0 --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-version.cjs @@ -0,0 +1,367 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@yarnpkg/plugin-version", +factory: function (require) { +var plugin=(()=>{var Fj=Object.create,t2=Object.defineProperty,Rj=Object.defineProperties,Lj=Object.getOwnPropertyDescriptor,Nj=Object.getOwnPropertyDescriptors,Bj=Object.getOwnPropertyNames,lD=Object.getOwnPropertySymbols,jj=Object.getPrototypeOf,fD=Object.prototype.hasOwnProperty,Uj=Object.prototype.propertyIsEnumerable;var cD=(i,u,f)=>u in i?t2(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,t0=(i,u)=>{for(var f in u||(u={}))fD.call(u,f)&&cD(i,f,u[f]);if(lD)for(var f of lD(u))Uj.call(u,f)&&cD(i,f,u[f]);return i},is=(i,u)=>Rj(i,Nj(u)),qj=i=>t2(i,"__esModule",{value:!0});var Z=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),aD=(i,u)=>{for(var f in u)t2(i,f,{get:u[f],enumerable:!0})},bj=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let a of Bj(u))!fD.call(i,a)&&a!=="default"&&t2(i,a,{get:()=>u[a],enumerable:!(f=Lj(u,a))||f.enumerable});return i},ur=i=>bj(qj(t2(i!=null?Fj(jj(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var K4=Z((cZ,dD)=>{function zj(i,u){for(var f=-1,a=i==null?0:i.length,g=Array(a);++f{function Wj(){this.__data__=[],this.size=0}pD.exports=Wj});var X4=Z((dZ,vD)=>{function Hj(i,u){return i===u||i!==i&&u!==u}vD.exports=Hj});var n2=Z((pZ,mD)=>{var Gj=X4();function Vj(i,u){for(var f=i.length;f--;)if(Gj(i[f][0],u))return f;return-1}mD.exports=Vj});var _D=Z((hZ,gD)=>{var Yj=n2(),$j=Array.prototype,Kj=$j.splice;function Xj(i){var u=this.__data__,f=Yj(u,i);if(f<0)return!1;var a=u.length-1;return f==a?u.pop():Kj.call(u,f,1),--this.size,!0}gD.exports=Xj});var wD=Z((vZ,yD)=>{var Jj=n2();function Qj(i){var u=this.__data__,f=Jj(u,i);return f<0?void 0:u[f][1]}yD.exports=Qj});var ED=Z((mZ,DD)=>{var Zj=n2();function eU(i){return Zj(this.__data__,i)>-1}DD.exports=eU});var CD=Z((gZ,SD)=>{var tU=n2();function nU(i,u){var f=this.__data__,a=tU(f,i);return a<0?(++this.size,f.push([i,u])):f[a][1]=u,this}SD.exports=nU});var r2=Z((_Z,TD)=>{var rU=hD(),iU=_D(),oU=wD(),uU=ED(),sU=CD();function pa(i){var u=-1,f=i==null?0:i.length;for(this.clear();++u{var lU=r2();function fU(){this.__data__=new lU,this.size=0}xD.exports=fU});var OD=Z((wZ,AD)=>{function cU(i){var u=this.__data__,f=u.delete(i);return this.size=u.size,f}AD.exports=cU});var PD=Z((DZ,ID)=>{function aU(i){return this.__data__.get(i)}ID.exports=aU});var FD=Z((EZ,MD)=>{function dU(i){return this.__data__.has(i)}MD.exports=dU});var J4=Z((SZ,RD)=>{var pU=typeof global=="object"&&global&&global.Object===Object&&global;RD.exports=pU});var os=Z((CZ,LD)=>{var hU=J4(),vU=typeof self=="object"&&self&&self.Object===Object&&self,mU=hU||vU||Function("return this")();LD.exports=mU});var ha=Z((TZ,ND)=>{var gU=os(),_U=gU.Symbol;ND.exports=_U});var qD=Z((xZ,BD)=>{var jD=ha(),UD=Object.prototype,yU=UD.hasOwnProperty,wU=UD.toString,i2=jD?jD.toStringTag:void 0;function DU(i){var u=yU.call(i,i2),f=i[i2];try{i[i2]=void 0;var a=!0}catch(t){}var g=wU.call(i);return a&&(u?i[i2]=f:delete i[i2]),g}BD.exports=DU});var zD=Z((kZ,bD)=>{var EU=Object.prototype,SU=EU.toString;function CU(i){return SU.call(i)}bD.exports=CU});var dc=Z((AZ,WD)=>{var HD=ha(),TU=qD(),xU=zD(),kU="[object Null]",AU="[object Undefined]",GD=HD?HD.toStringTag:void 0;function OU(i){return i==null?i===void 0?AU:kU:GD&&GD in Object(i)?TU(i):xU(i)}WD.exports=OU});var va=Z((OZ,VD)=>{function IU(i){var u=typeof i;return i!=null&&(u=="object"||u=="function")}VD.exports=IU});var Q4=Z((IZ,YD)=>{var PU=dc(),MU=va(),FU="[object AsyncFunction]",RU="[object Function]",LU="[object GeneratorFunction]",NU="[object Proxy]";function BU(i){if(!MU(i))return!1;var u=PU(i);return u==RU||u==LU||u==FU||u==NU}YD.exports=BU});var KD=Z((PZ,$D)=>{var jU=os(),UU=jU["__core-js_shared__"];$D.exports=UU});var QD=Z((MZ,XD)=>{var Z4=KD(),JD=function(){var i=/[^.]+$/.exec(Z4&&Z4.keys&&Z4.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function qU(i){return!!JD&&JD in i}XD.exports=qU});var ey=Z((FZ,ZD)=>{var bU=Function.prototype,zU=bU.toString;function WU(i){if(i!=null){try{return zU.call(i)}catch(u){}try{return i+""}catch(u){}}return""}ZD.exports=WU});var tE=Z((RZ,eE)=>{var HU=Q4(),GU=QD(),VU=va(),YU=ey(),$U=/[\\^$.*+?()[\]{}|]/g,KU=/^\[object .+?Constructor\]$/,XU=Function.prototype,JU=Object.prototype,QU=XU.toString,ZU=JU.hasOwnProperty,eq=RegExp("^"+QU.call(ZU).replace($U,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tq(i){if(!VU(i)||GU(i))return!1;var u=HU(i)?eq:KU;return u.test(YU(i))}eE.exports=tq});var rE=Z((LZ,nE)=>{function nq(i,u){return i==null?void 0:i[u]}nE.exports=nq});var Mf=Z((NZ,iE)=>{var rq=tE(),iq=rE();function oq(i,u){var f=iq(i,u);return rq(f)?f:void 0}iE.exports=oq});var hh=Z((BZ,oE)=>{var uq=Mf(),sq=os(),lq=uq(sq,"Map");oE.exports=lq});var o2=Z((jZ,uE)=>{var fq=Mf(),cq=fq(Object,"create");uE.exports=cq});var fE=Z((UZ,sE)=>{var lE=o2();function aq(){this.__data__=lE?lE(null):{},this.size=0}sE.exports=aq});var aE=Z((qZ,cE)=>{function dq(i){var u=this.has(i)&&delete this.__data__[i];return this.size-=u?1:0,u}cE.exports=dq});var pE=Z((bZ,dE)=>{var pq=o2(),hq="__lodash_hash_undefined__",vq=Object.prototype,mq=vq.hasOwnProperty;function gq(i){var u=this.__data__;if(pq){var f=u[i];return f===hq?void 0:f}return mq.call(u,i)?u[i]:void 0}dE.exports=gq});var vE=Z((zZ,hE)=>{var _q=o2(),yq=Object.prototype,wq=yq.hasOwnProperty;function Dq(i){var u=this.__data__;return _q?u[i]!==void 0:wq.call(u,i)}hE.exports=Dq});var gE=Z((WZ,mE)=>{var Eq=o2(),Sq="__lodash_hash_undefined__";function Cq(i,u){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=Eq&&u===void 0?Sq:u,this}mE.exports=Cq});var yE=Z((HZ,_E)=>{var Tq=fE(),xq=aE(),kq=pE(),Aq=vE(),Oq=gE();function ma(i){var u=-1,f=i==null?0:i.length;for(this.clear();++u{var DE=yE(),Iq=r2(),Pq=hh();function Mq(){this.size=0,this.__data__={hash:new DE,map:new(Pq||Iq),string:new DE}}wE.exports=Mq});var CE=Z((VZ,SE)=>{function Fq(i){var u=typeof i;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?i!=="__proto__":i===null}SE.exports=Fq});var u2=Z((YZ,TE)=>{var Rq=CE();function Lq(i,u){var f=i.__data__;return Rq(u)?f[typeof u=="string"?"string":"hash"]:f.map}TE.exports=Lq});var kE=Z(($Z,xE)=>{var Nq=u2();function Bq(i){var u=Nq(this,i).delete(i);return this.size-=u?1:0,u}xE.exports=Bq});var OE=Z((KZ,AE)=>{var jq=u2();function Uq(i){return jq(this,i).get(i)}AE.exports=Uq});var PE=Z((XZ,IE)=>{var qq=u2();function bq(i){return qq(this,i).has(i)}IE.exports=bq});var FE=Z((JZ,ME)=>{var zq=u2();function Wq(i,u){var f=zq(this,i),a=f.size;return f.set(i,u),this.size+=f.size==a?0:1,this}ME.exports=Wq});var ty=Z((QZ,RE)=>{var Hq=EE(),Gq=kE(),Vq=OE(),Yq=PE(),$q=FE();function ga(i){var u=-1,f=i==null?0:i.length;for(this.clear();++u{var Kq=r2(),Xq=hh(),Jq=ty(),Qq=200;function Zq(i,u){var f=this.__data__;if(f instanceof Kq){var a=f.__data__;if(!Xq||a.length{var eb=r2(),tb=kD(),nb=OD(),rb=PD(),ib=FD(),ob=NE();function ya(i){var u=this.__data__=new eb(i);this.size=u.size}ya.prototype.clear=tb;ya.prototype.delete=nb;ya.prototype.get=rb;ya.prototype.has=ib;ya.prototype.set=ob;BE.exports=ya});var qE=Z((tee,UE)=>{function ub(i,u){for(var f=-1,a=i==null?0:i.length;++f{var sb=Mf(),lb=function(){try{var i=sb(Object,"defineProperty");return i({},"",{}),i}catch(u){}}();bE.exports=lb});var ry=Z((ree,zE)=>{var WE=ny();function fb(i,u,f){u=="__proto__"&&WE?WE(i,u,{configurable:!0,enumerable:!0,value:f,writable:!0}):i[u]=f}zE.exports=fb});var iy=Z((iee,HE)=>{var cb=ry(),ab=X4(),db=Object.prototype,pb=db.hasOwnProperty;function hb(i,u,f){var a=i[u];(!(pb.call(i,u)&&ab(a,f))||f===void 0&&!(u in i))&&cb(i,u,f)}HE.exports=hb});var wa=Z((oee,GE)=>{var vb=iy(),mb=ry();function gb(i,u,f,a){var g=!f;f||(f={});for(var t=-1,x=u.length;++t{function _b(i,u){for(var f=-1,a=Array(i);++f{function yb(i){return i!=null&&typeof i=="object"}$E.exports=yb});var XE=Z((lee,KE)=>{var wb=dc(),Db=Ff(),Eb="[object Arguments]";function Sb(i){return Db(i)&&wb(i)==Eb}KE.exports=Sb});var oy=Z((fee,JE)=>{var QE=XE(),Cb=Ff(),ZE=Object.prototype,Tb=ZE.hasOwnProperty,xb=ZE.propertyIsEnumerable,kb=QE(function(){return arguments}())?QE:function(i){return Cb(i)&&Tb.call(i,"callee")&&!xb.call(i,"callee")};JE.exports=kb});var Rf=Z((cee,e6)=>{var Ab=Array.isArray;e6.exports=Ab});var n6=Z((aee,t6)=>{function Ob(){return!1}t6.exports=Ob});var uy=Z((s2,Da)=>{var Ib=os(),Pb=n6(),r6=typeof s2=="object"&&s2&&!s2.nodeType&&s2,i6=r6&&typeof Da=="object"&&Da&&!Da.nodeType&&Da,Mb=i6&&i6.exports===r6,o6=Mb?Ib.Buffer:void 0,Fb=o6?o6.isBuffer:void 0,Rb=Fb||Pb;Da.exports=Rb});var s6=Z((dee,u6)=>{var Lb=9007199254740991,Nb=/^(?:0|[1-9]\d*)$/;function Bb(i,u){var f=typeof i;return u=u==null?Lb:u,!!u&&(f=="number"||f!="symbol"&&Nb.test(i))&&i>-1&&i%1==0&&i{var jb=9007199254740991;function Ub(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=jb}l6.exports=Ub});var c6=Z((hee,f6)=>{var qb=dc(),bb=sy(),zb=Ff(),Wb="[object Arguments]",Hb="[object Array]",Gb="[object Boolean]",Vb="[object Date]",Yb="[object Error]",$b="[object Function]",Kb="[object Map]",Xb="[object Number]",Jb="[object Object]",Qb="[object RegExp]",Zb="[object Set]",ez="[object String]",tz="[object WeakMap]",nz="[object ArrayBuffer]",rz="[object DataView]",iz="[object Float32Array]",oz="[object Float64Array]",uz="[object Int8Array]",sz="[object Int16Array]",lz="[object Int32Array]",fz="[object Uint8Array]",cz="[object Uint8ClampedArray]",az="[object Uint16Array]",dz="[object Uint32Array]",Kr={};Kr[iz]=Kr[oz]=Kr[uz]=Kr[sz]=Kr[lz]=Kr[fz]=Kr[cz]=Kr[az]=Kr[dz]=!0;Kr[Wb]=Kr[Hb]=Kr[nz]=Kr[Gb]=Kr[rz]=Kr[Vb]=Kr[Yb]=Kr[$b]=Kr[Kb]=Kr[Xb]=Kr[Jb]=Kr[Qb]=Kr[Zb]=Kr[ez]=Kr[tz]=!1;function pz(i){return zb(i)&&bb(i.length)&&!!Kr[qb(i)]}f6.exports=pz});var vh=Z((vee,a6)=>{function hz(i){return function(u){return i(u)}}a6.exports=hz});var mh=Z((l2,Ea)=>{var vz=J4(),d6=typeof l2=="object"&&l2&&!l2.nodeType&&l2,f2=d6&&typeof Ea=="object"&&Ea&&!Ea.nodeType&&Ea,mz=f2&&f2.exports===d6,ly=mz&&vz.process,gz=function(){try{var i=f2&&f2.require&&f2.require("util").types;return i||ly&&ly.binding&&ly.binding("util")}catch(u){}}();Ea.exports=gz});var m6=Z((mee,p6)=>{var _z=c6(),yz=vh(),h6=mh(),v6=h6&&h6.isTypedArray,wz=v6?yz(v6):_z;p6.exports=wz});var fy=Z((gee,g6)=>{var Dz=YE(),Ez=oy(),Sz=Rf(),Cz=uy(),Tz=s6(),xz=m6(),kz=Object.prototype,Az=kz.hasOwnProperty;function Oz(i,u){var f=Sz(i),a=!f&&Ez(i),g=!f&&!a&&Cz(i),t=!f&&!a&&!g&&xz(i),x=f||a||g||t,A=x?Dz(i.length,String):[],k=A.length;for(var D in i)(u||Az.call(i,D))&&!(x&&(D=="length"||g&&(D=="offset"||D=="parent")||t&&(D=="buffer"||D=="byteLength"||D=="byteOffset")||Tz(D,k)))&&A.push(D);return A}g6.exports=Oz});var gh=Z((_ee,_6)=>{var Iz=Object.prototype;function Pz(i){var u=i&&i.constructor,f=typeof u=="function"&&u.prototype||Iz;return i===f}_6.exports=Pz});var cy=Z((yee,y6)=>{function Mz(i,u){return function(f){return i(u(f))}}y6.exports=Mz});var D6=Z((wee,w6)=>{var Fz=cy(),Rz=Fz(Object.keys,Object);w6.exports=Rz});var S6=Z((Dee,E6)=>{var Lz=gh(),Nz=D6(),Bz=Object.prototype,jz=Bz.hasOwnProperty;function Uz(i){if(!Lz(i))return Nz(i);var u=[];for(var f in Object(i))jz.call(i,f)&&f!="constructor"&&u.push(f);return u}E6.exports=Uz});var ay=Z((Eee,C6)=>{var qz=Q4(),bz=sy();function zz(i){return i!=null&&bz(i.length)&&!qz(i)}C6.exports=zz});var _h=Z((See,T6)=>{var Wz=fy(),Hz=S6(),Gz=ay();function Vz(i){return Gz(i)?Wz(i):Hz(i)}T6.exports=Vz});var k6=Z((Cee,x6)=>{var Yz=wa(),$z=_h();function Kz(i,u){return i&&Yz(u,$z(u),i)}x6.exports=Kz});var O6=Z((Tee,A6)=>{function Xz(i){var u=[];if(i!=null)for(var f in Object(i))u.push(f);return u}A6.exports=Xz});var P6=Z((xee,I6)=>{var Jz=va(),Qz=gh(),Zz=O6(),eW=Object.prototype,tW=eW.hasOwnProperty;function nW(i){if(!Jz(i))return Zz(i);var u=Qz(i),f=[];for(var a in i)a=="constructor"&&(u||!tW.call(i,a))||f.push(a);return f}I6.exports=nW});var yh=Z((kee,M6)=>{var rW=fy(),iW=P6(),oW=ay();function uW(i){return oW(i)?rW(i,!0):iW(i)}M6.exports=uW});var R6=Z((Aee,F6)=>{var sW=wa(),lW=yh();function fW(i,u){return i&&sW(u,lW(u),i)}F6.exports=fW});var U6=Z((c2,Sa)=>{var cW=os(),L6=typeof c2=="object"&&c2&&!c2.nodeType&&c2,N6=L6&&typeof Sa=="object"&&Sa&&!Sa.nodeType&&Sa,aW=N6&&N6.exports===L6,B6=aW?cW.Buffer:void 0,j6=B6?B6.allocUnsafe:void 0;function dW(i,u){if(u)return i.slice();var f=i.length,a=j6?j6(f):new i.constructor(f);return i.copy(a),a}Sa.exports=dW});var b6=Z((Oee,q6)=>{function pW(i,u){var f=-1,a=i.length;for(u||(u=Array(a));++f{function hW(i,u){for(var f=-1,a=i==null?0:i.length,g=0,t=[];++f{function vW(){return[]}H6.exports=vW});var wh=Z((Mee,G6)=>{var mW=W6(),gW=dy(),_W=Object.prototype,yW=_W.propertyIsEnumerable,V6=Object.getOwnPropertySymbols,wW=V6?function(i){return i==null?[]:(i=Object(i),mW(V6(i),function(u){return yW.call(i,u)}))}:gW;G6.exports=wW});var $6=Z((Fee,Y6)=>{var DW=wa(),EW=wh();function SW(i,u){return DW(i,EW(i),u)}Y6.exports=SW});var Dh=Z((Ree,K6)=>{function CW(i,u){for(var f=-1,a=u.length,g=i.length;++f{var TW=cy(),xW=TW(Object.getPrototypeOf,Object);X6.exports=xW});var py=Z((Nee,J6)=>{var kW=Dh(),AW=Eh(),OW=wh(),IW=dy(),PW=Object.getOwnPropertySymbols,MW=PW?function(i){for(var u=[];i;)kW(u,OW(i)),i=AW(i);return u}:IW;J6.exports=MW});var Z6=Z((Bee,Q6)=>{var FW=wa(),RW=py();function LW(i,u){return FW(i,RW(i),u)}Q6.exports=LW});var hy=Z((jee,eS)=>{var NW=Dh(),BW=Rf();function jW(i,u,f){var a=u(i);return BW(i)?a:NW(a,f(i))}eS.exports=jW});var nS=Z((Uee,tS)=>{var UW=hy(),qW=wh(),bW=_h();function zW(i){return UW(i,bW,qW)}tS.exports=zW});var vy=Z((qee,rS)=>{var WW=hy(),HW=py(),GW=yh();function VW(i){return WW(i,GW,HW)}rS.exports=VW});var oS=Z((bee,iS)=>{var YW=Mf(),$W=os(),KW=YW($W,"DataView");iS.exports=KW});var sS=Z((zee,uS)=>{var XW=Mf(),JW=os(),QW=XW(JW,"Promise");uS.exports=QW});var fS=Z((Wee,lS)=>{var ZW=Mf(),eH=os(),tH=ZW(eH,"Set");lS.exports=tH});var aS=Z((Hee,cS)=>{var nH=Mf(),rH=os(),iH=nH(rH,"WeakMap");cS.exports=iH});var Sh=Z((Gee,dS)=>{var my=oS(),gy=hh(),_y=sS(),yy=fS(),wy=aS(),pS=dc(),Ca=ey(),hS="[object Map]",oH="[object Object]",vS="[object Promise]",mS="[object Set]",gS="[object WeakMap]",_S="[object DataView]",uH=Ca(my),sH=Ca(gy),lH=Ca(_y),fH=Ca(yy),cH=Ca(wy),pc=pS;(my&&pc(new my(new ArrayBuffer(1)))!=_S||gy&&pc(new gy)!=hS||_y&&pc(_y.resolve())!=vS||yy&&pc(new yy)!=mS||wy&&pc(new wy)!=gS)&&(pc=function(i){var u=pS(i),f=u==oH?i.constructor:void 0,a=f?Ca(f):"";if(a)switch(a){case uH:return _S;case sH:return hS;case lH:return vS;case fH:return mS;case cH:return gS}return u});dS.exports=pc});var wS=Z((Vee,yS)=>{var aH=Object.prototype,dH=aH.hasOwnProperty;function pH(i){var u=i.length,f=new i.constructor(u);return u&&typeof i[0]=="string"&&dH.call(i,"index")&&(f.index=i.index,f.input=i.input),f}yS.exports=pH});var ES=Z((Yee,DS)=>{var hH=os(),vH=hH.Uint8Array;DS.exports=vH});var Ch=Z(($ee,SS)=>{var CS=ES();function mH(i){var u=new i.constructor(i.byteLength);return new CS(u).set(new CS(i)),u}SS.exports=mH});var xS=Z((Kee,TS)=>{var gH=Ch();function _H(i,u){var f=u?gH(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}TS.exports=_H});var AS=Z((Xee,kS)=>{var yH=/\w*$/;function wH(i){var u=new i.constructor(i.source,yH.exec(i));return u.lastIndex=i.lastIndex,u}kS.exports=wH});var RS=Z((Jee,OS)=>{var IS=ha(),PS=IS?IS.prototype:void 0,MS=PS?PS.valueOf:void 0;function DH(i){return MS?Object(MS.call(i)):{}}OS.exports=DH});var NS=Z((Qee,LS)=>{var EH=Ch();function SH(i,u){var f=u?EH(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.length)}LS.exports=SH});var jS=Z((Zee,BS)=>{var CH=Ch(),TH=xS(),xH=AS(),kH=RS(),AH=NS(),OH="[object Boolean]",IH="[object Date]",PH="[object Map]",MH="[object Number]",FH="[object RegExp]",RH="[object Set]",LH="[object String]",NH="[object Symbol]",BH="[object ArrayBuffer]",jH="[object DataView]",UH="[object Float32Array]",qH="[object Float64Array]",bH="[object Int8Array]",zH="[object Int16Array]",WH="[object Int32Array]",HH="[object Uint8Array]",GH="[object Uint8ClampedArray]",VH="[object Uint16Array]",YH="[object Uint32Array]";function $H(i,u,f){var a=i.constructor;switch(u){case BH:return CH(i);case OH:case IH:return new a(+i);case jH:return TH(i,f);case UH:case qH:case bH:case zH:case WH:case HH:case GH:case VH:case YH:return AH(i,f);case PH:return new a;case MH:case LH:return new a(i);case FH:return xH(i);case RH:return new a;case NH:return kH(i)}}BS.exports=$H});var bS=Z((ete,US)=>{var KH=va(),qS=Object.create,XH=function(){function i(){}return function(u){if(!KH(u))return{};if(qS)return qS(u);i.prototype=u;var f=new i;return i.prototype=void 0,f}}();US.exports=XH});var WS=Z((tte,zS)=>{var JH=bS(),QH=Eh(),ZH=gh();function eG(i){return typeof i.constructor=="function"&&!ZH(i)?JH(QH(i)):{}}zS.exports=eG});var GS=Z((nte,HS)=>{var tG=Sh(),nG=Ff(),rG="[object Map]";function iG(i){return nG(i)&&tG(i)==rG}HS.exports=iG});var KS=Z((rte,VS)=>{var oG=GS(),uG=vh(),YS=mh(),$S=YS&&YS.isMap,sG=$S?uG($S):oG;VS.exports=sG});var JS=Z((ite,XS)=>{var lG=Sh(),fG=Ff(),cG="[object Set]";function aG(i){return fG(i)&&lG(i)==cG}XS.exports=aG});var tC=Z((ote,QS)=>{var dG=JS(),pG=vh(),ZS=mh(),eC=ZS&&ZS.isSet,hG=eC?pG(eC):dG;QS.exports=hG});var uC=Z((ute,nC)=>{var vG=jE(),mG=qE(),gG=iy(),_G=k6(),yG=R6(),wG=U6(),DG=b6(),EG=$6(),SG=Z6(),CG=nS(),TG=vy(),xG=Sh(),kG=wS(),AG=jS(),OG=WS(),IG=Rf(),PG=uy(),MG=KS(),FG=va(),RG=tC(),LG=_h(),NG=yh(),BG=1,jG=2,UG=4,rC="[object Arguments]",qG="[object Array]",bG="[object Boolean]",zG="[object Date]",WG="[object Error]",iC="[object Function]",HG="[object GeneratorFunction]",GG="[object Map]",VG="[object Number]",oC="[object Object]",YG="[object RegExp]",$G="[object Set]",KG="[object String]",XG="[object Symbol]",JG="[object WeakMap]",QG="[object ArrayBuffer]",ZG="[object DataView]",eV="[object Float32Array]",tV="[object Float64Array]",nV="[object Int8Array]",rV="[object Int16Array]",iV="[object Int32Array]",oV="[object Uint8Array]",uV="[object Uint8ClampedArray]",sV="[object Uint16Array]",lV="[object Uint32Array]",br={};br[rC]=br[qG]=br[QG]=br[ZG]=br[bG]=br[zG]=br[eV]=br[tV]=br[nV]=br[rV]=br[iV]=br[GG]=br[VG]=br[oC]=br[YG]=br[$G]=br[KG]=br[XG]=br[oV]=br[uV]=br[sV]=br[lV]=!0;br[WG]=br[iC]=br[JG]=!1;function Th(i,u,f,a,g,t){var x,A=u&BG,k=u&jG,D=u&UG;if(f&&(x=g?f(i,a,g,t):f(i)),x!==void 0)return x;if(!FG(i))return i;var L=IG(i);if(L){if(x=kG(i),!A)return DG(i,x)}else{var B=xG(i),b=B==iC||B==HG;if(PG(i))return wG(i,A);if(B==oC||B==rC||b&&!g){if(x=k||b?{}:OG(i),!A)return k?SG(i,yG(x,i)):EG(i,_G(x,i))}else{if(!br[B])return g?i:{};x=AG(i,B,A)}}t||(t=new vG);var $=t.get(i);if($)return $;t.set(i,x),RG(i)?i.forEach(function(he){x.add(Th(he,u,f,he,i,t))}):MG(i)&&i.forEach(function(he,ue){x.set(ue,Th(he,u,f,ue,i,t))});var v=D?k?TG:CG:k?NG:LG,ve=L?void 0:v(i);return mG(ve||i,function(he,ue){ve&&(ue=he,he=i[ue]),gG(x,ue,Th(he,u,f,ue,i,t))}),x}nC.exports=Th});var xh=Z((ste,sC)=>{var fV=dc(),cV=Ff(),aV="[object Symbol]";function dV(i){return typeof i=="symbol"||cV(i)&&fV(i)==aV}sC.exports=dV});var fC=Z((lte,lC)=>{var pV=Rf(),hV=xh(),vV=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mV=/^\w*$/;function gV(i,u){if(pV(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||hV(i)?!0:mV.test(i)||!vV.test(i)||u!=null&&i in Object(u)}lC.exports=gV});var dC=Z((fte,cC)=>{var aC=ty(),_V="Expected a function";function Dy(i,u){if(typeof i!="function"||u!=null&&typeof u!="function")throw new TypeError(_V);var f=function(){var a=arguments,g=u?u.apply(this,a):a[0],t=f.cache;if(t.has(g))return t.get(g);var x=i.apply(this,a);return f.cache=t.set(g,x)||t,x};return f.cache=new(Dy.Cache||aC),f}Dy.Cache=aC;cC.exports=Dy});var hC=Z((cte,pC)=>{var yV=dC(),wV=500;function DV(i){var u=yV(i,function(a){return f.size===wV&&f.clear(),a}),f=u.cache;return u}pC.exports=DV});var mC=Z((ate,vC)=>{var EV=hC(),SV=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,CV=/\\(\\)?/g,TV=EV(function(i){var u=[];return i.charCodeAt(0)===46&&u.push(""),i.replace(SV,function(f,a,g,t){u.push(g?t.replace(CV,"$1"):a||f)}),u});vC.exports=TV});var EC=Z((dte,gC)=>{var _C=ha(),xV=K4(),kV=Rf(),AV=xh(),OV=1/0,yC=_C?_C.prototype:void 0,wC=yC?yC.toString:void 0;function DC(i){if(typeof i=="string")return i;if(kV(i))return xV(i,DC)+"";if(AV(i))return wC?wC.call(i):"";var u=i+"";return u=="0"&&1/i==-OV?"-0":u}gC.exports=DC});var CC=Z((pte,SC)=>{var IV=EC();function PV(i){return i==null?"":IV(i)}SC.exports=PV});var kh=Z((hte,TC)=>{var MV=Rf(),FV=fC(),RV=mC(),LV=CC();function NV(i,u){return MV(i)?i:FV(i,u)?[i]:RV(LV(i))}TC.exports=NV});var kC=Z((vte,xC)=>{function BV(i){var u=i==null?0:i.length;return u?i[u-1]:void 0}xC.exports=BV});var Ey=Z((mte,AC)=>{var jV=xh(),UV=1/0;function qV(i){if(typeof i=="string"||jV(i))return i;var u=i+"";return u=="0"&&1/i==-UV?"-0":u}AC.exports=qV});var IC=Z((gte,OC)=>{var bV=kh(),zV=Ey();function WV(i,u){u=bV(u,i);for(var f=0,a=u.length;i!=null&&f{function HV(i,u,f){var a=-1,g=i.length;u<0&&(u=-u>g?0:g+u),f=f>g?g:f,f<0&&(f+=g),g=u>f?0:f-u>>>0,u>>>=0;for(var t=Array(g);++a{var GV=IC(),VV=MC();function YV(i,u){return u.length<2?i:GV(i,VV(u,0,-1))}FC.exports=YV});var NC=Z((wte,LC)=>{var $V=kh(),KV=kC(),XV=RC(),JV=Ey();function QV(i,u){return u=$V(u,i),i=XV(i,u),i==null||delete i[JV(KV(u))]}LC.exports=QV});var UC=Z((Dte,BC)=>{var ZV=dc(),eY=Eh(),tY=Ff(),nY="[object Object]",rY=Function.prototype,iY=Object.prototype,jC=rY.toString,oY=iY.hasOwnProperty,uY=jC.call(Object);function sY(i){if(!tY(i)||ZV(i)!=nY)return!1;var u=eY(i);if(u===null)return!0;var f=oY.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&jC.call(f)==uY}BC.exports=sY});var bC=Z((Ete,qC)=>{var lY=UC();function fY(i){return lY(i)?void 0:i}qC.exports=fY});var GC=Z((Ste,zC)=>{var WC=ha(),cY=oy(),aY=Rf(),HC=WC?WC.isConcatSpreadable:void 0;function dY(i){return aY(i)||cY(i)||!!(HC&&i&&i[HC])}zC.exports=dY});var $C=Z((Cte,VC)=>{var pY=Dh(),hY=GC();function YC(i,u,f,a,g){var t=-1,x=i.length;for(f||(f=hY),g||(g=[]);++t0&&f(A)?u>1?YC(A,u-1,f,a,g):pY(g,A):a||(g[g.length]=A)}return g}VC.exports=YC});var XC=Z((Tte,KC)=>{var vY=$C();function mY(i){var u=i==null?0:i.length;return u?vY(i,1):[]}KC.exports=mY});var QC=Z((xte,JC)=>{function gY(i,u,f){switch(f.length){case 0:return i.call(u);case 1:return i.call(u,f[0]);case 2:return i.call(u,f[0],f[1]);case 3:return i.call(u,f[0],f[1],f[2])}return i.apply(u,f)}JC.exports=gY});var tT=Z((kte,ZC)=>{var _Y=QC(),eT=Math.max;function yY(i,u,f){return u=eT(u===void 0?i.length-1:u,0),function(){for(var a=arguments,g=-1,t=eT(a.length-u,0),x=Array(t);++g{function wY(i){return function(){return i}}nT.exports=wY});var oT=Z((Ote,iT)=>{function DY(i){return i}iT.exports=DY});var lT=Z((Ite,uT)=>{var EY=rT(),sT=ny(),SY=oT(),CY=sT?function(i,u){return sT(i,"toString",{configurable:!0,enumerable:!1,value:EY(u),writable:!0})}:SY;uT.exports=CY});var cT=Z((Pte,fT)=>{var TY=800,xY=16,kY=Date.now;function AY(i){var u=0,f=0;return function(){var a=kY(),g=xY-(a-f);if(f=a,g>0){if(++u>=TY)return arguments[0]}else u=0;return i.apply(void 0,arguments)}}fT.exports=AY});var dT=Z((Mte,aT)=>{var OY=lT(),IY=cT(),PY=IY(OY);aT.exports=PY});var hT=Z((Fte,pT)=>{var MY=XC(),FY=tT(),RY=dT();function LY(i){return RY(FY(i,void 0,MY),i+"")}pT.exports=LY});var mT=Z((Rte,vT)=>{var NY=K4(),BY=uC(),jY=NC(),UY=kh(),qY=wa(),bY=bC(),zY=hT(),WY=vy(),HY=1,GY=2,VY=4,YY=zY(function(i,u){var f={};if(i==null)return f;var a=!1;u=NY(u,function(t){return t=UY(t,i),a||(a=t.length>1),t}),qY(i,WY(i),f),a&&(f=BY(f,HY|GY|VY,bY));for(var g=u.length;g--;)jY(f,u[g]);return f});vT.exports=YY});var Ay=Z((Gte,ST)=>{"use strict";var CT=Object.getOwnPropertySymbols,JY=Object.prototype.hasOwnProperty,QY=Object.prototype.propertyIsEnumerable;function ZY(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function e$(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var a=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(a.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}ST.exports=e$()?Object.assign:function(i,u){for(var f,a=ZY(i),g,t=1;t{"use strict";var Oy=Ay(),us=typeof Symbol=="function"&&Symbol.for,v2=us?Symbol.for("react.element"):60103,t$=us?Symbol.for("react.portal"):60106,n$=us?Symbol.for("react.fragment"):60107,r$=us?Symbol.for("react.strict_mode"):60108,i$=us?Symbol.for("react.profiler"):60114,o$=us?Symbol.for("react.provider"):60109,u$=us?Symbol.for("react.context"):60110,s$=us?Symbol.for("react.forward_ref"):60112,l$=us?Symbol.for("react.suspense"):60113,f$=us?Symbol.for("react.memo"):60115,c$=us?Symbol.for("react.lazy"):60116,TT=typeof Symbol=="function"&&Symbol.iterator;function m2(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fMh.length&&Mh.push(i)}function Ry(i,u,f,a){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case v2:case t$:t=!0}}if(t)return f(a,i,u===""?"."+Ly(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var x=0;x{"use strict";BT.exports=NT()});var jT=Z((Aa,g2)=>{(function(){var i,u="4.17.21",f=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",A=500,k="__lodash_placeholder__",D=1,L=2,B=4,b=1,$=2,v=1,ve=2,he=4,ue=8,Se=16,ze=32,Te=64,Me=128,ne=256,Ie=512,Ne=30,et="...",dt=800,ct=16,qe=1,Ge=2,Mt=3,Ot=1/0,zt=9007199254740991,tt=17976931348623157e292,V=0/0,te=4294967295,me=te-1,J=te>>>1,xe=[["ary",Me],["bind",v],["bindKey",ve],["curry",ue],["curryRight",Se],["flip",Ie],["partial",ze],["partialRight",Te],["rearg",ne]],ft="[object Arguments]",it="[object Array]",kt="[object AsyncFunction]",Rt="[object Boolean]",ln="[object Date]",Fn="[object DOMException]",Yt="[object Error]",Wt="[object Function]",nr="[object GeneratorFunction]",w="[object Map]",at="[object Number]",kn="[object Null]",Pn="[object Object]",Hn="[object Promise]",fr="[object Proxy]",cr="[object RegExp]",n0="[object Set]",_i="[object String]",po="[object Symbol]",vs="[object Undefined]",Tu="[object WeakMap]",Hf="[object WeakSet]",Jo="[object ArrayBuffer]",Qo="[object DataView]",el="[object Float32Array]",tl="[object Float64Array]",ms="[object Int8Array]",Mo="[object Int16Array]",nl="[object Int32Array]",gs="[object Uint8Array]",_s="[object Uint8ClampedArray]",yi="[object Uint16Array]",xu="[object Uint32Array]",rl=/\b__p \+= '';/g,il=/\b(__p \+=) '' \+/g,ol=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ul=/&(?:amp|lt|gt|quot|#39);/g,Fi=/[&<>"']/g,xr=RegExp(ul.source),Tc=RegExp(Fi.source),ef=/<%-([\s\S]+?)%>/g,ys=/<%([\s\S]+?)%>/g,ws=/<%=([\s\S]+?)%>/g,sl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ri=/^\w*$/,Fo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wr=/[\\^$.*+?()[\]{}|]/g,kr=RegExp(wr.source),ni=/^\s+/,j0=/\s/,U0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,ku=/,? & /,f0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Au=/[()=,{}\[\]\/\s]/,Ds=/\\(\\)?/g,Es=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Zo=/\w*$/,ho=/^[-+]0x[0-9a-f]+$/i,Ro=/^0b[01]+$/i,Ss=/^\[object .+?Constructor\]$/,Cs=/^0o[0-7]+$/i,tf=/^(?:0|[1-9]\d*)$/,dn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ou=/($^)/,Lo=/['\n\r\u2028\u2029\\]/g,eu="\\ud800-\\udfff",Ts="\\u0300-\\u036f",ll="\\ufe20-\\ufe2f",Gf="\\u20d0-\\u20ff",fl=Ts+ll+Gf,Iu="\\u2700-\\u27bf",Pu="a-z\\xdf-\\xf6\\xf8-\\xff",nf="\\xac\\xb1\\xd7\\xf7",Ji="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xs="\\u2000-\\u206f",cl=" \\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",Mu="A-Z\\xc0-\\xd6\\xd8-\\xde",q0="\\ufe0e\\ufe0f",ks=nf+Ji+xs+cl,Ze="['\u2019]",Li="["+eu+"]",tu="["+ks+"]",No="["+fl+"]",x0="\\d+",al="["+Iu+"]",dl="["+Pu+"]",nu="[^"+eu+ks+x0+Iu+Pu+Mu+"]",pl="\\ud83c[\\udffb-\\udfff]",gn="(?:"+No+"|"+pl+")",mt="[^"+eu+"]",Xt="(?:\\ud83c[\\udde6-\\uddff]){2}",k0="[\\ud800-\\udbff][\\udc00-\\udfff]",ri="["+Mu+"]",Fu="\\u200d",Ni="(?:"+dl+"|"+nu+")",Ru="(?:"+ri+"|"+nu+")",Lu="(?:"+Ze+"(?:d|ll|m|re|s|t|ve))?",As="(?:"+Ze+"(?:D|LL|M|RE|S|T|VE))?",ii=gn+"?",Qr="["+q0+"]?",Qi="(?:"+Fu+"(?:"+[mt,Xt,k0].join("|")+")"+Qr+ii+")*",_0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",r0=Qr+ii+Qi,Os="(?:"+[al,Xt,k0].join("|")+")"+r0,c0="(?:"+[mt+No+"?",No,Xt,k0,Li].join("|")+")",Nu=RegExp(Ze,"g"),b0=RegExp(No,"g"),Bu=RegExp(pl+"(?="+pl+")|"+c0+r0,"g"),Is=RegExp([ri+"?"+dl+"+"+Lu+"(?="+[tu,ri,"$"].join("|")+")",Ru+"+"+As+"(?="+[tu,ri+Ni,"$"].join("|")+")",ri+"?"+Ni+"+"+Lu,ri+"+"+As,vo,_0,x0,Os].join("|"),"g"),Bo=RegExp("["+Fu+eu+fl+q0+"]"),A0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nn=["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"],rf=-1,Kn={};Kn[el]=Kn[tl]=Kn[ms]=Kn[Mo]=Kn[nl]=Kn[gs]=Kn[_s]=Kn[yi]=Kn[xu]=!0,Kn[ft]=Kn[it]=Kn[Jo]=Kn[Rt]=Kn[Qo]=Kn[ln]=Kn[Yt]=Kn[Wt]=Kn[w]=Kn[at]=Kn[Pn]=Kn[cr]=Kn[n0]=Kn[_i]=Kn[Tu]=!1;var Xn={};Xn[ft]=Xn[it]=Xn[Jo]=Xn[Qo]=Xn[Rt]=Xn[ln]=Xn[el]=Xn[tl]=Xn[ms]=Xn[Mo]=Xn[nl]=Xn[w]=Xn[at]=Xn[Pn]=Xn[cr]=Xn[n0]=Xn[_i]=Xn[po]=Xn[gs]=Xn[_s]=Xn[yi]=Xn[xu]=!0,Xn[Yt]=Xn[Wt]=Xn[Tu]=!1;var jo={\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"},ju={"&":"&","<":"<",">":">",'"':""","'":"'"},hl={"&":"&","<":"<",">":">",""":'"',"'":"'"},ru={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ps=parseFloat,Uu=parseInt,O0=typeof global=="object"&&global&&global.Object===Object&&global,iu=typeof self=="object"&&self&&self.Object===Object&&self,Ar=O0||iu||Function("return this")(),F=typeof Aa=="object"&&Aa&&!Aa.nodeType&&Aa,R=F&&typeof g2=="object"&&g2&&!g2.nodeType&&g2,j=R&&R.exports===F,W=j&&O0.process,le=function(){try{var fe=R&&R.require&&R.require("util").types;return fe||W&&W.binding&&W.binding("util")}catch(Re){}}(),ie=le&&le.isArrayBuffer,ce=le&&le.isDate,z=le&&le.isMap,pe=le&&le.isRegExp,Oe=le&&le.isSet,We=le&&le.isTypedArray;function K(fe,Re,ke){switch(ke.length){case 0:return fe.call(Re);case 1:return fe.call(Re,ke[0]);case 2:return fe.call(Re,ke[0],ke[1]);case 3:return fe.call(Re,ke[0],ke[1],ke[2])}return fe.apply(Re,ke)}function Ee(fe,Re,ke,pt){for(var ht=-1,hn=fe==null?0:fe.length;++ht-1}function _t(fe,Re,ke){for(var pt=-1,ht=fe==null?0:fe.length;++pt-1;);return ke}function Ms(fe,Re){for(var ke=fe.length;ke--&&Xe(Re,fe[ke],0)>-1;);return ke}function ml(fe,Re){for(var ke=fe.length,pt=0;ke--;)fe[ke]===Re&&++pt;return pt}var ou=_n(jo),qu=_n(ju);function Fs(fe){return"\\"+ru[fe]}function Zi(fe,Re){return fe==null?i:fe[Re]}function Bi(fe){return Bo.test(fe)}function Rs(fe){return A0.test(fe)}function I0(fe){for(var Re,ke=[];!(Re=fe.next()).done;)ke.push(Re.value);return ke}function Ur(fe){var Re=-1,ke=Array(fe.size);return fe.forEach(function(pt,ht){ke[++Re]=[ht,pt]}),ke}function Jn(fe,Re){return function(ke){return fe(Re(ke))}}function P0(fe,Re){for(var ke=-1,pt=fe.length,ht=0,hn=[];++ke-1}function Hu(c,p){var E=this.__data__,I=cf(E,c);return I<0?(++this.size,E.push([c,p])):E[I][1]=p,this}$0.prototype.clear=lf,$0.prototype.delete=ba,$0.prototype.get=xc,$0.prototype.has=lu,$0.prototype.set=Hu;function K0(c){var p=-1,E=c==null?0:c.length;for(this.clear();++p=p?c:p)),c}function ai(c,p,E,I,N,G){var ee,oe=p&D,we=p&L,Ye=p&B;if(E&&(ee=N?E(c,I,N,G):E(c)),ee!==i)return ee;if(!Yr(c))return c;var $e=Cn(c);if($e){if(ee=p1(c),!oe)return Vr(c,ee)}else{var nt=N0(c),Et=nt==Wt||nt==nr;if(vu(c))return Od(c,oe);if(nt==Pn||nt==ft||Et&&!N){if(ee=we||Et?{}:bd(c),!oe)return we?Vu(c,Va(ee,c)):L0(c,af(ee,c))}else{if(!Xn[nt])return N?c:{};ee=zd(c,nt,oe)}}G||(G=new io);var qt=G.get(c);if(qt)return qt;G.set(c,ee),kp(c)?c.forEach(function(sn){ee.add(ai(sn,p,E,sn,c,G))}):Tp(c)&&c.forEach(function(sn,qn){ee.set(qn,ai(sn,p,E,qn,c,G))});var un=Ye?we?vn:s1:we?bi:B0,Rn=$e?i:un(c);return Le(Rn||c,function(sn,qn){Rn&&(qn=sn,sn=c[qn]),Dl(ee,qn,ai(sn,p,E,qn,c,G))}),ee}function Kf(c){var p=B0(c);return function(E){return Mc(E,c,p)}}function Mc(c,p,E){var I=E.length;if(c==null)return!I;for(c=Ht(c);I--;){var N=E[I],G=p[N],ee=c[N];if(ee===i&&!(N in c)||!G(ee))return!1}return!0}function Xf(c,p,E){if(typeof c!="function")throw new Wr(g);return mf(function(){c.apply(i,E)},p)}function oo(c,p,E,I){var N=-1,G=Ct,ee=!0,oe=c.length,we=[],Ye=p.length;if(!oe)return we;E&&(p=st(p,Rr(E))),I?(G=_t,ee=!1):p.length>=f&&(G=go,ee=!1,p=new fu(p));e:for(;++NN?0:N+E),I=I===i||I>N?N:Mn(I),I<0&&(I+=N),I=E>I?0:Ip(I);E0&&E(oe)?p>1?C0(oe,p-1,E,I,N):It(N,oe):I||(N[N.length]=oe)}return N}var m=Zf(),h=Zf(!0);function S(c,p){return c&&m(c,p,B0)}function O(c,p){return c&&h(c,p,B0)}function M(c,p){return ut(p,function(E){return Xu(c[E])})}function H(c,p){p=Us(p,c);for(var E=0,I=p.length;c!=null&&Ep}function ot(c,p){return c!=null&&Qn.call(c,p)}function Tn(c,p){return c!=null&&p in Ht(c)}function T0(c,p,E){return c>=En(p,E)&&c=120&&$e.length>=120)?new fu(ee&&$e):i}$e=c[0];var nt=-1,Et=oe[0];e:for(;++nt-1;)oe!==c&&D0.call(oe,we,1),D0.call(c,we,1);return c}function Lc(c,p){for(var E=c?p.length:0,I=E-1;E--;){var N=p[E];if(E==I||N!==G){var G=N;Yu(N)?D0.call(c,N,1):Qa(c,N)}}return c}function Ka(c,p){return c+su(Ei()*(p-c+1))}function Iv(c,p,E,I){for(var N=-1,G=pr(R0((p-c)/(E||1)),0),ee=ke(G);G--;)ee[I?G:++N]=c,c+=E;return ee}function Xa(c,p){var E="";if(!c||p<1||p>zt)return E;do p%2&&(E+=c),p=su(p/2),p&&(c+=c);while(p);return E}function Ln(c,p){return y1(Gd(c,p,zi),c+"")}function wd(c){return Ic(_f(c))}function Dd(c,p){var E=_f(c);return Hc(E,ci(p,0,E.length))}function Cl(c,p,E,I){if(!Yr(c))return c;p=Us(p,c);for(var N=-1,G=p.length,ee=G-1,oe=c;oe!=null&&++NN?0:N+p),E=E>N?N:E,E<0&&(E+=N),N=p>E?0:E-p>>>0,p>>>=0;for(var G=ke(N);++I>>1,ee=c[G];ee!==null&&!lo(ee)&&(E?ee<=p:ee=f){var Ye=p?null:qv(c);if(Ye)return z0(Ye);ee=!1,N=go,we=new fu}else we=p?[]:oe;e:for(;++I=I?c:So(c,p,E)}var Ad=uu||function(c){return Ar.clearTimeout(c)};function Od(c,p){if(p)return c.slice();var E=c.length,I=Ir?Ir(E):new c.constructor(E);return c.copy(I),I}function n1(c){var p=new c.constructor(c.byteLength);return new M0(p).set(new M0(c)),p}function Rv(c,p){var E=p?n1(c.buffer):c.buffer;return new c.constructor(E,c.byteOffset,c.byteLength)}function Lv(c){var p=new c.constructor(c.source,Zo.exec(c));return p.lastIndex=c.lastIndex,p}function Nv(c){return Nr?Ht(Nr.call(c)):{}}function Id(c,p){var E=p?n1(c.buffer):c.buffer;return new c.constructor(E,c.byteOffset,c.length)}function Pd(c,p){if(c!==p){var E=c!==i,I=c===null,N=c===c,G=lo(c),ee=p!==i,oe=p===null,we=p===p,Ye=lo(p);if(!oe&&!Ye&&!G&&c>p||G&&ee&&we&&!oe&&!Ye||I&&ee&&we||!E&&we||!N)return 1;if(!I&&!G&&!Ye&&c=oe)return we;var Ye=E[I];return we*(Ye=="desc"?-1:1)}}return c.index-p.index}function pf(c,p,E,I){for(var N=-1,G=c.length,ee=E.length,oe=-1,we=p.length,Ye=pr(G-ee,0),$e=ke(we+Ye),nt=!I;++oe1?E[N-1]:i,ee=N>2?E[2]:i;for(G=c.length>3&&typeof G=="function"?(N--,G):i,ee&&Ci(E[0],E[1],ee)&&(G=N<3?i:G,N=1),p=Ht(p);++I-1?N[G?p[ee]:ee]:i}}function Ld(c){return du(function(p){var E=p.length,I=E,N=Vn.prototype.thru;for(c&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Wr(g);if(N&&!ee&&zc(G)=="wrapper")var ee=new Vn([],!0)}for(I=ee?I:E;++I1&&$n.reverse(),$e&&weoe))return!1;var Ye=G.get(c),$e=G.get(p);if(Ye&&$e)return Ye==p&&$e==c;var nt=-1,Et=!0,qt=E&$?new fu:i;for(G.set(c,p),G.set(p,c);++nt1?"& ":"")+p[I],p=p.join(E>2?", ":" "),c.replace(U0,`{ +/* [wrapped with `+p+`] */ +`)}function Vv(c){return Cn(c)||Ol(c)||!!(si&&c&&c[si])}function Yu(c,p){var E=typeof c;return p=p==null?zt:p,!!p&&(E=="number"||E!="symbol"&&tf.test(c))&&c>-1&&c%1==0&&c0){if(++p>=dt)return arguments[0]}else p=0;return c.apply(i,arguments)}}function Hc(c,p){var E=-1,I=c.length,N=I-1;for(p=p===i?I:p;++E1?c[p-1]:i;return E=typeof E=="function"?(c.pop(),E):i,sp(c,E)});function fp(c){var p=q(c);return p.__chain__=!0,p}function cp(c,p){return p(c),c}function Vc(c,p){return p(c)}var jm=du(function(c){var p=c.length,E=p?c[0]:0,I=this.__wrapped__,N=function(G){return Bs(G,c)};return p>1||this.__actions__.length||!(I instanceof Qt)||!Yu(E)?this.thru(N):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Vc,args:[N],thisArg:i}),new Vn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Um(){return fp(this)}function qm(){return new Vn(this.value(),this.__chain__)}function bm(){this.__values__===i&&(this.__values__=Op(this.value()));var c=this.__index__>=this.__values__.length,p=c?i:this.__values__[this.__index__++];return{done:c,value:p}}function zm(){return this}function Wm(c){for(var p,E=this;E instanceof Er;){var I=Jd(E);I.__index__=0,I.__values__=i,p?N.__wrapped__=I:p=I;var N=I;E=E.__wrapped__}return N.__wrapped__=c,p}function kl(){var c=this.__wrapped__;if(c instanceof Qt){var p=c;return this.__actions__.length&&(p=new Qt(this)),p=p.reverse(),p.__actions__.push({func:Vc,args:[D1],thisArg:i}),new Vn(p,this.__chain__)}return this.thru(D1)}function Al(){return xd(this.__wrapped__,this.__actions__)}var Yc=hf(function(c,p,E){Qn.call(c,E)?++c[E]:X0(c,E,1)});function Hm(c,p,E){var I=Cn(c)?rt:Fc;return E&&Ci(c,p,E)&&(p=i),I(c,on(p,3))}function Gm(c,p){var E=Cn(c)?ut:Jf;return E(c,on(p,3))}var Vm=Rd(Qd),T1=Rd(Gc);function Ym(c,p){return C0($c(c,p),1)}function $m(c,p){return C0($c(c,p),Ot)}function ap(c,p,E){return E=E===i?1:Mn(E),C0($c(c,p),E)}function dp(c,p){var E=Cn(c)?Le:bo;return E(c,on(p,3))}function pp(c,p){var E=Cn(c)?Ke:El;return E(c,on(p,3))}var Km=hf(function(c,p,E){Qn.call(c,E)?c[E].push(p):X0(c,E,[p])});function Xm(c,p,E,I){c=qi(c)?c:_f(c),E=E&&!I?Mn(E):0;var N=c.length;return E<0&&(E=pr(N+E,0)),ta(c)?E<=N&&c.indexOf(p,E)>-1:!!N&&Xe(c,p,E)>-1}var Jm=Ln(function(c,p,E){var I=-1,N=typeof p=="function",G=qi(c)?ke(c.length):[];return bo(c,function(ee){G[++I]=N?K(p,ee,E):uo(ee,p,E)}),G}),hp=hf(function(c,p,E){X0(c,E,p)});function $c(c,p){var E=Cn(c)?st:md;return E(c,on(p,3))}function Qm(c,p,E,I){return c==null?[]:(Cn(p)||(p=p==null?[]:[p]),E=I?i:E,Cn(E)||(E=E==null?[]:[E]),Si(c,p,E))}var Zm=hf(function(c,p,E){c[E?0:1].push(p)},function(){return[[],[]]});function vp(c,p,E){var I=Cn(c)?pn:Bn,N=arguments.length<3;return I(c,on(p,4),E,N,bo)}function eg(c,p,E){var I=Cn(c)?tn:Bn,N=arguments.length<3;return I(c,on(p,4),E,N,El)}function tg(c,p){var E=Cn(c)?ut:Jf;return E(c,Xc(on(p,3)))}function ng(c){var p=Cn(c)?Ic:wd;return p(c)}function rg(c,p,E){(E?Ci(c,p,E):p===i)?p=1:p=Mn(p);var I=Cn(c)?Pc:Dd;return I(c,p)}function ig(c){var p=Cn(c)?$f:Eo;return p(c)}function x1(c){if(c==null)return 0;if(qi(c))return ta(c)?Or(c):c.length;var p=N0(c);return p==w||p==n0?c.size:Qf(c).length}function og(c,p,E){var I=Cn(c)?rr:Mv;return E&&Ci(c,p,E)&&(p=i),I(c,on(p,3))}var ug=Ln(function(c,p){if(c==null)return[];var E=p.length;return E>1&&Ci(c,p[0],p[1])?p=[]:E>2&&Ci(p[0],p[1],p[2])&&(p=[p[0]]),Si(c,C0(p,1),[])}),nc=_l||function(){return Ar.Date.now()};function sg(c,p){if(typeof p!="function")throw new Wr(g);return c=Mn(c),function(){if(--c<1)return p.apply(this,arguments)}}function mp(c,p,E){return p=E?i:p,p=c&&p==null?c.length:p,At(c,Me,i,i,i,i,p)}function gp(c,p){var E;if(typeof p!="function")throw new Wr(g);return c=Mn(c),function(){return--c>0&&(E=p.apply(this,arguments)),c<=1&&(p=i),E}}var k1=Ln(function(c,p,E){var I=v;if(E.length){var N=P0(E,Sn(k1));I|=ze}return At(c,I,p,E,N)}),_p=Ln(function(c,p,E){var I=v|ve;if(E.length){var N=P0(E,Sn(_p));I|=ze}return At(p,I,c,E,N)});function A1(c,p,E){p=E?i:p;var I=At(c,ue,i,i,i,i,i,p);return I.placeholder=A1.placeholder,I}function yp(c,p,E){p=E?i:p;var I=At(c,Se,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(c,p,E){var I,N,G,ee,oe,we,Ye=0,$e=!1,nt=!1,Et=!0;if(typeof c!="function")throw new Wr(g);p=ko(p)||0,Yr(E)&&($e=!!E.leading,nt="maxWait"in E,G=nt?pr(ko(E.maxWait)||0,p):G,Et="trailing"in E?!!E.trailing:Et);function qt(l0){var Ho=I,mu=N;return I=N=i,Ye=l0,ee=c.apply(mu,Ho),ee}function un(l0){return Ye=l0,oe=mf(qn,p),$e?qt(l0):ee}function Rn(l0){var Ho=l0-we,mu=l0-Ye,Zp=p-Ho;return nt?En(Zp,G-mu):Zp}function sn(l0){var Ho=l0-we,mu=l0-Ye;return we===i||Ho>=p||Ho<0||nt&&mu>=G}function qn(){var l0=nc();if(sn(l0))return $n(l0);oe=mf(qn,Rn(l0))}function $n(l0){return oe=i,Et&&I?qt(l0):(I=N=i,ee)}function fo(){oe!==i&&Ad(oe),Ye=0,I=we=N=oe=i}function Ti(){return oe===i?ee:$n(nc())}function xi(){var l0=nc(),Ho=sn(l0);if(I=arguments,N=this,we=l0,Ho){if(oe===i)return un(we);if(nt)return Ad(oe),oe=mf(qn,p),qt(we)}return oe===i&&(oe=mf(qn,p)),ee}return xi.cancel=fo,xi.flush=Ti,xi}var lg=Ln(function(c,p){return Xf(c,1,p)}),Dp=Ln(function(c,p,E){return Xf(c,ko(p)||0,E)});function fg(c){return At(c,Ie)}function Kc(c,p){if(typeof c!="function"||p!=null&&typeof p!="function")throw new Wr(g);var E=function(){var I=arguments,N=p?p.apply(this,I):I[0],G=E.cache;if(G.has(N))return G.get(N);var ee=c.apply(this,I);return E.cache=G.set(N,ee)||G,ee};return E.cache=new(Kc.Cache||K0),E}Kc.Cache=K0;function Xc(c){if(typeof c!="function")throw new Wr(g);return function(){var p=arguments;switch(p.length){case 0:return!c.call(this);case 1:return!c.call(this,p[0]);case 2:return!c.call(this,p[0],p[1]);case 3:return!c.call(this,p[0],p[1],p[2])}return!c.apply(this,p)}}function Jc(c){return gp(2,c)}var cg=Fv(function(c,p){p=p.length==1&&Cn(p[0])?st(p[0],Rr(on())):st(C0(p,1),Rr(on()));var E=p.length;return Ln(function(I){for(var N=-1,G=En(I.length,E);++N=p}),Ol=pi(function(){return arguments}())?pi:function(c){return e0(c)&&Qn.call(c,"callee")&&!F0.call(c,"callee")},Cn=ke.isArray,I1=ie?Rr(ie):Pe;function qi(c){return c!=null&&Zc(c.length)&&!Xu(c)}function s0(c){return e0(c)&&qi(c)}function Sg(c){return c===!0||c===!1||e0(c)&&Ve(c)==Rt}var vu=li||V1,Cg=ce?Rr(ce):De;function Tg(c){return e0(c)&&c.nodeType===1&&!rc(c)}function Cp(c){if(c==null)return!0;if(qi(c)&&(Cn(c)||typeof c=="string"||typeof c.splice=="function"||vu(c)||gf(c)||Ol(c)))return!c.length;var p=N0(c);if(p==w||p==n0)return!c.size;if(tc(c))return!Qf(c).length;for(var E in c)if(Qn.call(c,E))return!1;return!0}function xg(c,p){return je(c,p)}function kg(c,p,E){E=typeof E=="function"?E:i;var I=E?E(c,p):i;return I===i?je(c,p,i,E):!!I}function P1(c){if(!e0(c))return!1;var p=Ve(c);return p==Yt||p==Fn||typeof c.message=="string"&&typeof c.name=="string"&&!rc(c)}function Ag(c){return typeof c=="number"&&Pr(c)}function Xu(c){if(!Yr(c))return!1;var p=Ve(c);return p==Wt||p==nr||p==kt||p==fr}function M1(c){return typeof c=="number"&&c==Mn(c)}function Zc(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=zt}function Yr(c){var p=typeof c;return c!=null&&(p=="object"||p=="function")}function e0(c){return c!=null&&typeof c=="object"}var Tp=z?Rr(z):en;function Og(c,p){return c===p||er(c,p,In(p))}function Ig(c,p,E){return E=typeof E=="function"?E:i,er(c,p,In(p),E)}function Pg(c){return xp(c)&&c!=+c}function Mg(c){if(Kv(c))throw new ht(a);return fn(c)}function Fg(c){return c===null}function F1(c){return c==null}function xp(c){return typeof c=="number"||e0(c)&&Ve(c)==at}function rc(c){if(!e0(c)||Ve(c)!=Pn)return!1;var p=eo(c);if(p===null)return!0;var E=Qn.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&ji.call(E)==sf}var ea=pe?Rr(pe):or;function Rg(c){return M1(c)&&c>=-zt&&c<=zt}var kp=Oe?Rr(Oe):Br;function ta(c){return typeof c=="string"||!Cn(c)&&e0(c)&&Ve(c)==_i}function lo(c){return typeof c=="symbol"||e0(c)&&Ve(c)==po}var gf=We?Rr(We):Un;function Ap(c){return c===i}function Lg(c){return e0(c)&&N0(c)==Tu}function Ng(c){return e0(c)&&Ve(c)==Hf}var Bg=bc(Ya),jg=bc(function(c,p){return c<=p});function Op(c){if(!c)return[];if(qi(c))return ta(c)?Gn(c):Vr(c);if(o0&&c[o0])return I0(c[o0]());var p=N0(c),E=p==w?Ur:p==n0?z0:_f;return E(c)}function Ju(c){if(!c)return c===0?c:0;if(c=ko(c),c===Ot||c===-Ot){var p=c<0?-1:1;return p*tt}return c===c?c:0}function Mn(c){var p=Ju(c),E=p%1;return p===p?E?p-E:p:0}function Ip(c){return c?ci(Mn(c),0,te):0}function ko(c){if(typeof c=="number")return c;if(lo(c))return V;if(Yr(c)){var p=typeof c.valueOf=="function"?c.valueOf():c;c=Yr(p)?p+"":p}if(typeof c!="string")return c===0?c:+c;c=y0(c);var E=Ro.test(c);return E||Cs.test(c)?Uu(c.slice(2),E?2:8):ho.test(c)?V:+c}function na(c){return hi(c,bi(c))}function Ug(c){return c?ci(Mn(c),-zt,zt):c===0?c:0}function dr(c){return c==null?"":so(c)}var Pp=Co(function(c,p){if(tc(p)||qi(p)){hi(p,B0(p),c);return}for(var E in p)Qn.call(p,E)&&Dl(c,E,p[E])}),Mp=Co(function(c,p){hi(p,bi(p),c)}),ra=Co(function(c,p,E,I){hi(p,bi(p),c,I)}),qg=Co(function(c,p,E,I){hi(p,B0(p),c,I)}),bg=du(Bs);function zg(c,p){var E=ir(c);return p==null?E:af(E,p)}var Fp=Ln(function(c,p){c=Ht(c);var E=-1,I=p.length,N=I>2?p[2]:i;for(N&&Ci(p[0],p[1],N)&&(I=1);++E1),G}),hi(c,vn(c),E),I&&(E=ai(E,D|L|B,bv));for(var N=p.length;N--;)Qa(E,p[N]);return E});function i_(c,p){return Bp(c,Xc(on(p)))}var o_=du(function(c,p){return c==null?{}:Ov(c,p)});function Bp(c,p){if(c==null)return{};var E=st(vn(c),function(I){return[I]});return p=on(p),yd(c,E,function(I,N){return p(I,N[0])})}function u_(c,p,E){p=Us(p,c);var I=-1,N=p.length;for(N||(N=1,c=i);++Ip){var I=c;c=p,p=I}if(E||c%1||p%1){var N=Ei();return En(c+N*(p-c+Ps("1e-"+((N+"").length-1))),p)}return Ka(c,p)}var h_=vf(function(c,p,E){return p=p.toLowerCase(),c+(E?zp(p):p)});function zp(c){return j1(dr(c).toLowerCase())}function Wp(c){return c=dr(c),c&&c.replace(dn,ou).replace(b0,"")}function v_(c,p,E){c=dr(c),p=so(p);var I=c.length;E=E===i?I:ci(Mn(E),0,I);var N=E;return E-=p.length,E>=0&&c.slice(E,N)==p}function N1(c){return c=dr(c),c&&Tc.test(c)?c.replace(Fi,qu):c}function m_(c){return c=dr(c),c&&kr.test(c)?c.replace(wr,"\\$&"):c}var g_=vf(function(c,p,E){return c+(E?"-":"")+p.toLowerCase()}),Hp=vf(function(c,p,E){return c+(E?" ":"")+p.toLowerCase()}),__=Fd("toLowerCase");function y_(c,p,E){c=dr(c),p=Mn(p);var I=p?Or(c):0;if(!p||I>=p)return c;var N=(p-I)/2;return qc(su(N),E)+c+qc(R0(N),E)}function w_(c,p,E){c=dr(c),p=Mn(p);var I=p?Or(c):0;return p&&I>>0,E?(c=dr(c),c&&(typeof p=="string"||p!=null&&!ea(p))&&(p=so(p),!p&&Bi(c))?qs(Gn(c),0,E):c.split(p,E)):[]}var x_=vf(function(c,p,E){return c+(E?" ":"")+j1(p)});function k_(c,p,E){return c=dr(c),E=E==null?0:ci(Mn(E),0,c.length),p=so(p),c.slice(E,E+p.length)==p}function A_(c,p,E){var I=q.templateSettings;E&&Ci(c,p,E)&&(p=i),c=dr(c),p=ra({},p,I,u1);var N=ra({},p.imports,I.imports,u1),G=B0(N),ee=mo(N,G),oe,we,Ye=0,$e=p.interpolate||Ou,nt="__p += '",Et=G0((p.escape||Ou).source+"|"+$e.source+"|"+($e===ws?Es:Ou).source+"|"+(p.evaluate||Ou).source+"|$","g"),qt="//# sourceURL="+(Qn.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rf+"]")+` +`;c.replace(Et,function(sn,qn,$n,fo,Ti,xi){return $n||($n=fo),nt+=c.slice(Ye,xi).replace(Lo,Fs),qn&&(oe=!0,nt+=`' + +__e(`+qn+`) + +'`),Ti&&(we=!0,nt+=`'; +`+Ti+`; +__p += '`),$n&&(nt+=`' + +((__t = (`+$n+`)) == null ? '' : __t) + +'`),Ye=xi+sn.length,sn}),nt+=`'; +`;var un=Qn.call(p,"variable")&&p.variable;if(!un)nt=`with (obj) { +`+nt+` +} +`;else if(Au.test(un))throw new ht(t);nt=(we?nt.replace(rl,""):nt).replace(il,"$1").replace(ol,"$1;"),nt="function("+(un||"obj")+`) { +`+(un?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(oe?", __e = _.escape":"")+(we?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+nt+`return __p +}`;var Rn=$p(function(){return hn(G,qt+"return "+nt).apply(i,ee)});if(Rn.source=nt,P1(Rn))throw Rn;return Rn}function O_(c){return dr(c).toLowerCase()}function I_(c){return dr(c).toUpperCase()}function P_(c,p,E){if(c=dr(c),c&&(E||p===i))return y0(c);if(!c||!(p=so(p)))return c;var I=Gn(c),N=Gn(p),G=vl(I,N),ee=Ms(I,N)+1;return qs(I,G,ee).join("")}function B1(c,p,E){if(c=dr(c),c&&(E||p===i))return c.slice(0,ui(c)+1);if(!c||!(p=so(p)))return c;var I=Gn(c),N=Ms(I,Gn(p))+1;return qs(I,0,N).join("")}function M_(c,p,E){if(c=dr(c),c&&(E||p===i))return c.replace(ni,"");if(!c||!(p=so(p)))return c;var I=Gn(c),N=vl(I,Gn(p));return qs(I,N).join("")}function F_(c,p){var E=Ne,I=et;if(Yr(p)){var N="separator"in p?p.separator:N;E="length"in p?Mn(p.length):E,I="omission"in p?so(p.omission):I}c=dr(c);var G=c.length;if(Bi(c)){var ee=Gn(c);G=ee.length}if(E>=G)return c;var oe=E-Or(I);if(oe<1)return I;var we=ee?qs(ee,0,oe).join(""):c.slice(0,oe);if(N===i)return we+I;if(ee&&(oe+=we.length-oe),ea(N)){if(c.slice(oe).search(N)){var Ye,$e=we;for(N.global||(N=G0(N.source,dr(Zo.exec(N))+"g")),N.lastIndex=0;Ye=N.exec($e);)var nt=Ye.index;we=we.slice(0,nt===i?oe:nt)}}else if(c.indexOf(so(N),oe)!=oe){var Et=we.lastIndexOf(N);Et>-1&&(we=we.slice(0,Et))}return we+I}function Vp(c){return c=dr(c),c&&xr.test(c)?c.replace(ul,i0):c}var R_=vf(function(c,p,E){return c+(E?" ":"")+p.toUpperCase()}),j1=Fd("toUpperCase");function Yp(c,p,E){return c=dr(c),p=E?i:p,p===i?Rs(c)?uf(c):a0(c):c.match(p)||[]}var $p=Ln(function(c,p){try{return K(c,i,p)}catch(E){return P1(E)?E:new ht(E)}}),L_=du(function(c,p){return Le(p,function(E){E=Wo(E),X0(c,E,k1(c[E],c))}),c});function Kp(c){var p=c==null?0:c.length,E=on();return c=p?st(c,function(I){if(typeof I[1]!="function")throw new Wr(g);return[E(I[0]),I[1]]}):[],Ln(function(I){for(var N=-1;++Nzt)return[];var E=te,I=En(c,te);p=on(p),c-=te;for(var N=oi(I,p);++E0||p<0)?new Qt(E):(c<0?E=E.takeRight(-c):c&&(E=E.drop(c)),p!==i&&(p=Mn(p),E=p<0?E.dropRight(-p):E.take(p-c)),E)},Qt.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},Qt.prototype.toArray=function(){return this.take(te)},S(Qt.prototype,function(c,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),N=q[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!N||(q.prototype[p]=function(){var ee=this.__wrapped__,oe=I?[1]:arguments,we=ee instanceof Qt,Ye=oe[0],$e=we||Cn(ee),nt=function(qn){var $n=N.apply(q,It([qn],oe));return I&&Et?$n[0]:$n};$e&&E&&typeof Ye=="function"&&Ye.length!=1&&(we=$e=!1);var Et=this.__chain__,qt=!!this.__actions__.length,un=G&&!Et,Rn=we&&!qt;if(!G&&$e){ee=Rn?ee:new Qt(this);var sn=c.apply(ee,oe);return sn.__actions__.push({func:Vc,args:[nt],thisArg:i}),new Vn(sn,Et)}return un&&Rn?c.apply(this,oe):(sn=this.thru(nt),un?I?sn.value()[0]:sn.value():sn)})}),Le(["pop","push","shift","sort","splice","unshift"],function(c){var p=Hr[c],E=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",I=/^(?:pop|shift)$/.test(c);q.prototype[c]=function(){var N=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(Cn(G)?G:[],N)}return this[E](function(ee){return p.apply(Cn(ee)?ee:[],N)})}}),S(Qt.prototype,function(c,p){var E=q[p];if(E){var I=E.name+"";Qn.call(Ut,I)||(Ut[I]=[]),Ut[I].push({name:p,func:E})}}),Ut[jc(i,ve).name]=[{name:"wrapper",func:i}],Qt.prototype.clone=u0,Qt.prototype.reverse=Zr,Qt.prototype.value=m0,q.prototype.at=jm,q.prototype.chain=Um,q.prototype.commit=qm,q.prototype.next=bm,q.prototype.plant=Wm,q.prototype.reverse=kl,q.prototype.toJSON=q.prototype.valueOf=q.prototype.value=Al,q.prototype.first=q.prototype.head,o0&&(q.prototype[o0]=zm),q},H0=W0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ar._=H0,define(function(){return H0})):R?((R.exports=H0)._=H0,F._=H0):Ar._=H0}).call(Aa)});var Uy=Z(($te,jy)=>{"use strict";var tr=jy.exports;jy.exports.default=tr;var Tr="[",_2="]",Oa="\x07",Fh=";",UT=process.env.TERM_PROGRAM==="Apple_Terminal";tr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Tr+(i+1)+"G":Tr+(u+1)+";"+(i+1)+"H"};tr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Tr+-i+"D":i>0&&(f+=Tr+i+"C"),u<0?f+=Tr+-u+"A":u>0&&(f+=Tr+u+"B"),f};tr.cursorUp=(i=1)=>Tr+i+"A";tr.cursorDown=(i=1)=>Tr+i+"B";tr.cursorForward=(i=1)=>Tr+i+"C";tr.cursorBackward=(i=1)=>Tr+i+"D";tr.cursorLeft=Tr+"G";tr.cursorSavePosition=UT?"7":Tr+"s";tr.cursorRestorePosition=UT?"8":Tr+"u";tr.cursorGetPosition=Tr+"6n";tr.cursorNextLine=Tr+"E";tr.cursorPrevLine=Tr+"F";tr.cursorHide=Tr+"?25l";tr.cursorShow=Tr+"?25h";tr.eraseLines=i=>{let u="";for(let f=0;f[_2,"8",Fh,Fh,u,Oa,i,_2,"8",Fh,Fh,Oa].join("");tr.image=(i,u={})=>{let f=`${_2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+Oa};tr.iTerm={setCwd:(i=process.cwd())=>`${_2}50;CurrentDir=${i}${Oa}`,annotation:(i,u={})=>{let f=`${_2}1337;`,a=typeof u.x!="undefined",g=typeof u.y!="undefined";if((a||g)&&!(a&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(a?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+Oa}}});var bT=Z((Kte,qy)=>{"use strict";var qT=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};qy.exports=qT;qy.exports.default=qT});var WT=Z((Xte,Rh)=>{"use strict";var m$=bT(),Lh=new WeakMap,zT=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,a=!1,g=0,t=i.displayName||i.name||"",x=function(...A){if(Lh.set(x,++g),a){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return a=!0,f=i.apply(this,A),i=null,f};return m$(x,i),Lh.set(x,g),x};Rh.exports=zT;Rh.exports.default=zT;Rh.exports.callCount=i=>{if(!Lh.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return Lh.get(i)}});var HT=Z((Jte,Nh)=>{Nh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Nh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Nh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var Hy=Z((Qte,y2)=>{var g$=require("assert"),w2=HT(),_$=/^win/i.test(process.platform),Bh=require("events");typeof Bh!="function"&&(Bh=Bh.EventEmitter);var Pi;process.__signal_exit_emitter__?Pi=process.__signal_exit_emitter__:(Pi=process.__signal_exit_emitter__=new Bh,Pi.count=0,Pi.emitted={});Pi.infinite||(Pi.setMaxListeners(Infinity),Pi.infinite=!0);y2.exports=function(i,u){g$.equal(typeof i,"function","a callback must be provided for exit handler"),D2===!1&>();var f="exit";u&&u.alwaysLast&&(f="afterexit");var a=function(){Pi.removeListener(f,i),Pi.listeners("exit").length===0&&Pi.listeners("afterexit").length===0&&by()};return Pi.on(f,i),a};y2.exports.unload=by;function by(){!D2||(D2=!1,w2.forEach(function(i){try{process.removeListener(i,zy[i])}catch(u){}}),process.emit=Wy,process.reallyExit=VT,Pi.count-=1)}function Ia(i,u,f){Pi.emitted[i]||(Pi.emitted[i]=!0,Pi.emit(i,u,f))}var zy={};w2.forEach(function(i){zy[i]=function(){var f=process.listeners(i);f.length===Pi.count&&(by(),Ia("exit",null,i),Ia("afterexit",null,i),_$&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});y2.exports.signals=function(){return w2};y2.exports.load=GT;var D2=!1;function GT(){D2||(D2=!0,Pi.count+=1,w2=w2.filter(function(i){try{return process.on(i,zy[i]),!0}catch(u){return!1}}),process.emit=w$,process.reallyExit=y$)}var VT=process.reallyExit;function y$(i){process.exitCode=i||0,Ia("exit",process.exitCode,null),Ia("afterexit",process.exitCode,null),VT.call(process,process.exitCode)}var Wy=process.emit;function w$(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=Wy.apply(this,arguments);return Ia("exit",process.exitCode,null),Ia("afterexit",process.exitCode,null),f}else return Wy.apply(this,arguments)}});var $T=Z((Zte,YT)=>{"use strict";var D$=WT(),E$=Hy();YT.exports=D$(()=>{E$(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var Gy=Z(Pa=>{"use strict";var S$=$T(),jh=!1;Pa.show=(i=process.stderr)=>{!i.isTTY||(jh=!1,i.write("[?25h"))};Pa.hide=(i=process.stderr)=>{!i.isTTY||(S$(),jh=!0,i.write("[?25l"))};Pa.toggle=(i,u)=>{i!==void 0&&(jh=i),jh?Pa.show(u):Pa.hide(u)}});var QT=Z(E2=>{"use strict";var KT=E2&&E2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(E2,"__esModule",{value:!0});var XT=KT(Uy()),JT=KT(Gy()),C$=(i,{showCursor:u=!1}={})=>{let f=0,a="",g=!1,t=x=>{!u&&!g&&(JT.default.hide(),g=!0);let A=x+` +`;A!==a&&(a=A,i.write(XT.default.eraseLines(f)+A),f=A.split(` +`).length)};return t.clear=()=>{i.write(XT.default.eraseLines(f)),a="",f=0},t.done=()=>{a="",f=0,u||(JT.default.show(),g=!1)},t};E2.default={create:C$}});var e5=Z((nne,ZT)=>{ZT.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 r5=Z(Xo=>{"use strict";var t5=e5(),Xs=process.env;Object.defineProperty(Xo,"_vendors",{value:t5.map(function(i){return i.constant})});Xo.name=null;Xo.isPR=null;t5.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(a){return n5(a)});if(Xo[i.constant]=f,f)switch(Xo.name=i.name,typeof i.pr){case"string":Xo.isPR=!!Xs[i.pr];break;case"object":"env"in i.pr?Xo.isPR=i.pr.env in Xs&&Xs[i.pr.env]!==i.pr.ne:"any"in i.pr?Xo.isPR=i.pr.any.some(function(a){return!!Xs[a]}):Xo.isPR=n5(i.pr);break;default:Xo.isPR=null}});Xo.isCI=!!(Xs.CI||Xs.CONTINUOUS_INTEGRATION||Xs.BUILD_NUMBER||Xs.RUN_ID||Xo.name);function n5(i){return typeof i=="string"?!!Xs[i]:Object.keys(i).every(function(u){return Xs[u]===i[u]})}});var o5=Z((ine,i5)=>{"use strict";i5.exports=r5().isCI});var s5=Z((one,u5)=>{"use strict";var T$=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};u5.exports=(i,{include:u,exclude:f}={})=>{let a=g=>{let t=x=>typeof x=="string"?g===x:x.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of T$(i.constructor.prototype)){if(t==="constructor"||!a(t))continue;let x=Reflect.getOwnPropertyDescriptor(g,t);x&&typeof x.value=="function"&&(i[t]=i[t].bind(i))}return i}});var h5=Z(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});var Ma,S2,Uh,qh,Vy;typeof window=="undefined"||typeof MessageChannel!="function"?(Fa=null,Yy=null,$y=function(){if(Fa!==null)try{var i=mr.unstable_now();Fa(!0,i),Fa=null}catch(u){throw setTimeout($y,0),u}},l5=Date.now(),mr.unstable_now=function(){return Date.now()-l5},Ma=function(i){Fa!==null?setTimeout(Ma,0,i):(Fa=i,setTimeout($y,0))},S2=function(i,u){Yy=setTimeout(i,u)},Uh=function(){clearTimeout(Yy)},qh=function(){return!1},Vy=mr.unstable_forceFrameRate=function(){}):(bh=window.performance,Ky=window.Date,f5=window.setTimeout,c5=window.clearTimeout,typeof console!="undefined"&&(a5=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 a5!="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 bh=="object"&&typeof bh.now=="function"?mr.unstable_now=function(){return bh.now()}:(d5=Ky.now(),mr.unstable_now=function(){return Ky.now()-d5}),C2=!1,T2=null,zh=-1,Xy=5,Jy=0,qh=function(){return mr.unstable_now()>=Jy},Vy=function(){},mr.unstable_forceFrameRate=function(i){0>i||125Hh(x,f))k!==void 0&&0>Hh(k,x)?(i[a]=k,i[A]=f,a=A):(i[a]=x,i[t]=f,a=t);else if(k!==void 0&&0>Hh(k,f))i[a]=k,i[A]=f,a=A;else break e}}return u}return null}function Hh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ss=[],Bf=[],x$=1,ao=null,Ki=3,Vh=!1,hc=!1,x2=!1;function Yh(i){for(var u=Su(Bf);u!==null;){if(u.callback===null)Gh(Bf);else if(u.startTime<=i)Gh(Bf),u.sortIndex=u.expirationTime,Zy(ss,u);else break;u=Su(Bf)}}function ew(i){if(x2=!1,Yh(i),!hc)if(Su(ss)!==null)hc=!0,Ma(tw);else{var u=Su(Bf);u!==null&&S2(ew,u.startTime-i)}}function tw(i,u){hc=!1,x2&&(x2=!1,Uh()),Vh=!0;var f=Ki;try{for(Yh(u),ao=Su(ss);ao!==null&&(!(ao.expirationTime>u)||i&&!qh());){var a=ao.callback;if(a!==null){ao.callback=null,Ki=ao.priorityLevel;var g=a(ao.expirationTime<=u);u=mr.unstable_now(),typeof g=="function"?ao.callback=g:ao===Su(ss)&&Gh(ss),Yh(u)}else Gh(ss);ao=Su(ss)}if(ao!==null)var t=!0;else{var x=Su(Bf);x!==null&&S2(ew,x.startTime-u),t=!1}return t}finally{ao=null,Ki=f,Vh=!1}}function p5(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var k$=Vy;mr.unstable_ImmediatePriority=1;mr.unstable_UserBlockingPriority=2;mr.unstable_NormalPriority=3;mr.unstable_IdlePriority=5;mr.unstable_LowPriority=4;mr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=Ki;Ki=i;try{return u()}finally{Ki=f}};mr.unstable_next=function(i){switch(Ki){case 1:case 2:case 3:var u=3;break;default:u=Ki}var f=Ki;Ki=u;try{return i()}finally{Ki=f}};mr.unstable_scheduleCallback=function(i,u,f){var a=mr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0a?(i.sortIndex=g,Zy(Bf,i),Su(ss)===null&&i===Su(Bf)&&(x2?Uh():x2=!0,S2(ew,g-a))):(i.sortIndex=f,Zy(ss,i),hc||Vh||(hc=!0,Ma(tw))),i};mr.unstable_cancelCallback=function(i){i.callback=null};mr.unstable_wrapCallback=function(i){var u=Ki;return function(){var f=Ki;Ki=u;try{return i.apply(this,arguments)}finally{Ki=f}}};mr.unstable_getCurrentPriorityLevel=function(){return Ki};mr.unstable_shouldYield=function(){var i=mr.unstable_now();Yh(i);var u=Su(ss);return u!==ao&&ao!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime{"use strict";v5.exports=h5()});var m5=Z((lne,k2)=>{k2.exports=function i(u){"use strict";var f=Ay(),a=Cr(),g=nw();function t(m){for(var h="https://reactjs.org/docs/error-decoder.html?invariant="+m,S=1;SFo||(m.current=Ri[Fo],Ri[Fo]=null,Fo--)}function kr(m,h){Fo++,Ri[Fo]=m.current,m.current=h}var ni={},j0={current:ni},U0={current:!1},Pt=ni;function ku(m,h){var S=m.type.contextTypes;if(!S)return ni;var O=m.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===h)return O.__reactInternalMemoizedMaskedChildContext;var M={},H;for(H in S)M[H]=h[H];return O&&(m=m.stateNode,m.__reactInternalMemoizedUnmaskedChildContext=h,m.__reactInternalMemoizedMaskedChildContext=M),M}function f0(m){return m=m.childContextTypes,m!=null}function Au(m){wr(U0,m),wr(j0,m)}function Ds(m){wr(U0,m),wr(j0,m)}function Es(m,h,S){if(j0.current!==ni)throw Error(t(168));kr(j0,h,m),kr(U0,S,m)}function Zo(m,h,S){var O=m.stateNode;if(m=h.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in m))throw Error(t(108,Ne(h)||"Unknown",M));return f({},S,{},O)}function ho(m){var h=m.stateNode;return h=h&&h.__reactInternalMemoizedMergedChildContext||ni,Pt=j0.current,kr(j0,h,m),kr(U0,U0.current,m),!0}function Ro(m,h,S){var O=m.stateNode;if(!O)throw Error(t(169));S?(h=Zo(m,h,Pt),O.__reactInternalMemoizedMergedChildContext=h,wr(U0,m),wr(j0,m),kr(j0,h,m)):wr(U0,m),kr(U0,S,m)}var Ss=g.unstable_runWithPriority,Cs=g.unstable_scheduleCallback,tf=g.unstable_cancelCallback,dn=g.unstable_shouldYield,Ou=g.unstable_requestPaint,Lo=g.unstable_now,eu=g.unstable_getCurrentPriorityLevel,Ts=g.unstable_ImmediatePriority,ll=g.unstable_UserBlockingPriority,Gf=g.unstable_NormalPriority,fl=g.unstable_LowPriority,Iu=g.unstable_IdlePriority,Pu={},nf=Ou!==void 0?Ou:function(){},Ji=null,xs=null,cl=!1,Mu=Lo(),q0=1e4>Mu?Lo:function(){return Lo()-Mu};function ks(){switch(eu()){case Ts:return 99;case ll:return 98;case Gf:return 97;case fl:return 96;case Iu:return 95;default:throw Error(t(332))}}function Ze(m){switch(m){case 99:return Ts;case 98:return ll;case 97:return Gf;case 96:return fl;case 95:return Iu;default:throw Error(t(332))}}function Li(m,h){return m=Ze(m),Ss(m,h)}function tu(m,h,S){return m=Ze(m),Cs(m,h,S)}function No(m){return Ji===null?(Ji=[m],xs=Cs(Ts,al)):Ji.push(m),Pu}function x0(){if(xs!==null){var m=xs;xs=null,tf(m)}al()}function al(){if(!cl&&Ji!==null){cl=!0;var m=0;try{var h=Ji;Li(99,function(){for(;m=h&&(ui=!0),m.firstContext=null)}function _0(m,h){if(Ru!==m&&h!==!1&&h!==0)if((typeof h!="number"||h===1073741823)&&(Ru=m,h=1073741823),h={context:m,observedBits:h,next:null},Ni===null){if(Fu===null)throw Error(t(308));Ni=h,Fu.dependencies={expirationTime:0,firstContext:h,responders:null}}else Ni=Ni.next=h;return Yt?m._currentValue:m._currentValue2}var vo=!1;function r0(m){return{baseState:m,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Os(m){return{baseState:m.baseState,firstUpdate:m.firstUpdate,lastUpdate:m.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function c0(m,h){return{expirationTime:m,suspenseConfig:h,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Nu(m,h){m.lastUpdate===null?m.firstUpdate=m.lastUpdate=h:(m.lastUpdate.next=h,m.lastUpdate=h)}function b0(m,h){var S=m.alternate;if(S===null){var O=m.updateQueue,M=null;O===null&&(O=m.updateQueue=r0(m.memoizedState))}else O=m.updateQueue,M=S.updateQueue,O===null?M===null?(O=m.updateQueue=r0(m.memoizedState),M=S.updateQueue=r0(S.memoizedState)):O=m.updateQueue=Os(M):M===null&&(M=S.updateQueue=Os(O));M===null||O===M?Nu(O,h):O.lastUpdate===null||M.lastUpdate===null?(Nu(O,h),Nu(M,h)):(Nu(O,h),M.lastUpdate=h)}function Bu(m,h){var S=m.updateQueue;S=S===null?m.updateQueue=r0(m.memoizedState):Is(m,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=h:(S.lastCapturedUpdate.next=h,S.lastCapturedUpdate=h)}function Is(m,h){var S=m.alternate;return S!==null&&h===S.updateQueue&&(h=m.updateQueue=Os(h)),h}function Bo(m,h,S,O,M,H){switch(S.tag){case 1:return m=S.payload,typeof m=="function"?m.call(H,O,M):m;case 3:m.effectTag=m.effectTag&-4097|64;case 0:if(m=S.payload,M=typeof m=="function"?m.call(H,O,M):m,M==null)break;return f({},O,M);case 2:vo=!0}return O}function A0(m,h,S,O,M){vo=!1,h=Is(m,h);for(var H=h.baseState,Q=null,Ve=0,Je=h.firstUpdate,ot=H;Je!==null;){var Tn=Je.expirationTime;Tnor?(Br=fn,fn=null):Br=fn.sibling;var Un=Mr(Pe,fn,je[or],wt);if(Un===null){fn===null&&(fn=Br);break}m&&fn&&Un.alternate===null&&h(Pe,fn),De=H(Un,De,or),er===null?en=Un:er.sibling=Un,er=Un,fn=Br}if(or===je.length)return S(Pe,fn),en;if(fn===null){for(;oror?(Br=fn,fn=null):Br=fn.sibling;var J0=Mr(Pe,fn,Un.value,wt);if(J0===null){fn===null&&(fn=Br);break}m&&fn&&J0.alternate===null&&h(Pe,fn),De=H(J0,De,or),er===null?en=J0:er.sibling=J0,er=J0,fn=Br}if(Un.done)return S(Pe,fn),en;if(fn===null){for(;!Un.done;or++,Un=je.next())Un=T0(Pe,Un.value,wt),Un!==null&&(De=H(Un,De,or),er===null?en=Un:er.sibling=Un,er=Un);return en}for(fn=O(Pe,fn);!Un.done;or++,Un=je.next())Un=di(fn,Pe,or,Un.value,wt),Un!==null&&(m&&Un.alternate!==null&&fn.delete(Un.key===null?or:Un.key),De=H(Un,De,or),er===null?en=Un:er.sibling=Un,er=Un);return m&&fn.forEach(function(Qf){return h(Pe,Qf)}),en}return function(Pe,De,je,wt){var en=typeof je=="object"&&je!==null&&je.type===L&&je.key===null;en&&(je=je.props.children);var er=typeof je=="object"&&je!==null;if(er)switch(je.$$typeof){case k:e:{for(er=je.key,en=De;en!==null;){if(en.key===er)if(en.tag===7?je.type===L:en.elementType===je.type){S(Pe,en.sibling),De=M(en,je.type===L?je.props.children:je.props,wt),De.ref=iu(Pe,en,je),De.return=Pe,Pe=De;break e}else{S(Pe,en);break}else h(Pe,en);en=en.sibling}je.type===L?(De=ci(je.props.children,Pe.mode,wt,je.key),De.return=Pe,Pe=De):(wt=Bs(je.type,je.key,je.props,null,Pe.mode,wt),wt.ref=iu(Pe,De,je),wt.return=Pe,Pe=wt)}return Q(Pe);case D:e:{for(en=je.key;De!==null;){if(De.key===en)if(De.tag===4&&De.stateNode.containerInfo===je.containerInfo&&De.stateNode.implementation===je.implementation){S(Pe,De.sibling),De=M(De,je.children||[],wt),De.return=Pe,Pe=De;break e}else{S(Pe,De);break}else h(Pe,De);De=De.sibling}De=Kf(je,Pe.mode,wt),De.return=Pe,Pe=De}return Q(Pe)}if(typeof je=="string"||typeof je=="number")return je=""+je,De!==null&&De.tag===6?(S(Pe,De.sibling),De=M(De,je,wt),De.return=Pe,Pe=De):(S(Pe,De),De=ai(je,Pe.mode,wt),De.return=Pe,Pe=De),Q(Pe);if(O0(je))return uo(Pe,De,je,wt);if(ne(je))return pi(Pe,De,je,wt);if(er&&Ar(Pe,je),typeof je=="undefined"&&!en)switch(Pe.tag){case 1:case 0:throw Pe=Pe.type,Error(t(152,Pe.displayName||Pe.name||"Component"))}return S(Pe,De)}}var R=F(!0),j=F(!1),W={},le={current:W},ie={current:W},ce={current:W};function z(m){if(m===W)throw Error(t(174));return m}function pe(m,h){kr(ce,h,m),kr(ie,m,m),kr(le,W,m),h=Ot(h),wr(le,m),kr(le,h,m)}function Oe(m){wr(le,m),wr(ie,m),wr(ce,m)}function We(m){var h=z(ce.current),S=z(le.current);h=zt(S,m.type,h),S!==h&&(kr(ie,m,m),kr(le,h,m))}function K(m){ie.current===m&&(wr(le,m),wr(ie,m))}var Ee={current:0};function Le(m){for(var h=m;h!==null;){if(h.tag===13){var S=h.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||rl(S)||il(S)))return h}else if(h.tag===19&&h.memoizedProps.revealOrder!==void 0){if((h.effectTag&64)!=0)return h}else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===m)break;for(;h.sibling===null;){if(h.return===null||h.return===m)return null;h=h.return}h.sibling.return=h.return,h=h.sibling}return null}function Ke(m,h){return{responder:m,props:h}}var rt=x.ReactCurrentDispatcher,ut=x.ReactCurrentBatchConfig,Ct=0,_t=null,st=null,It=null,pn=null,tn=null,rr=null,Zt=0,Nn=null,a0=0,gr=!1,be=null,Xe=0;function Fe(){throw Error(t(321))}function lt(m,h){if(h===null)return!1;for(var S=0;SZt&&(Zt=Tn,ff(Zt))):(Vf(Tn,Je.suspenseConfig),H=Je.eagerReducer===m?Je.eagerState:m(H,Je.action)),Q=Je,Je=Je.next}while(Je!==null&&Je!==O);ot||(Ve=Q,M=H),gn(H,h.memoizedState)||(ui=!0),h.memoizedState=H,h.baseUpdate=Ve,h.baseState=M,S.lastRenderedState=H}return[h.memoizedState,S.dispatch]}function oi(m){var h=_n();return typeof m=="function"&&(m=m()),h.memoizedState=h.baseState=m,m=h.queue={last:null,dispatch:null,lastRenderedReducer:d0,lastRenderedState:m},m=m.dispatch=Fs.bind(null,_t,m),[h.memoizedState,m]}function wi(m){return p0(d0,m)}function y0(m,h,S,O){return m={tag:m,create:h,destroy:S,deps:O,next:null},Nn===null?(Nn={lastEffect:null},Nn.lastEffect=m.next=m):(h=Nn.lastEffect,h===null?Nn.lastEffect=m.next=m:(S=h.next,h.next=m,m.next=S,Nn.lastEffect=m)),m}function Rr(m,h,S,O){var M=_n();a0|=m,M.memoizedState=y0(h,S,void 0,O===void 0?null:O)}function mo(m,h,S,O){var M=Bn();O=O===void 0?null:O;var H=void 0;if(st!==null){var Q=st.memoizedState;if(H=Q.destroy,O!==null&<(O,Q.deps)){y0(0,S,H,O);return}}a0|=m,M.memoizedState=y0(h,S,H,O)}function go(m,h){return Rr(516,192,m,h)}function vl(m,h){return mo(516,192,m,h)}function Ms(m,h){if(typeof h=="function")return m=m(),h(m),function(){h(null)};if(h!=null)return m=m(),h.current=m,function(){h.current=null}}function ml(){}function ou(m,h){return _n().memoizedState=[m,h===void 0?null:h],m}function qu(m,h){var S=Bn();h=h===void 0?null:h;var O=S.memoizedState;return O!==null&&h!==null&<(h,O[1])?O[0]:(S.memoizedState=[m,h],m)}function Fs(m,h,S){if(!(25>Xe))throw Error(t(301));var O=m.alternate;if(m===_t||O!==null&&O===_t)if(gr=!0,m={expirationTime:Ct,suspenseConfig:null,action:S,eagerReducer:null,eagerState:null,next:null},be===null&&(be=new Map),S=be.get(h),S===void 0)be.set(h,m);else{for(h=S;h.next!==null;)h=h.next;h.next=m}else{var M=m0(),H=Kn.suspense;M=Gr(M,m,H),H={expirationTime:M,suspenseConfig:H,action:S,eagerReducer:null,eagerState:null,next:null};var Q=h.last;if(Q===null)H.next=H;else{var Ve=Q.next;Ve!==null&&(H.next=Ve),Q.next=H}if(h.last=H,m.expirationTime===0&&(O===null||O.expirationTime===0)&&(O=h.lastRenderedReducer,O!==null))try{var Je=h.lastRenderedState,ot=O(Je,S);if(H.eagerReducer=O,H.eagerState=ot,gn(ot,Je))return}catch(Tn){}finally{}g0(m,M)}}var Zi={readContext:_0,useCallback:Fe,useContext:Fe,useEffect:Fe,useImperativeHandle:Fe,useLayoutEffect:Fe,useMemo:Fe,useReducer:Fe,useRef:Fe,useState:Fe,useDebugValue:Fe,useResponder:Fe,useDeferredValue:Fe,useTransition:Fe},Bi={readContext:_0,useCallback:ou,useContext:_0,useEffect:go,useImperativeHandle:function(m,h,S){return S=S!=null?S.concat([m]):null,Rr(4,36,Ms.bind(null,h,m),S)},useLayoutEffect:function(m,h){return Rr(4,36,m,h)},useMemo:function(m,h){var S=_n();return h=h===void 0?null:h,m=m(),S.memoizedState=[m,h],m},useReducer:function(m,h,S){var O=_n();return h=S!==void 0?S(h):h,O.memoizedState=O.baseState=h,m=O.queue={last:null,dispatch:null,lastRenderedReducer:m,lastRenderedState:h},m=m.dispatch=Fs.bind(null,_t,m),[O.memoizedState,m]},useRef:function(m){var h=_n();return m={current:m},h.memoizedState=m},useState:oi,useDebugValue:ml,useResponder:Ke,useDeferredValue:function(m,h){var S=oi(m),O=S[0],M=S[1];return go(function(){g.unstable_next(function(){var H=ut.suspense;ut.suspense=h===void 0?null:h;try{M(m)}finally{ut.suspense=H}})},[m,h]),O},useTransition:function(m){var h=oi(!1),S=h[0],O=h[1];return[ou(function(M){O(!0),g.unstable_next(function(){var H=ut.suspense;ut.suspense=m===void 0?null:m;try{O(!1),M()}finally{ut.suspense=H}})},[m,S]),S]}},Rs={readContext:_0,useCallback:qu,useContext:_0,useEffect:vl,useImperativeHandle:function(m,h,S){return S=S!=null?S.concat([m]):null,mo(4,36,Ms.bind(null,h,m),S)},useLayoutEffect:function(m,h){return mo(4,36,m,h)},useMemo:function(m,h){var S=Bn();h=h===void 0?null:h;var O=S.memoizedState;return O!==null&&h!==null&<(h,O[1])?O[0]:(m=m(),S.memoizedState=[m,h],m)},useReducer:p0,useRef:function(){return Bn().memoizedState},useState:wi,useDebugValue:ml,useResponder:Ke,useDeferredValue:function(m,h){var S=wi(m),O=S[0],M=S[1];return vl(function(){g.unstable_next(function(){var H=ut.suspense;ut.suspense=h===void 0?null:h;try{M(m)}finally{ut.suspense=H}})},[m,h]),O},useTransition:function(m){var h=wi(!1),S=h[0],O=h[1];return[qu(function(M){O(!0),g.unstable_next(function(){var H=ut.suspense;ut.suspense=m===void 0?null:m;try{O(!1),M()}finally{ut.suspense=H}})},[m,S]),S]}},I0=null,Ur=null,Jn=!1;function P0(m,h){var S=wo(5,null,null,0);S.elementType="DELETED",S.type="DELETED",S.stateNode=h,S.return=m,S.effectTag=8,m.lastEffect!==null?(m.lastEffect.nextEffect=S,m.lastEffect=S):m.firstEffect=m.lastEffect=S}function z0(m,h){switch(m.tag){case 5:return h=yi(h,m.type,m.pendingProps),h!==null?(m.stateNode=h,!0):!1;case 6:return h=xu(h,m.pendingProps),h!==null?(m.stateNode=h,!0):!1;case 13:return!1;default:return!1}}function _o(m){if(Jn){var h=Ur;if(h){var S=h;if(!z0(m,h)){if(h=ol(S),!h||!z0(m,h)){m.effectTag=m.effectTag&-1025|2,Jn=!1,I0=m;return}P0(I0,S)}I0=m,Ur=ul(h)}else m.effectTag=m.effectTag&-1025|2,Jn=!1,I0=m}}function bu(m){for(m=m.return;m!==null&&m.tag!==5&&m.tag!==3&&m.tag!==13;)m=m.return;I0=m}function Uo(m){if(!w||m!==I0)return!1;if(!Jn)return bu(m),Jn=!0,!1;var h=m.type;if(m.tag!==5||h!=="head"&&h!=="body"&&!ft(h,m.memoizedProps))for(h=Ur;h;)P0(m,h),h=ol(h);if(bu(m),m.tag===13){if(!w)throw Error(t(316));if(m=m.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(t(317));Ur=Tc(m)}else Ur=I0?ol(m.stateNode):null;return!0}function Or(){w&&(Ur=I0=null,Jn=!1)}var Gn=x.ReactCurrentOwner,ui=!1;function i0(m,h,S,O){h.child=m===null?j(h,null,S,O):R(h,m.child,S,O)}function qr(m,h,S,O,M){S=S.render;var H=h.ref;return Qi(h,M),O=Dt(m,h,S,O,H,M),m!==null&&!ui?(h.updateQueue=m.updateQueue,h.effectTag&=-517,m.expirationTime<=M&&(m.expirationTime=0),G0(m,h,M)):(h.effectTag|=1,i0(m,h,O,M),h.child)}function of(m,h,S,O,M,H){if(m===null){var Q=S.type;return typeof Q=="function"&&!af(Q)&&Q.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(h.tag=15,h.type=Q,uf(m,h,Q,O,M,H)):(m=Bs(S.type,null,O,null,h.mode,H),m.ref=h.ref,m.return=h,h.child=m)}return Q=m.child,Mh)&&Vn.set(m,h)))}}function Ui(m,h){m.expirationTimem?h:m)}function S0(m){if(m.lastExpiredTime!==0)m.callbackExpirationTime=1073741823,m.callbackPriority=99,m.callbackNode=No($0.bind(null,m));else{var h=ro(m),S=m.callbackNode;if(h===0)S!==null&&(m.callbackNode=null,m.callbackExpirationTime=0,m.callbackPriority=90);else{var O=m0();if(h===1073741823?O=99:h===1||h===2?O=95:(O=10*(1073741821-h)-10*(1073741821-O),O=0>=O?99:250>=O?98:5250>=O?97:95),S!==null){var M=m.callbackPriority;if(m.callbackExpirationTime===h&&M>=O)return;S!==Pu&&tf(S)}m.callbackExpirationTime=h,m.callbackPriority=O,h=h===1073741823?No($0.bind(null,m)):tu(O,Wu.bind(null,m),{timeout:10*(1073741821-h)-q0()}),m.callbackNode=h}}}function Wu(m,h){if(Zr=0,h)return h=m0(),El(m,h),S0(m),null;var S=ro(m);if(S!==0){if(h=m.callbackNode,(Gt&(Pr|Lr))!==An)throw Error(t(327));if(Ns(),m===X&&S===_e||lu(m,S),Y!==null){var O=Gt;Gt|=Pr;var M=K0(m);do try{Wa();break}catch(Ve){Hu(m,Ve)}while(1);if(Lu(),Gt=O,R0.current=M,de===pr)throw h=Ue,lu(m,S),oo(m,S),S0(m),h;if(Y===null)switch(M=m.finishedWork=m.current.alternate,m.finishedExpirationTime=S,O=de,X=null,O){case no:case pr:throw Error(t(345));case En:El(m,2=S){m.lastPingedTime=S,lu(m,S);break}}if(H=ro(m),H!==0&&H!==S)break;if(O!==0&&O!==S){m.lastPingedTime=O;break}m.timeoutHandle=Rt(cu.bind(null,m),M);break}cu(m);break;case fi:if(oo(m,S),O=m.lastSuspendedTime,S===O&&(m.nextKnownPendingLevel=Yf(M)),Nt&&(M=m.lastPingedTime,M===0||M>=S)){m.lastPingedTime=S,lu(m,S);break}if(M=ro(m),M!==0&&M!==S)break;if(O!==0&&O!==S){m.lastPingedTime=O;break}if(yt!==1073741823?O=10*(1073741821-yt)-q0():Qe===1073741823?O=0:(O=10*(1073741821-Qe)-5e3,M=q0(),S=10*(1073741821-S)-M,O=M-O,0>O&&(O=0),O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*yl(O/1960))-O,S=O?O=0:(M=Q.busyDelayMs|0,H=q0()-(10*(1073741821-H)-(Q.timeoutMs|0||5e3)),O=H<=M?0:M+O-H),10 component higher in the tree to provide a loading indicator or placeholder to display.`+sl(M))}de!==Ei&&(de=En),H=Ls(H,M),Je=O;do{switch(Je.tag){case 3:Q=H,Je.effectTag|=4096,Je.expirationTime=h;var De=uu(Je,Q,h);Bu(Je,De);break e;case 1:Q=H;var je=Je.type,wt=Je.stateNode;if((Je.effectTag&64)==0&&(typeof je.getDerivedStateFromError=="function"||wt!==null&&typeof wt.componentDidCatch=="function"&&(Dr===null||!Dr.has(wt)))){Je.effectTag|=4096,Je.expirationTime=h;var en=_l(Je,Q,h);Bu(Je,en);break e}}Je=Je.return}while(Je!==null)}Y=fu(Y)}catch(er){h=er;continue}break}while(1)}function K0(){var m=R0.current;return R0.current=Zi,m===null?Zi:m}function Vf(m,h){mKt&&(Kt=m)}function za(){for(;Y!==null;)Y=kc(Y)}function Wa(){for(;Y!==null&&!dn();)Y=kc(Y)}function kc(m){var h=Pc(m.alternate,m,_e);return m.memoizedProps=m.pendingProps,h===null&&(h=fu(m)),su.current=null,h}function fu(m){Y=m;do{var h=Y.alternate;if(m=Y.return,(Y.effectTag&2048)==0){e:{var S=h;h=Y;var O=_e,M=h.pendingProps;switch(h.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:f0(h.type)&&Au(h);break;case 3:Oe(h),Ds(h),M=h.stateNode,M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(S===null||S.child===null)&&Uo(h)&&Di(h),Hr(h);break;case 5:K(h);var H=z(ce.current);if(O=h.type,S!==null&&h.stateNode!=null)h0(S,h,O,M,H),S.ref!==h.ref&&(h.effectTag|=128);else if(M){if(S=z(le.current),Uo(h)){if(M=h,!w)throw Error(t(175));S=Fi(M.stateNode,M.type,M.memoizedProps,H,S,M),M.updateQueue=S,S=S!==null,S&&Di(h)}else{var Q=te(O,M,H,S,h);Wr(Q,h,!1,!1),h.stateNode=Q,J(Q,O,M,H,S)&&Di(h)}h.ref!==null&&(h.effectTag|=128)}else if(h.stateNode===null)throw Error(t(166));break;case 6:if(S&&h.stateNode!=null)wn(S,h,S.memoizedProps,M);else{if(typeof M!="string"&&h.stateNode===null)throw Error(t(166));if(S=z(ce.current),H=z(le.current),Uo(h)){if(S=h,!w)throw Error(t(176));(S=xr(S.stateNode,S.memoizedProps,S))&&Di(h)}else h.stateNode=kt(M,S,H,h)}break;case 11:break;case 13:if(wr(Ee,h),M=h.memoizedState,(h.effectTag&64)!=0){h.expirationTime=O;break e}M=M!==null,H=!1,S===null?h.memoizedProps.fallback!==void 0&&Uo(h):(O=S.memoizedState,H=O!==null,M||O===null||(O=S.child.sibling,O!==null&&(Q=h.firstEffect,Q!==null?(h.firstEffect=O,O.nextEffect=Q):(h.firstEffect=h.lastEffect=O,O.nextEffect=null),O.effectTag=8))),M&&!H&&(h.mode&2)!=0&&(S===null&&h.memoizedProps.unstable_avoidThisFallback!==!0||(Ee.current&1)!=0?de===no&&(de=E0):((de===no||de===E0)&&(de=fi),Kt!==0&&X!==null&&(oo(X,_e),bo(X,Kt)))),nr&&M&&(h.effectTag|=4),Wt&&(M||H)&&(h.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Oe(h),Hr(h);break;case 10:ii(h);break;case 9:break;case 14:break;case 17:f0(h.type)&&Au(h);break;case 19:if(wr(Ee,h),M=h.memoizedState,M===null)break;if(H=(h.effectTag&64)!=0,Q=M.rendering,Q===null){if(H)ji(M,!1);else if(de!==no||S!==null&&(S.effectTag&64)!=0)for(S=h.child;S!==null;){if(Q=Le(S),Q!==null){for(h.effectTag|=64,ji(M,!1),S=Q.updateQueue,S!==null&&(h.updateQueue=S,h.effectTag|=4),M.lastEffect===null&&(h.firstEffect=null),h.lastEffect=M.lastEffect,S=O,M=h.child;M!==null;)H=M,O=S,H.effectTag&=2,H.nextEffect=null,H.firstEffect=null,H.lastEffect=null,Q=H.alternate,Q===null?(H.childExpirationTime=0,H.expirationTime=O,H.child=null,H.memoizedProps=null,H.memoizedState=null,H.updateQueue=null,H.dependencies=null):(H.childExpirationTime=Q.childExpirationTime,H.expirationTime=Q.expirationTime,H.child=Q.child,H.memoizedProps=Q.memoizedProps,H.memoizedState=Q.memoizedState,H.updateQueue=Q.updateQueue,O=Q.dependencies,H.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders}),M=M.sibling;kr(Ee,Ee.current&1|2,h),h=h.child;break e}S=S.sibling}}else{if(!H)if(S=Le(Q),S!==null){if(h.effectTag|=64,H=!0,S=S.updateQueue,S!==null&&(h.updateQueue=S,h.effectTag|=4),ji(M,!0),M.tail===null&&M.tailMode==="hidden"&&!Q.alternate){h=h.lastEffect=M.lastEffect,h!==null&&(h.nextEffect=null);break}}else q0()>M.tailExpiration&&1M&&(M=O),Q>M&&(M=Q),H=H.sibling;S.childExpirationTime=M}if(h!==null)return h;m!==null&&(m.effectTag&2048)==0&&(m.firstEffect===null&&(m.firstEffect=Y.firstEffect),Y.lastEffect!==null&&(m.lastEffect!==null&&(m.lastEffect.nextEffect=Y.firstEffect),m.lastEffect=Y.lastEffect),1m?h:m}function cu(m){var h=ks();return Li(99,io.bind(null,m,h)),null}function io(m,h){do Ns();while(ir!==null);if((Gt&(Pr|Lr))!==An)throw Error(t(327));var S=m.finishedWork,O=m.finishedExpirationTime;if(S===null)return null;if(m.finishedWork=null,m.finishedExpirationTime=0,S===m.current)throw Error(t(177));m.callbackNode=null,m.callbackExpirationTime=0,m.callbackPriority=90,m.nextKnownPendingLevel=0;var M=Yf(S);if(m.firstPendingTime=M,O<=m.lastSuspendedTime?m.firstSuspendedTime=m.lastSuspendedTime=m.nextKnownPendingLevel=0:O<=m.firstSuspendedTime&&(m.firstSuspendedTime=O-1),O<=m.lastPingedTime&&(m.lastPingedTime=0),O<=m.lastExpiredTime&&(m.lastExpiredTime=0),m===X&&(Y=X=null,_e=0),1=S?ht(m,h,S):(kr(Ee,Ee.current&1,h),h=G0(m,h,S),h!==null?h.sibling:null);kr(Ee,Ee.current&1,h);break;case 19:if(O=h.childExpirationTime>=S,(m.effectTag&64)!=0){if(O)return Ht(m,h,S);h.effectTag|=64}if(M=h.memoizedState,M!==null&&(M.rendering=null,M.tail=null),kr(Ee,Ee.current,h),!O)return null}return G0(m,h,S)}ui=!1}}else ui=!1;switch(h.expirationTime=0,h.tag){case 2:if(O=h.type,m!==null&&(m.alternate=null,h.alternate=null,h.effectTag|=2),m=h.pendingProps,M=ku(h,j0.current),Qi(h,S),M=Dt(null,h,O,m,M,S),h.effectTag|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0){if(h.tag=1,$t(),f0(O)){var H=!0;ho(h)}else H=!1;h.memoizedState=M.state!==null&&M.state!==void 0?M.state:null;var Q=O.getDerivedStateFromProps;typeof Q=="function"&&jo(h,O,Q,m),M.updater=ju,h.stateNode=M,M._reactInternalFiber=h,Uu(h,O,m,S),h=Re(null,h,O,!0,H,S)}else h.tag=0,i0(null,h,M,S),h=h.child;return h;case 16:if(M=h.elementType,m!==null&&(m.alternate=null,h.alternate=null,h.effectTag|=2),m=h.pendingProps,Ie(M),M._status!==1)throw M._result;switch(M=M._result,h.type=M,H=h.tag=Va(M),m=k0(M,m),H){case 0:h=H0(null,h,M,m,S);break;case 1:h=fe(null,h,M,m,S);break;case 11:h=qr(null,h,M,m,S);break;case 14:h=of(null,h,M,k0(M.type,m),O,S);break;default:throw Error(t(306,M,""))}return h;case 0:return O=h.type,M=h.pendingProps,M=h.elementType===O?M:k0(O,M),H0(m,h,O,M,S);case 1:return O=h.type,M=h.pendingProps,M=h.elementType===O?M:k0(O,M),fe(m,h,O,M,S);case 3:if(ke(h),O=h.updateQueue,O===null)throw Error(t(282));if(M=h.memoizedState,M=M!==null?M.element:null,A0(h,O,h.pendingProps,null,S),O=h.memoizedState.element,O===M)Or(),h=G0(m,h,S);else{if((M=h.stateNode.hydrate)&&(w?(Ur=ul(h.stateNode.containerInfo),I0=h,M=Jn=!0):M=!1),M)for(S=j(h,null,O,S),h.child=S;S;)S.effectTag=S.effectTag&-3|1024,S=S.sibling;else i0(m,h,O,S),Or();h=h.child}return h;case 5:return We(h),m===null&&_o(h),O=h.type,M=h.pendingProps,H=m!==null?m.memoizedProps:null,Q=M.children,ft(O,M)?Q=null:H!==null&&ft(O,H)&&(h.effectTag|=16),W0(m,h),h.mode&4&&S!==1&&it(O,M)?(h.expirationTime=h.childExpirationTime=1,h=null):(i0(m,h,Q,S),h=h.child),h;case 6:return m===null&&_o(h),null;case 13:return ht(m,h,S);case 4:return pe(h,h.stateNode.containerInfo),O=h.pendingProps,m===null?h.child=R(h,null,O,S):i0(m,h,O,S),h.child;case 11:return O=h.type,M=h.pendingProps,M=h.elementType===O?M:k0(O,M),qr(m,h,O,M,S);case 7:return i0(m,h,h.pendingProps,S),h.child;case 8:return i0(m,h,h.pendingProps.children,S),h.child;case 12:return i0(m,h,h.pendingProps.children,S),h.child;case 10:e:{if(O=h.type._context,M=h.pendingProps,Q=h.memoizedProps,H=M.value,As(h,H),Q!==null){var Ve=Q.value;if(H=gn(Ve,H)?0:(typeof O._calculateChangedBits=="function"?O._calculateChangedBits(Ve,H):1073741823)|0,H===0){if(Q.children===M.children&&!U0.current){h=G0(m,h,S);break e}}else for(Ve=h.child,Ve!==null&&(Ve.return=h);Ve!==null;){var Je=Ve.dependencies;if(Je!==null){Q=Ve.child;for(var ot=Je.firstContext;ot!==null;){if(ot.context===O&&(ot.observedBits&H)!=0){Ve.tag===1&&(ot=c0(S,null),ot.tag=2,b0(Ve,ot)),Ve.expirationTime=h&&m<=h}function oo(m,h){var S=m.firstSuspendedTime,O=m.lastSuspendedTime;Sh||S===0)&&(m.lastSuspendedTime=h),h<=m.lastPingedTime&&(m.lastPingedTime=0),h<=m.lastExpiredTime&&(m.lastExpiredTime=0)}function bo(m,h){h>m.firstPendingTime&&(m.firstPendingTime=h);var S=m.firstSuspendedTime;S!==0&&(h>=S?m.firstSuspendedTime=m.lastSuspendedTime=m.nextKnownPendingLevel=0:h>=m.lastSuspendedTime&&(m.lastSuspendedTime=h+1),h>m.nextKnownPendingLevel&&(m.nextKnownPendingLevel=h))}function El(m,h){var S=m.lastExpiredTime;(S===0||S>h)&&(m.lastExpiredTime=h)}function Fc(m){var h=m._reactInternalFiber;if(h===void 0)throw typeof m.render=="function"?Error(t(188)):Error(t(268,Object.keys(m)));return m=qe(h),m===null?null:m.stateNode}function Sl(m,h){m=m.memoizedState,m!==null&&m.dehydrated!==null&&m.retryTime{"use strict";g5.exports=m5()});var w5=Z((cne,y5)=>{"use strict";var A$={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};y5.exports=A$});var C5=Z((ane,D5)=>{"use strict";var O$=Object.assign||function(i){for(var u=1;u"}}]),i}(),E5=function(){$h(i,null,[{key:"fromJS",value:function(f){var a=f.width,g=f.height;return new i(a,g)}}]);function i(u,f){iw(this,i),this.width=u,this.height=f}return $h(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),S5=function(){function i(u,f){iw(this,i),this.unit=u,this.value=f}return $h(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ls.UNIT_POINT:return String(this.value);case ls.UNIT_PERCENT:return this.value+"%";case ls.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();D5.exports=function(i,u){function f(x,A,k){var D=x[A];x[A]=function(){for(var L=arguments.length,B=Array(L),b=0;b1?B-1:0),$=1;$1&&arguments[1]!==void 0?arguments[1]:NaN,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ls.DIRECTION_LTR;return x.call(this,A,k,D)}),O$({Config:u.Config,Node:u.Node,Layout:i("Layout",I$),Size:i("Size",E5),Value:i("Value",S5),getInstanceCount:function(){return u.getInstanceCount.apply(u,arguments)}},ls)}});var T5=Z((exports,module)=>{(function(i,u){typeof define=="function"&&define.amd?define([],function(){return u}):typeof module=="object"&&module.exports?module.exports=u:(i.nbind=i.nbind||{}).init=u})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,u){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){u(f);return}u(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(u,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),u=nodePath.normalize(u);var a=nodeFS.readFileSync(u);return f?a:a.toString()},Module.readBinary=function(u){var f=Module.read(u,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(u){globalEval(read(u))},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(u){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(u));var f=read(u,"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,u){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(u,f,a){var g=new XMLHttpRequest;g.open("GET",u,!0),g.responseType="arraybuffer",g.onload=function(){g.status==200||g.status==0&&g.response?f(g.response):a()},g.onerror=a,g.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(u){console.log(u)}),Module.printErr||(Module.printErr=function(u){console.warn(u)});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(u){globalEval(Module.read(u))}),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,u){throw u}),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 u=parseInt(i.substr(1));return assert(u%8==0),u/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,u){return u==="double"||u==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,u,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(u||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(u,8)},dynCall:function(i,u,f){return f&&f.length?Module["dynCall_"+i].apply(null,[u].concat(f)):Module["dynCall_"+i].call(null,u)},functionPointers:[],addFunction:function(i){for(var u=0;u>2],f=(u+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var a=enlargeMemory();if(!a)return HEAP32[DYNAMICTOP_PTR>>2]=u,0}return u},alignMemory:function(i,u){var f=i=Math.ceil(i/(u||16))*(u||16);return f},makeBigInt:function(i,u,f){var a=f?+(i>>>0)+ +(u>>>0)*4294967296:+(i>>>0)+ +(u|0)*4294967296;return a},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,u){i||abort("Assertion failed: "+u)}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 u=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,u),u},stringToC:function(i){var u=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;u=Runtime.stackAlloc(f),stringToUTF8(i,u,f)}return u}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(u,f,a,g,t){var x=getCFunc(u),A=[],k=0;if(g)for(var D=0;D>0]=u;break;case"i8":HEAP8[i>>0]=u;break;case"i16":HEAP16[i>>1]=u;break;case"i32":HEAP32[i>>2]=u;break;case"i64":tempI64=[u>>>0,(tempDouble=u,+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]=u;break;case"double":HEAPF64[i>>3]=u;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u="i32"),u){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: "+u)}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,u,f,a){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t=i.length);var x=typeof u=="string"?u:null,A;if(f==ALLOC_NONE?A=a:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,x?1:u.length)),g){var a=A,k;for(assert((A&3)==0),k=A+(t&~3);a>2]=0;for(k=A+t;a>0]=0;return A}if(x==="i8")return i.subarray||i.slice?HEAPU8.set(i,A):HEAPU8.set(new Uint8Array(i),A),A;for(var D=0,L,B,b;D>0],f|=a,!(a==0&&!u||(g++,u&&g==u)););u||(u=g);var t="";if(f<128){for(var x=1024,A;u>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(u,x))),t=t?t+A:A,i+=x,u-=x;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)return u;u+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(u,f));for(var a,g,t,x,A,k,D="";;){if(a=i[u++],!a)return D;if(!(a&128)){D+=String.fromCharCode(a);continue}if(g=i[u++]&63,(a&224)==192){D+=String.fromCharCode((a&31)<<6|g);continue}if(t=i[u++]&63,(a&240)==224?a=(a&15)<<12|g<<6|t:(x=i[u++]&63,(a&248)==240?a=(a&7)<<18|g<<12|t<<6|x:(A=i[u++]&63,(a&252)==248?a=(a&3)<<24|g<<18|t<<12|x<<6|A:(k=i[u++]&63,a=(a&1)<<30|g<<24|t<<18|x<<12|A<<6|k))),a<65536)D+=String.fromCharCode(a);else{var L=a-65536;D+=String.fromCharCode(55296|L>>10,56320|L&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,u,f,a){if(!(a>0))return 0;for(var g=f,t=f+a-1,x=0;x=55296&&A<=57343&&(A=65536+((A&1023)<<10)|i.charCodeAt(++x)&1023),A<=127){if(f>=t)break;u[f++]=A}else if(A<=2047){if(f+1>=t)break;u[f++]=192|A>>6,u[f++]=128|A&63}else if(A<=65535){if(f+2>=t)break;u[f++]=224|A>>12,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=2097151){if(f+3>=t)break;u[f++]=240|A>>18,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=67108863){if(f+4>=t)break;u[f++]=248|A>>24,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else{if(f+5>=t)break;u[f++]=252|A>>30,u[f++]=128|A>>24&63,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}}return u[f]=0,f-g}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var u=0,f=0;f=55296&&a<=57343&&(a=65536+((a&1023)<<10)|i.charCodeAt(++f)&1023),a<=127?++u:a<=2047?u+=2:a<=65535?u+=3:a<=2097151?u+=4:a<=67108863?u+=5:u+=6}return u}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle;if(u){try{var f=i.substr(1),a=lengthBytesUTF8(f)+1,g=_malloc(a);stringToUTF8(f,g,a);var t=_malloc(4),x=u(g,0,0,t);if(getValue(t,"i32")===0&&x)return Pointer_stringify(x)}catch(A){}finally{g&&_free(g),t&&_free(t),x&&_free(x)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function(f){var a=demangle(f);return f===a?f:f+" ["+a+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(u){i=u}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 u=i.shift();if(typeof u=="function"){u();continue}var f=u.func;typeof f=="number"?u.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,u.arg):f(u.arg===void 0?null:u.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,u,f){var a=f>0?f:lengthBytesUTF8(i)+1,g=new Array(a),t=stringToUTF8Array(i,g,0,g.length);return u&&(g.length=t),g}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var u=[],f=0;f255&&(a&=255),u.push(String.fromCharCode(a))}return u.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var a,g;f&&(g=u+lengthBytesUTF8(i),a=HEAP8[g]),stringToUTF8(i,u,Infinity),f&&(HEAP8[g]=a)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,u){HEAP8.set(i,u)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,u,f){for(var a=0;a>0]=i.charCodeAt(a);f||(HEAP8[u>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(u,f){var a=u>>>16,g=u&65535,t=f>>>16,x=f&65535;return g*x+(a*x+g*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 u=0;u<32;u++)if(i&1<<31-u)return u;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 u=dependenciesFulfilled;dependenciesFulfilled=null,u()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,u,f,a,g,t,x,A){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,u,f,a,g,t,x,A){return ASM_CONSTS[i](u,f,a,g,t,x,A)}function _emscripten_asm_const_iiiii(i,u,f,a,g){return ASM_CONSTS[i](u,f,a,g)}function _emscripten_asm_const_iiidddddd(i,u,f,a,g,t,x,A,k){return ASM_CONSTS[i](u,f,a,g,t,x,A,k)}function _emscripten_asm_const_iiididi(i,u,f,a,g,t,x){return ASM_CONSTS[i](u,f,a,g,t,x)}function _emscripten_asm_const_iiii(i,u,f,a){return ASM_CONSTS[i](u,f,a)}function _emscripten_asm_const_iiiid(i,u,f,a,g){return ASM_CONSTS[i](u,f,a,g)}function _emscripten_asm_const_iiiiii(i,u,f,a,g,t){return ASM_CONSTS[i](u,f,a,g,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,u){__ATEXIT__.unshift({func:i,arg:u})}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,u,f,a){var g=arguments.length,t=g<3?u:a===null?a=Object.getOwnPropertyDescriptor(u,f):a,x;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,u,f,a);else for(var A=i.length-1;A>=0;A--)(x=i[A])&&(t=(g<3?x(t):g>3?x(u,f,t):x(u,f))||t);return g>3&&t&&Object.defineProperty(u,f,t),t}function _defineHidden(i){return function(u,f){Object.defineProperty(u,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 u=_llvm_stacksave,f=u.LLVM_SAVEDSTACKS[i];u.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,u,f,a){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=u/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=a/4,HEAP32[u/4]=16909060,HEAP8[u]==1&&(_nbind.bigEndian=!0),HEAP32[u/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 g=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});g.proto=Module,_nbind.BindClass.list.push(g);var t}function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=u,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var x=Math.max(0,Browser.mainLoop.tickStartTime+u-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,x)},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(x){x.source===window&&x.data===a&&(x.stopPropagation(),f.shift()())};var g=t,f=[],a="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(A){f.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:a})):window.postMessage(a,"*")}}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,u,f,a,g){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=a;var t;typeof a!="undefined"?t=function(){Module.dynCall_vi(i,a)}:t=function(){Module.dynCall_v(i)};var x=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var k=Date.now(),D=Browser.mainLoop.queue.shift();if(D.func(D.arg),Browser.mainLoop.remainingBlockers){var L=Browser.mainLoop.remainingBlockers,B=L%1==0?L-1:Math.floor(L);D.counted?Browser.mainLoop.remainingBlockers=B:(B=B+.5,Browser.mainLoop.remainingBlockers=(8*L+B)/9)}if(console.log('main loop blocker "'+D.name+'" took '+(Date.now()-k)+" ms"),Browser.mainLoop.updateStatus(),x1&&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),!(x0?_emscripten_set_main_loop_timing(0,1e3/u):_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,u=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,u),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",u=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;u?u=6;){var et=ne>>Ie-6&63;Ie-=6,Me+=ze[et]}return Ie==2?(Me+=ze[(ne&3)<<4],Me+=Te+Te):Ie==4&&(Me+=ze[(ne&15)<<2],Me+=Te),Me}v.src="data:audio/x-"+x.substr(-3)+";base64,"+ue(t),L(v)},v.src=$,Browser.safeSetTimeout(function(){L(v)},1e4)}else return B()},Module.preloadPlugins.push(u);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var a=Module.canvas;a&&(a.requestPointerLock=a.requestPointerLock||a.mozRequestPointerLock||a.webkitRequestPointerLock||a.msRequestPointerLock||function(){},a.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},a.exitPointerLock=a.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&&a.addEventListener("click",function(g){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),g.preventDefault())},!1))},createContext:function(i,u,f,a){if(u&&Module.ctx&&i==Module.canvas)return Module.ctx;var g,t;if(u){var x={antialias:!1,alpha:!1};if(a)for(var A in a)x[A]=a[A];t=GL.createContext(i,x),t&&(g=GL.getContext(t).GLctx)}else g=i.getContext("2d");return g?(f&&(u||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=g,u&&GL.makeContextCurrent(t),Module.useWebGL=u,Browser.moduleContextCreatedCallbacks.forEach(function(k){k()}),Browser.init()),g):null},destroyContext:function(i,u,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,u,f){Browser.lockPointer=i,Browser.resizeCanvas=u,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 a=Module.canvas;function g(){Browser.isFullscreen=!1;var x=a.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===x?(a.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},a.exitFullscreen=a.exitFullscreen.bind(document),Browser.lockPointer&&a.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(x.parentNode.insertBefore(a,x),x.parentNode.removeChild(x),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(a)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",g,!1),document.addEventListener("mozfullscreenchange",g,!1),document.addEventListener("webkitfullscreenchange",g,!1),document.addEventListener("MSFullscreenChange",g,!1));var t=document.createElement("div");a.parentNode.insertBefore(t,a),t.appendChild(a),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,u,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(a,g,t){return Browser.requestFullscreen(a,g,t)},Browser.requestFullscreen(i,u,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var u=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=u+1e3/60;else for(;u+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-u,0);setTimeout(i,f)},requestAnimationFrame:function(u){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(u):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(u))},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(u){u()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,u){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},u)},safeSetInterval:function(i,u){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},u)},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 u=0;switch(i.type){case"DOMMouseScroll":u=i.detail;break;case"mousewheel":u=i.wheelDelta;break;case"wheel":u=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return u},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 u=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,a=Module.canvas.height,g=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 x=i.touch;if(x===void 0)return;var A=x.pageX-(g+u.left),k=x.pageY-(t+u.top);A=A*(f/u.width),k=k*(a/u.height);var D={x:A,y:k};if(i.type==="touchstart")Browser.lastTouches[x.identifier]=D,Browser.touches[x.identifier]=D;else if(i.type==="touchend"||i.type==="touchmove"){var L=Browser.touches[x.identifier];L||(L=D),Browser.lastTouches[x.identifier]=L,Browser.touches[x.identifier]=D}return}var B=i.pageX-(g+u.left),b=i.pageY-(t+u.top);B=B*(f/u.width),b=b*(a/u.height),Browser.mouseMovementX=B-Browser.mouseX,Browser.mouseMovementY=b-Browser.mouseY,Browser.mouseX=B,Browser.mouseY=b}},asyncLoad:function(i,u,f,a){var g=a?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),g&&removeRunDependency(g)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),g&&addRunDependency(g)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(u){u(i.width,i.height)})},setCanvasSize:function(i,u,f){var a=Module.canvas;Browser.updateCanvasDimensions(a,i,u),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,u,f){u&&f?(i.widthNative=u,i.heightNative=f):(u=i.widthNative,f=i.heightNative);var a=u,g=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(a/g>2];return u},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),u=SYSCALLS.get();return i>=0?assert(u===0):assert(u===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(a){return(typeof FS=="undefined"||!(a instanceof FS.ErrnoError))&&abort(a),-a.errno}}function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var u=[[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(k,D,L,B,b,$){if(D==1){var v=B&896;(v==128||v==256||v==384)&&(k="X const")}var ve;return $?ve=L.replace("X",k).replace("Y",b):ve=k.replace("X",L).replace("Y",b),ve.replace(/([*&]) (?=[*&])/g,"$1")}function a(k,D,L,B,b){throw new Error(k+" type "+L.replace("X",D+"?")+(B?" with flag "+B:"")+" in "+b)}function g(k,D,L,B,b,$,v,ve){$===void 0&&($="X"),ve===void 0&&(ve=1);var he=L(k);if(he)return he;var ue=B(k),Se=ue.placeholderFlag,ze=u[Se];v&&ze&&($=f(v[2],v[0],$,ze[0],"?",!0));var Te;Se==0&&(Te="Unbound"),Se>=10&&(Te="Corrupt"),ve>20&&(Te="Deeply nested"),Te&&a(Te,k,$,Se,b||"?");var Me=ue.paramList[0],ne=g(Me,D,L,B,b,$,ze,ve+1),Ie,Ne={flags:ze[0],id:k,name:"",paramList:[ne]},et=[],dt="?";switch(ue.placeholderFlag){case 1:Ie=ne.spec;break;case 2:if((ne.flags&15360)==1024&&ne.spec.ptrSize==1){Ne.flags=7168;break}case 3:case 6:case 5:Ie=ne.spec,(ne.flags&15360)!=2048;break;case 8:dt=""+ue.paramList[1],Ne.paramList.push(ue.paramList[1]);break;case 9:for(var ct=0,qe=ue.paramList[1];ct>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,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD(),a=SYSCALLS.get(),g=SYSCALLS.get(),t=SYSCALLS.get(),x=SYSCALLS.get(),A=g;return FS.llseek(f,A,x),HEAP32[t>>2]=f.position,f.getdents&&A===0&&x===0&&(f.getdents=null),0}catch(k){return(typeof FS=="undefined"||!(k instanceof FS.ErrnoError))&&abort(k),-k.errno}}function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),a=SYSCALLS.get(),g=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(L,B){var b=___syscall146.buffers[L];assert(b),B===0||B===10?((L===1?Module.print:Module.printErr)(UTF8ArrayToString(b,0)),b.length=0):b.push(B)});for(var x=0;x>2],k=HEAP32[a+(x*8+4)>>2],D=0;Di.pageSize/2||u>i.pageSize-f){var a=_nbind.typeNameTbl.NBind.proto;return a.lalloc(u)}else return HEAPU32[i.usedPtr]=f+u,i.rootPtr+f},i.lreset=function(u,f){var a=HEAPU32[i.pagePtr];if(a){var g=_nbind.typeNameTbl.NBind.proto;g.lreset(u,f)}else HEAPU32[i.usedPtr]=u},i}();_nbind.Pool=Pool;function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],a=new f(u);return typeIdTbl[u.id]=a,_nbind.typeNameTbl[u.name]=a,a}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var a=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return u==9&&(a=[a[0],a.slice(1)]),{paramList:a,placeholderFlag:u}}_nbind.queryType=queryType;function getTypes(i,u){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,u):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i/4,i/4+u)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,u-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;u[readAsciiString(f)]=!0,i+=4}return u}_nbind.readPolicyList=readPolicyList;function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},a=i.map(function(t){return f[t.name]||"i"}).join(""),g=Module["dynCall_"+a];if(!g)throw new Error("dynCall_"+a+" not found for "+u+"("+i.map(function(t){return t.name}).join(", ")+")");return g}_nbind.getDynCall=getDynCall;function addMethod(i,u,f,a){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity||g.arity===0)&&(g=_nbind.makeOverloader(g,g.arity),i[u]=g),g.addMethod(f,a)):(f.arity=a,i[u]=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(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return u.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},u.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},u}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(u,i);function u(f){var a=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return a.heap=g[f.ptrSize*8],a.ptrSize=f.ptrSize,a}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireWrite=function(f,a){return a&&a.Strict&&function(g){if(typeof g=="number")return g;throw new Error("Type mismatch")}},u}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw new Error("Type mismatch")}if(u&&u.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,a=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,a,f),a}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(u,i);function u(){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 u.prototype.makeWireWrite=function(f,a){return function(g){return pushCString(g,a)}},u}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(a){return!!a},f}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireRead=function(f){return"!!("+f+")"},u.prototype.makeWireWrite=function(f,a){return a&&a.Strict&&function(g){if(typeof g=="boolean")return g;throw new Error("Type mismatch")}||f},u}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,u){var f=function(a){__extends(g,a);function g(t,x,A,k){var D=a.call(this)||this;if(!(D instanceof g))return new(Function.prototype.bind.apply(g,Array.prototype.concat.apply([null],arguments)));var L=x,B=A,b=k;if(t!==_nbind.ptrMarker){var $=D.__nbindConstructor.apply(D,arguments);L=4096|512,b=HEAPU32[$/4],B=HEAPU32[$/4+1]}var v={configurable:!0,enumerable:!1,value:null,writable:!1},ve={__nbindFlags:L,__nbindPtr:B};b&&(ve.__nbindShared=b,_nbind.mark(D));for(var he=0,ue=Object.keys(ve);he>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(u)return _nbind.popShared(i,u);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?x=Buffer.from(t):x=new Buffer(t),x.copy(a)}else getBuffer(a).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,u=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,u,f,a,g,t){try{Module.dynCall_viiiii(i,u,f,a,g,t)}catch(x){if(typeof x!="number"&&x!=="longjmp")throw x;Module.setThrew(1,0)}}function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_fiff(i,u,f,a){try{return Module.dynCall_fiff(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,u,f,a,g){try{Module.dynCall_viddi(i,u,f,a,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,u,f,a){try{Module.dynCall_vidd(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_iiii(i,u,f,a){try{return Module.dynCall_iiii(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_diii(i,u,f,a){try{return Module.dynCall_diii(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_viiddi(i,u,f,a,g,t){try{Module.dynCall_viiddi(i,u,f,a,g,t)}catch(x){if(typeof x!="number"&&x!=="longjmp")throw x;Module.setThrew(1,0)}}function invoke_viiiiii(i,u,f,a,g,t,x){try{Module.dynCall_viiiiii(i,u,f,a,g,t,x)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_iiiiii(i,u,f,a,g,t){try{return Module.dynCall_iiiiii(i,u,f,a,g,t)}catch(x){if(typeof x!="number"&&x!=="longjmp")throw x;Module.setThrew(1,0)}}function invoke_viiid(i,u,f,a,g){try{Module.dynCall_viiid(i,u,f,a,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,u,f,a,g,t,x){try{Module.dynCall_viififi(i,u,f,a,g,t,x)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(i,u,f,a){try{Module.dynCall_viii(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viid(i,u,f,a){try{Module.dynCall_viid(i,u,f,a)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_viiii(i,u,f,a,g){try{Module.dynCall_viiii(i,u,f,a,g)}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,u,f){var a=new i.Int8Array(f),g=new i.Int16Array(f),t=new i.Int32Array(f),x=new i.Uint8Array(f),A=new i.Uint16Array(f),k=new i.Uint32Array(f),D=new i.Float32Array(f),L=new i.Float64Array(f),B=u.DYNAMICTOP_PTR|0,b=u.tempDoublePtr|0,$=u.ABORT|0,v=u.STACKTOP|0,ve=u.STACK_MAX|0,he=u.cttz_i8|0,ue=u.___dso_handle|0,Se=0,ze=0,Te=0,Me=0,ne=i.NaN,Ie=i.Infinity,Ne=0,et=0,dt=0,ct=0,qe=0,Ge=0,Mt=i.Math.floor,Ot=i.Math.abs,zt=i.Math.sqrt,tt=i.Math.pow,V=i.Math.cos,te=i.Math.sin,me=i.Math.tan,J=i.Math.acos,xe=i.Math.asin,ft=i.Math.atan,it=i.Math.atan2,kt=i.Math.exp,Rt=i.Math.log,ln=i.Math.ceil,Fn=i.Math.imul,Yt=i.Math.min,Wt=i.Math.max,nr=i.Math.clz32,w=i.Math.fround,at=u.abort,kn=u.assert,Pn=u.enlargeMemory,Hn=u.getTotalMemory,fr=u.abortOnCannotGrowMemory,cr=u.invoke_viiiii,n0=u.invoke_vif,_i=u.invoke_vid,po=u.invoke_fiff,vs=u.invoke_vi,Tu=u.invoke_vii,Hf=u.invoke_ii,Jo=u.invoke_viddi,Qo=u.invoke_vidd,el=u.invoke_iiii,tl=u.invoke_diii,ms=u.invoke_di,Mo=u.invoke_iid,nl=u.invoke_iii,gs=u.invoke_viiddi,_s=u.invoke_viiiiii,yi=u.invoke_dii,xu=u.invoke_i,rl=u.invoke_iiiiii,il=u.invoke_viiid,ol=u.invoke_viififi,ul=u.invoke_viii,Fi=u.invoke_v,xr=u.invoke_viid,Tc=u.invoke_idd,ef=u.invoke_viiii,ys=u._emscripten_asm_const_iiiii,ws=u._emscripten_asm_const_iiidddddd,sl=u._emscripten_asm_const_iiiid,Ri=u.__nbind_reference_external,Fo=u._emscripten_asm_const_iiiiiiii,wr=u._removeAccessorPrefix,kr=u._typeModule,ni=u.__nbind_register_pool,j0=u.__decorate,U0=u._llvm_stackrestore,Pt=u.___cxa_atexit,ku=u.__extends,f0=u.__nbind_get_value_object,Au=u.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Ds=u._emscripten_set_main_loop_timing,Es=u.__nbind_register_primitive,Zo=u.__nbind_register_type,ho=u._emscripten_memcpy_big,Ro=u.__nbind_register_function,Ss=u.___setErrNo,Cs=u.__nbind_register_class,tf=u.__nbind_finish,dn=u._abort,Ou=u._nbind_value,Lo=u._llvm_stacksave,eu=u.___syscall54,Ts=u._defineHidden,ll=u._emscripten_set_main_loop,Gf=u._emscripten_get_now,fl=u.__nbind_register_callback_signature,Iu=u._emscripten_asm_const_iiiiii,Pu=u.__nbind_free_external,nf=u._emscripten_asm_const_iiii,Ji=u._emscripten_asm_const_iiididi,xs=u.___syscall6,cl=u._atexit,Mu=u.___syscall140,q0=u.___syscall146,ks=w(0);let Ze=w(0);function Li(e){e=e|0;var n=0;return n=v,v=v+e|0,v=v+15&-16,n|0}function tu(){return v|0}function No(e){e=e|0,v=e}function x0(e,n){e=e|0,n=n|0,v=e,ve=n}function al(e,n){e=e|0,n=n|0,Se||(Se=e,ze=n)}function dl(e){e=e|0,Ge=e}function nu(){return Ge|0}function pl(){var e=0,n=0;cn(8104,8,400)|0,cn(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));a[9088]=0,a[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Pt(17,8104,ue|0)|0}function gn(e){e=e|0,rf(e+948|0)}function mt(e){return e=w(e),((Dr(e)|0)&2147483647)>>>0>2139095040|0}function Xt(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 k0(e){e=e|0;var n=0;return n=uh(1e3)|0,ri(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,cn(n|0,8104,1e3)|0,a[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function ri(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=v,v=v+16|0,o=s,n||(t[o>>2]=r,Ls(e,5,3197,o)),v=s}function Fu(){return k0(956)|0}function Ni(e){e=e|0;var n=0;return n=St(1e3)|0,Ru(n,e),ri(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Ru(e,n){e=e|0,n=n|0;var r=0;cn(e|0,n|0,948)|0,sf(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 Lu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(As(r+948|0,e)|0,t[n>>2]=0),r=ii(e)|0,r|0){n=0;do t[(Qr(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,o=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(o|0)&&(t[s>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Qi(r),sh(e),t[2276]=(t[2276]|0)+-1}function As(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e+4|0,r=t[_>>2]|0,l=r;e:do if((o|0)==(r|0))s=o,d=4;else for(e=o;;){if((t[e>>2]|0)==(n|0)){s=e,d=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(d|0)==4&&((s|0)!=(r|0)?(o=s+4|0,e=l-o|0,n=e>>2,n&&(J1(s|0,o|0,e|0)|0,r=t[_>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[_>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function ii(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function Qr(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 Qi(e){e=e|0;var n=0,r=0,o=0,s=0;o=v,v=v+32|0,n=o,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,q(n,s,s,e+8|0),ir(e,n),Er(n)),v=o}function _0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0;T=ii(e)|0;do if(T|0){if((t[(Qr(e,0)|0)+944>>2]|0)==(e|0)){if(!(As(e+948|0,n)|0))break;cn(n+400|0,8504,540)|0,t[n+944>>2]=0,nn(e);break}d=t[(t[e+976>>2]|0)+12>>2]|0,_=e+948|0,y=(d|0)==0,r=0,l=0;do o=t[(t[_>>2]|0)+(l<<2)>>2]|0,(o|0)==(n|0)?nn(e):(s=Ni(o)|0,t[(t[_>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,y||$4[d&15](o,s,e,r),r=r+1|0),l=l+1|0;while((l|0)!=(T|0));if(r>>>0>>0){y=e+948|0,_=e+952|0,d=r,r=t[_>>2]|0;do l=(t[y>>2]|0)+(d<<2)|0,o=l+4|0,s=r-o|0,n=s>>2,n&&(J1(l|0,o|0,s|0)|0,r=t[_>>2]|0),s=r,o=l+(n<<2)|0,(s|0)!=(o|0)&&(r=s+(~((s+-4-o|0)>>>2)<<2)|0,t[_>>2]=r),d=d+1|0;while((d|0)!=(T|0))}}while(0)}function vo(e){e=e|0;var n=0,r=0,o=0,s=0;r0(e,(ii(e)|0)==0,2491),r0(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,o=e+952|0,s=t[o>>2]|0,(s|0)!=(r|0)&&(t[o>>2]=s+(~((s+-4-r|0)>>>2)<<2)),Qi(n),n=e+976|0,r=t[n>>2]|0,cn(e|0,8104,1e3)|0,a[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function r0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=v,v=v+16|0,o=s,n||(t[o>>2]=r,hn(e,5,3197,o)),v=s}function Os(){return t[2276]|0}function c0(){var e=0;return e=uh(20)|0,Nu((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 Nu(e,n){e=e|0,n=n|0;var r=0,o=0;o=v,v=v+16|0,r=o,e||(t[r>>2]=n,hn(0,5,3197,r)),v=o}function b0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}function Bu(e,n){e=e|0,n=n|0;var r=0;n?(r0(e,(ii(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Is(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,l=o+8|0,s=o+4|0,d=o,t[s>>2]=n,r0(e,(t[n+944>>2]|0)==0,2709),r0(e,(t[e+964>>2]|0)==0,2763),Bo(e),n=e+948|0,t[d>>2]=(t[n>>2]|0)+(r<<2),t[l>>2]=t[d>>2],A0(n,l,s)|0,t[(t[s>>2]|0)+944>>2]=e,nn(e),v=o}function Bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=ii(e)|0,r|0?(t[(Qr(e,0)|0)+944>>2]|0)!=(e|0):0){o=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,l=(o|0)==0,n=0;do d=t[(t[s>>2]|0)+(n<<2)>>2]|0,_=Ni(d)|0,t[(t[s>>2]|0)+(n<<2)>>2]=_,t[_+944>>2]=e,l||$4[o&15](d,_,e,n),n=n+1|0;while((n|0)!=(r|0))}}function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0;Ae=v,v=v+64|0,P=Ae+52|0,_=Ae+48|0,U=Ae+28|0,ye=Ae+24|0,se=Ae+20|0,re=Ae,o=t[e>>2]|0,l=o,n=o+((t[n>>2]|0)-l>>2<<2)|0,o=e+4|0,s=t[o>>2]|0,d=e+8|0;do if(s>>>0<(t[d>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[o>>2]=(t[o>>2]|0)+4;break}Vn(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[o>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{o=(s-l>>2)+1|0,s=Y0(e)|0,s>>>0>>0&&bn(e),C=t[e>>2]|0,T=(t[d>>2]|0)-C|0,l=T>>1,q(re,T>>2>>>0>>1>>>0?l>>>0>>0?o:l:s,n-C>>2,e+8|0),C=re+8|0,o=t[C>>2]|0,l=re+12|0,T=t[l>>2]|0,d=T,y=o;do if((o|0)==(T|0)){if(T=re+4|0,o=t[T>>2]|0,Ce=t[re>>2]|0,s=Ce,o>>>0<=Ce>>>0){o=d-s>>1,o=(o|0)==0?1:o,q(U,o,o>>>2,t[re+16>>2]|0),t[ye>>2]=t[T>>2],t[se>>2]=t[C>>2],t[_>>2]=t[ye>>2],t[P>>2]=t[se>>2],u0(U,_,P),o=t[re>>2]|0,t[re>>2]=t[U>>2],t[U>>2]=o,o=U+4|0,Ce=t[T>>2]|0,t[T>>2]=t[o>>2],t[o>>2]=Ce,o=U+8|0,Ce=t[C>>2]|0,t[C>>2]=t[o>>2],t[o>>2]=Ce,o=U+12|0,Ce=t[l>>2]|0,t[l>>2]=t[o>>2],t[o>>2]=Ce,Er(U),o=t[C>>2]|0;break}l=o,d=((l-s>>2)+1|0)/-2|0,_=o+(d<<2)|0,s=y-l|0,l=s>>2,l&&(J1(_|0,o|0,s|0)|0,o=t[T>>2]|0),Ce=_+(l<<2)|0,t[C>>2]=Ce,t[T>>2]=o+(d<<2),o=Ce}while(0);t[o>>2]=t[r>>2],t[C>>2]=(t[C>>2]|0)+4,n=Qt(e,re,n)|0,Er(re)}while(0);return v=Ae,n|0}function nn(e){e=e|0;var n=0;do{if(n=e+984|0,a[n>>0]|0)break;a[n>>0]=1,D[e+504>>2]=w(ne),e=t[e+944>>2]|0}while((e|0)!=0)}function rf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),He(r))}function Kn(e){return e=e|0,t[e+944>>2]|0}function Xn(e){e=e|0,r0(e,(t[e+964>>2]|0)!=0,2832),nn(e)}function jo(e){return e=e|0,(a[e+984>>0]|0)!=0|0}function ju(e,n){e=e|0,n=n|0,dB(e,n,400)|0&&(cn(e|0,n|0,400)|0,nn(e))}function hl(e){e=e|0;var n=Ze;return n=w(D[e+44>>2]),e=mt(n)|0,w(e?w(0):n)}function ru(e){e=e|0;var n=Ze;return n=w(D[e+48>>2]),mt(n)|0&&(n=a[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Ps(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Uu(e){return e=e|0,t[e+980>>2]|0}function O0(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,nn(e))}function iu(e){return e=e|0,t[e+4>>2]|0}function Ar(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,nn(e))}function F(e){return e=e|0,t[e+8>>2]|0}function R(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,nn(e))}function j(e){return e=e|0,t[e+12>>2]|0}function W(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,nn(e))}function le(e){return e=e|0,t[e+16>>2]|0}function ie(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,nn(e))}function ce(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,nn(e))}function pe(e){return e=e|0,t[e+24>>2]|0}function Oe(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,nn(e))}function We(e){return e=e|0,t[e+28>>2]|0}function K(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,nn(e))}function Ee(e){return e=e|0,t[e+32>>2]|0}function Le(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,nn(e))}function Ke(e){return e=e|0,t[e+36>>2]|0}function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n,nn(e))}function ut(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n,nn(e))}function Ct(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n,nn(e))}function _t(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+52|0,s=e+56|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function st(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=mt(n)|0,t[r>>2]=o?3:2,nn(e))}function It(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function pn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=(l^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function tn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=l?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function rr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function Zt(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=(l^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function Nn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=l?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function a0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function gr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(D[e+60+(n<<3)>>2]=w(ne),t[r>>2]=3,nn(e))}function be(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=(l^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function Xe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=l?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function Fe(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function lt(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=mt(r)|0,o=(l^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,nn(e))}function Dt(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}function $t(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+348|0,s=e+352|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function _n(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=mt(n)|0,t[r>>2]=o?3:2,nn(e))}function Bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(ne),t[n>>2]=3,nn(e))}function d0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function p0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+356|0,s=e+360|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function oi(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=mt(n)|0,t[r>>2]=o?3:2,nn(e))}function wi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(ne),t[n>>2]=3,nn(e))}function y0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function Rr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function mo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=l?0:2,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function go(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function vl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function Ms(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=l?0:2,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function ml(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function ou(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function qu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=l?0:2,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function Fs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function Zi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=(l^1)&1,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function Bi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=mt(n)|0,r=l?0:2,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,nn(e))}function Rs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function I0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=n,nn(e))}function Ur(e){return e=e|0,w(D[e+396>>2])}function Jn(e){return e=e|0,w(D[e+400>>2])}function P0(e){return e=e|0,w(D[e+404>>2])}function z0(e){return e=e|0,w(D[e+408>>2])}function _o(e){return e=e|0,w(D[e+412>>2])}function bu(e){return e=e|0,w(D[e+416>>2])}function Uo(e){return e=e|0,w(D[e+420>>2])}function Or(e,n){switch(e=e|0,n=n|0,r0(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(D[e+424+(n<<2)>>2])}function Gn(e,n){switch(e=e|0,n=n|0,r0(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(D[e+448+(n<<2)>>2])}function ui(e,n){switch(e=e|0,n=n|0,r0(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(D[e+472+(n<<2)>>2])}function i0(e,n){e=e|0,n=n|0;var r=0,o=Ze;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(o=w(D[e>>2]),e=w(Ot(w(o-w(D[n>>2]))))>2]=0,t[o+4>>2]=0,t[o+8>>2]=0,Au(o|0,e|0,n|0,0),hn(e,3,(a[o+11>>0]|0)<0?t[o>>2]|0:o,r),LB(o),v=r}function W0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=Ze;e=w(e*n),s=w(z4(e,w(1)));do if(qr(s,w(0))|0)e=w(e-s);else{if(e=w(e-s),qr(s,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}o||(s>w(.5)?s=w(1):(o=qr(s,w(.5))|0,s=w(o?1:0)),e=w(e+s))}while(0);return w(e/n)}function H0(e,n,r,o,s,l,d,_,y,T,C,P,U){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,_=w(_),y=w(y),T=w(T),C=w(C),P=w(P),U=U|0;var ye=0,se=Ze,re=Ze,Ae=Ze,Ce=Ze,Be=Ze,ae=Ze;return y>2]),se!=w(0)):0)?(Ae=w(W0(n,se,0,0)),Ce=w(W0(o,se,0,0)),re=w(W0(l,se,0,0)),se=w(W0(_,se,0,0))):(re=l,Ae=n,se=_,Ce=o),(s|0)==(e|0)?ye=qr(re,Ae)|0:ye=0,(d|0)==(r|0)?U=qr(se,Ce)|0:U=0,((ye?0:(Be=w(n-C),!(fe(e,Be,y)|0)))?!(Re(e,Be,s,y)|0):0)?ye=ke(e,Be,s,l,y)|0:ye=1,((U?0:(ae=w(o-P),!(fe(r,ae,T)|0)))?!(Re(r,ae,d,T)|0):0)?U=ke(r,ae,d,_,T)|0:U=1,U=ye&U),U|0}function fe(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=qr(n,r)|0:e=0,e|0}function Re(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?n>=o?e=1:e=qr(n,o)|0:e=0,e|0}function ke(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&(r|0)==2&o>n?s<=n?e=1:e=qr(n,s)|0:e=0,e|0}function pt(e,n,r,o,s,l,d,_,y,T,C){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,T=T|0,C=C|0;var P=0,U=0,ye=0,se=0,re=Ze,Ae=Ze,Ce=0,Be=0,ae=0,ge=0,vt=0,On=0,jt=0,xt=0,an=0,xn=0,Bt=0,hr=Ze,Wi=Ze,Hi=Ze,Gi=0,Oo=0;Bt=v,v=v+160|0,xt=Bt+152|0,jt=Bt+120|0,On=Bt+104|0,ae=Bt+72|0,se=Bt+56|0,vt=Bt+8|0,Be=Bt,ge=(t[2279]|0)+1|0,t[2279]=ge,an=e+984|0,((a[an>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?Ce=4:(t[e+516>>2]|0)==(o|0)?xn=0:Ce=4,(Ce|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,D[e+932>>2]=w(-1),D[e+936>>2]=w(-1),xn=1);e:do if(t[e+964>>2]|0)if(re=w(ht(e,2,d)),Ae=w(ht(e,0,d)),P=e+916|0,Hi=w(D[P>>2]),Wi=w(D[e+920>>2]),hr=w(D[e+932>>2]),H0(s,n,l,r,t[e+924>>2]|0,Hi,t[e+928>>2]|0,Wi,hr,w(D[e+936>>2]),re,Ae,C)|0)Ce=22;else if(ye=t[e+520>>2]|0,!ye)Ce=21;else for(U=0;;){if(P=e+524+(U*24|0)|0,hr=w(D[P>>2]),Wi=w(D[e+524+(U*24|0)+4>>2]),Hi=w(D[e+524+(U*24|0)+16>>2]),H0(s,n,l,r,t[e+524+(U*24|0)+8>>2]|0,hr,t[e+524+(U*24|0)+12>>2]|0,Wi,Hi,w(D[e+524+(U*24|0)+20>>2]),re,Ae,C)|0){Ce=22;break e}if(U=U+1|0,U>>>0>=ye>>>0){Ce=21;break}}else{if(y){if(P=e+916|0,!(qr(w(D[P>>2]),n)|0)){Ce=21;break}if(!(qr(w(D[e+920>>2]),r)|0)){Ce=21;break}if((t[e+924>>2]|0)!=(s|0)){Ce=21;break}P=(t[e+928>>2]|0)==(l|0)?P:0,Ce=22;break}if(ye=t[e+520>>2]|0,!ye)Ce=21;else for(U=0;;){if(P=e+524+(U*24|0)|0,((qr(w(D[P>>2]),n)|0?qr(w(D[e+524+(U*24|0)+4>>2]),r)|0:0)?(t[e+524+(U*24|0)+8>>2]|0)==(s|0):0)?(t[e+524+(U*24|0)+12>>2]|0)==(l|0):0){Ce=22;break e}if(U=U+1|0,U>>>0>=ye>>>0){Ce=21;break}}}while(0);do if((Ce|0)==21)a[11697]|0?(P=0,Ce=28):(P=0,Ce=31);else if((Ce|0)==22){if(U=(a[11697]|0)!=0,!((P|0)!=0&(xn^1)))if(U){Ce=28;break}else{Ce=31;break}se=P+16|0,t[e+908>>2]=t[se>>2],ye=P+20|0,t[e+912>>2]=t[ye>>2],(a[11698]|0)==0|U^1||(t[Be>>2]=jn(ge)|0,t[Be+4>>2]=ge,hn(e,4,2972,Be),U=t[e+972>>2]|0,U|0&&Pl[U&127](e),s=Ht(s,y)|0,l=Ht(l,y)|0,Oo=+w(D[se>>2]),Gi=+w(D[ye>>2]),t[vt>>2]=s,t[vt+4>>2]=l,L[vt+8>>3]=+n,L[vt+16>>3]=+r,L[vt+24>>3]=Oo,L[vt+32>>3]=Gi,t[vt+40>>2]=T,hn(e,4,2989,vt))}while(0);return(Ce|0)==28&&(U=jn(ge)|0,t[se>>2]=U,t[se+4>>2]=ge,t[se+8>>2]=xn?3047:11699,hn(e,4,3038,se),U=t[e+972>>2]|0,U|0&&Pl[U&127](e),vt=Ht(s,y)|0,Ce=Ht(l,y)|0,t[ae>>2]=vt,t[ae+4>>2]=Ce,L[ae+8>>3]=+n,L[ae+16>>3]=+r,t[ae+24>>2]=T,hn(e,4,3049,ae),Ce=31),(Ce|0)==31&&(G0(e,n,r,o,s,l,d,_,y,C),a[11697]|0&&(U=t[2279]|0,vt=jn(U)|0,t[On>>2]=vt,t[On+4>>2]=U,t[On+8>>2]=xn?3047:11699,hn(e,4,3083,On),U=t[e+972>>2]|0,U|0&&Pl[U&127](e),vt=Ht(s,y)|0,On=Ht(l,y)|0,Gi=+w(D[e+908>>2]),Oo=+w(D[e+912>>2]),t[jt>>2]=vt,t[jt+4>>2]=On,L[jt+8>>3]=Gi,L[jt+16>>3]=Oo,t[jt+24>>2]=T,hn(e,4,3092,jt)),t[e+516>>2]=o,P||(U=e+520|0,P=t[U>>2]|0,(P|0)==16&&(a[11697]|0&&hn(e,4,3124,xt),t[U>>2]=0,P=0),y?P=e+916|0:(t[U>>2]=P+1,P=e+524+(P*24|0)|0),D[P>>2]=n,D[P+4>>2]=r,t[P+8>>2]=s,t[P+12>>2]=l,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),y&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],a[e+985>>0]=1,a[an>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],v=Bt,xn|(P|0)==0|0}function ht(e,n,r){e=e|0,n=n|0,r=w(r);var o=Ze;return o=w(_r(e,n,r)),w(o+w(M0(e,n,r)))}function hn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=v,v=v+16|0,s=l,t[s>>2]=o,e?o=t[e+976>>2]|0:o=0,zu(o,e,n,r,s),v=l}function jn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function Ht(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=v,v=v+32|0,r=s+12|0,o=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[o>>2]=t[257],t[o+4>>2]=t[258],t[o+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?o:r)+(e<<2)>>2]|0,v=s,e|0}function G0(e,n,r,o,s,l,d,_,y,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,T=T|0;var C=0,P=0,U=0,ye=0,se=Ze,re=Ze,Ae=Ze,Ce=Ze,Be=Ze,ae=Ze,ge=Ze,vt=0,On=0,jt=0,xt=Ze,an=Ze,xn=0,Bt=Ze,hr=0,Wi=0,Hi=0,Gi=0,Oo=0,Sf=0,Cf=0,gu=0,Tf=0,Gs=0,Vs=0,xf=0,kf=0,Af=0,zn=0,_u=0,Of=0,Zu=0,If=Ze,Pf=Ze,Ys=Ze,$s=Ze,es=Ze,ki=0,Ko=0,co=0,yu=0,Fl=0,Rl=Ze,Ks=Ze,Ll=Ze,Nl=Ze,Ai=Ze,mi=Ze,wu=0,yr=Ze,Bl=Ze,Vi=Ze,ts=Ze,Yi=Ze,ns=Ze,jl=0,Ul=0,rs=Ze,Oi=Ze,Du=0,ql=0,bl=0,zl=0,mn=Ze,jr=0,gi=0,$i=0,Ii=0,Dn=0,bt=0,Eu=0,Tt=Ze,Wl=0,$r=0;Eu=v,v=v+16|0,ki=Eu+12|0,Ko=Eu+8|0,co=Eu+4|0,yu=Eu,r0(e,(s|0)==0|(mt(n)|0)^1,3326),r0(e,(l|0)==0|(mt(r)|0)^1,3406),gi=to(e,o)|0,t[e+496>>2]=gi,Dn=F0(2,gi)|0,bt=F0(0,gi)|0,D[e+440>>2]=w(_r(e,Dn,d)),D[e+444>>2]=w(M0(e,Dn,d)),D[e+428>>2]=w(_r(e,bt,d)),D[e+436>>2]=w(M0(e,bt,d)),D[e+464>>2]=w(D0(e,Dn)),D[e+468>>2]=w(si(e,Dn)),D[e+452>>2]=w(D0(e,bt)),D[e+460>>2]=w(si(e,bt)),D[e+488>>2]=w(o0(e,Dn,d)),D[e+492>>2]=w(v0(e,Dn,d)),D[e+476>>2]=w(o0(e,bt,d)),D[e+484>>2]=w(v0(e,bt,d));do if(t[e+964>>2]|0)yo(e,n,r,s,l,d,_);else{if($i=e+948|0,Ii=(t[e+952>>2]|0)-(t[$i>>2]|0)>>2,!Ii){uu(e,n,r,s,l,d,_);break}if(y?0:_l(e,n,r,s,l,d,_)|0)break;Bo(e),_u=e+508|0,a[_u>>0]=0,Dn=F0(t[e+4>>2]|0,gi)|0,bt=yl(Dn,gi)|0,jr=Ir(Dn)|0,Of=t[e+8>>2]|0,ql=e+28|0,Zu=(t[ql>>2]|0)!=0,Yi=jr?d:_,rs=jr?_:d,If=w(R0(e,Dn,d)),Pf=w(su(e,Dn,d)),se=w(R0(e,bt,d)),ns=w(An(e,Dn,d)),Oi=w(An(e,bt,d)),jt=jr?s:l,Du=jr?l:s,mn=jr?ns:Oi,Be=jr?Oi:ns,ts=w(ht(e,2,d)),Ce=w(ht(e,0,d)),re=w(w(wn(e+364|0,d))-mn),Ae=w(w(wn(e+380|0,d))-mn),ae=w(w(wn(e+372|0,_))-Be),ge=w(w(wn(e+388|0,_))-Be),Ys=jr?re:ae,$s=jr?Ae:ge,ts=w(n-ts),n=w(ts-mn),mt(n)|0?mn=n:mn=w(Fr(w(fc(n,Ae)),re)),Bl=w(r-Ce),n=w(Bl-Be),mt(n)|0?Vi=n:Vi=w(Fr(w(fc(n,ge)),ae)),re=jr?mn:Vi,yr=jr?Vi:mn;e:do if((jt|0)==1)for(o=0,P=0;;){if(C=Qr(e,P)|0,!o)(w(Pr(C))>w(0)?w(Lr(C))>w(0):0)?o=C:o=0;else if(li(C)|0){ye=0;break e}if(P=P+1|0,P>>>0>=Ii>>>0){ye=o;break}}else ye=0;while(0);vt=ye+500|0,On=ye+504|0,o=0,C=0,n=w(0),U=0;do{if(P=t[(t[$i>>2]|0)+(U<<2)>>2]|0,(t[P+36>>2]|0)==1)no(P),a[P+985>>0]=1,a[P+984>>0]=0;else{Hr(P),y&&qo(P,to(P,gi)|0,re,yr,mn);do if((t[P+24>>2]|0)!=1)if((P|0)==(ye|0)){t[vt>>2]=t[2278],D[On>>2]=w(0);break}else{pr(e,P,mn,s,Vi,mn,Vi,l,gi,T);break}else C|0&&(t[C+960>>2]=P),t[P+960>>2]=0,C=P,o=(o|0)==0?P:o;while(0);mi=w(D[P+504>>2]),n=w(n+w(mi+w(ht(P,Dn,mn))))}U=U+1|0}while((U|0)!=(Ii|0));for(Hi=n>re,wu=Zu&((jt|0)==2&Hi)?1:jt,hr=(Du|0)==1,Oo=hr&(y^1),Sf=(wu|0)==1,Cf=(wu|0)==2,gu=976+(Dn<<2)|0,Tf=(Du|2|0)==2,Af=hr&(Zu^1),Gs=1040+(bt<<2)|0,Vs=1040+(Dn<<2)|0,xf=976+(bt<<2)|0,kf=(Du|0)!=1,Hi=Zu&((jt|0)!=0&Hi),Wi=e+976|0,hr=hr^1,n=re,xn=0,Gi=0,mi=w(0),es=w(0);;){e:do if(xn>>>0>>0)for(On=t[$i>>2]|0,U=0,ge=w(0),ae=w(0),Ae=w(0),re=w(0),P=0,C=0,ye=xn;;){if(vt=t[On+(ye<<2)>>2]|0,(t[vt+36>>2]|0)!=1?(t[vt+940>>2]=Gi,(t[vt+24>>2]|0)!=1):0){if(Ce=w(ht(vt,Dn,mn)),zn=t[gu>>2]|0,r=w(wn(vt+380+(zn<<3)|0,Yi)),Be=w(D[vt+504>>2]),r=w(fc(r,Be)),r=w(Fr(w(wn(vt+364+(zn<<3)|0,Yi)),r)),Zu&(U|0)!=0&w(Ce+w(ae+r))>n){l=U,Ce=ge,jt=ye;break e}Ce=w(Ce+r),r=w(ae+Ce),Ce=w(ge+Ce),li(vt)|0&&(Ae=w(Ae+w(Pr(vt))),re=w(re-w(Be*w(Lr(vt))))),C|0&&(t[C+960>>2]=vt),t[vt+960>>2]=0,U=U+1|0,C=vt,P=(P|0)==0?vt:P}else Ce=ge,r=ae;if(ye=ye+1|0,ye>>>0>>0)ge=Ce,ae=r;else{l=U,jt=ye;break}}else l=0,Ce=w(0),Ae=w(0),re=w(0),P=0,jt=xn;while(0);zn=Ae>w(0)&Aew(0)&re$s&((mt($s)|0)^1))n=$s,zn=51;else if(a[(t[Wi>>2]|0)+3>>0]|0)zn=51;else{if(xt!=w(0)?w(Pr(e))!=w(0):0){zn=53;break}n=Ce,zn=53}while(0);if((zn|0)==51&&(zn=0,mt(n)|0?zn=53:(an=w(n-Ce),Bt=n)),(zn|0)==53&&(zn=0,Ce>2]|0,ye=anw(0),ae=w(an/xt),Ae=w(0),Ce=w(0),n=w(0),C=P;do r=w(wn(C+380+(U<<3)|0,Yi)),re=w(wn(C+364+(U<<3)|0,Yi)),re=w(fc(r,w(Fr(re,w(D[C+504>>2]))))),ye?(r=w(re*w(Lr(C))),(r!=w(-0)?(Tt=w(re-w(Be*r)),Rl=w(En(C,Dn,Tt,Bt,mn)),Tt!=Rl):0)&&(Ae=w(Ae-w(Rl-re)),n=w(n+r))):((vt?(Ks=w(Pr(C)),Ks!=w(0)):0)?(Tt=w(re+w(ae*Ks)),Ll=w(En(C,Dn,Tt,Bt,mn)),Tt!=Ll):0)&&(Ae=w(Ae-w(Ll-re)),Ce=w(Ce-Ks)),C=t[C+960>>2]|0;while((C|0)!=0);if(n=w(ge+n),re=w(an+Ae),Fl)n=w(0);else{Be=w(xt+Ce),ye=t[gu>>2]|0,vt=rew(0),Be=w(re/Be),n=w(0);do{Tt=w(wn(P+380+(ye<<3)|0,Yi)),Ae=w(wn(P+364+(ye<<3)|0,Yi)),Ae=w(fc(Tt,w(Fr(Ae,w(D[P+504>>2]))))),vt?(Tt=w(Ae*w(Lr(P))),re=w(-Tt),Tt!=w(-0)?(Tt=w(ae*re),re=w(En(P,Dn,w(Ae+(On?re:Tt)),Bt,mn))):re=Ae):(U?(Nl=w(Pr(P)),Nl!=w(0)):0)?re=w(En(P,Dn,w(Ae+w(Be*Nl)),Bt,mn)):re=Ae,n=w(n-w(re-Ae)),Ce=w(ht(P,Dn,mn)),r=w(ht(P,bt,mn)),re=w(re+Ce),D[Ko>>2]=re,t[yu>>2]=1,Ae=w(D[P+396>>2]);e:do if(mt(Ae)|0){C=mt(yr)|0;do if(!C){if(Hi|(h0(P,bt,yr)|0|hr)||(E0(e,P)|0)!=4||(t[(fi(P,bt)|0)+4>>2]|0)==3||(t[(Ei(P,bt)|0)+4>>2]|0)==3)break;D[ki>>2]=yr,t[co>>2]=1;break e}while(0);if(h0(P,bt,yr)|0){C=t[P+992+(t[xf>>2]<<2)>>2]|0,Tt=w(r+w(wn(C,yr))),D[ki>>2]=Tt,C=kf&(t[C+4>>2]|0)==2,t[co>>2]=((mt(Tt)|0|C)^1)&1;break}else{D[ki>>2]=yr,t[co>>2]=C?0:2;break}}else Tt=w(re-Ce),xt=w(Tt/Ae),Tt=w(Ae*Tt),t[co>>2]=1,D[ki>>2]=w(r+(jr?xt:Tt));while(0);Gt(P,Dn,Bt,mn,yu,Ko),Gt(P,bt,yr,mn,co,ki);do if(h0(P,bt,yr)|0?0:(E0(e,P)|0)==4){if((t[(fi(P,bt)|0)+4>>2]|0)==3){C=0;break}C=(t[(Ei(P,bt)|0)+4>>2]|0)!=3}else C=0;while(0);Tt=w(D[Ko>>2]),xt=w(D[ki>>2]),Wl=t[yu>>2]|0,$r=t[co>>2]|0,pt(P,jr?Tt:xt,jr?xt:Tt,gi,jr?Wl:$r,jr?$r:Wl,mn,Vi,y&(C^1),3488,T)|0,a[_u>>0]=a[_u>>0]|a[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(an+n),$r=n>0]=$r|x[_u>>0],Cf&n>w(0)?(C=t[gu>>2]|0,((t[e+364+(C<<3)+4>>2]|0)!=0?(Ai=w(wn(e+364+(C<<3)|0,Yi)),Ai>=w(0)):0)?re=w(Fr(w(0),w(Ai-w(Bt-n)))):re=w(0)):re=n,vt=xn>>>0>>0,vt){ye=t[$i>>2]|0,U=xn,C=0;do P=t[ye+(U<<2)>>2]|0,t[P+24>>2]|0||(C=((t[(fi(P,Dn)|0)+4>>2]|0)==3&1)+C|0,C=C+((t[(Ei(P,Dn)|0)+4>>2]|0)==3&1)|0),U=U+1|0;while((U|0)!=(jt|0));C?(Ce=w(0),r=w(0)):zn=101}else zn=101;e:do if((zn|0)==101)switch(zn=0,Of|0){case 1:{C=0,Ce=w(re*w(.5)),r=w(0);break e}case 2:{C=0,Ce=re,r=w(0);break e}case 3:{if(l>>>0<=1){C=0,Ce=w(0),r=w(0);break e}r=w((l+-1|0)>>>0),C=0,Ce=w(0),r=w(w(Fr(re,w(0)))/r);break e}case 5:{r=w(re/w((l+1|0)>>>0)),C=0,Ce=r;break e}case 4:{r=w(re/w(l>>>0)),C=0,Ce=w(r*w(.5));break e}default:{C=0,Ce=w(0),r=w(0);break e}}while(0);if(n=w(If+Ce),vt){Ae=w(re/w(C|0)),U=t[$i>>2]|0,P=xn,re=w(0);do{C=t[U+(P<<2)>>2]|0;e:do if((t[C+36>>2]|0)!=1){switch(t[C+24>>2]|0){case 1:{if(X(C,Dn)|0){if(!y)break e;Tt=w(Y(C,Dn,Bt)),Tt=w(Tt+w(D0(e,Dn))),Tt=w(Tt+w(_r(C,Dn,mn))),D[C+400+(t[Vs>>2]<<2)>>2]=Tt;break e}break}case 0:if($r=(t[(fi(C,Dn)|0)+4>>2]|0)==3,Tt=w(Ae+n),n=$r?Tt:n,y&&($r=C+400+(t[Vs>>2]<<2)|0,D[$r>>2]=w(n+w(D[$r>>2]))),$r=(t[(Ei(C,Dn)|0)+4>>2]|0)==3,Tt=w(Ae+n),n=$r?Tt:n,Oo){Tt=w(r+w(ht(C,Dn,mn))),re=yr,n=w(n+w(Tt+w(D[C+504>>2])));break e}else{n=w(n+w(r+w(_e(C,Dn,mn)))),re=w(Fr(re,w(_e(C,bt,mn))));break e}default:}y&&(Tt=w(Ce+w(D0(e,Dn))),$r=C+400+(t[Vs>>2]<<2)|0,D[$r>>2]=w(Tt+w(D[$r>>2])))}while(0);P=P+1|0}while((P|0)!=(jt|0))}else re=w(0);if(r=w(Pf+n),Tf?Ce=w(w(En(e,bt,w(Oi+re),rs,d))-Oi):Ce=yr,Ae=w(w(En(e,bt,w(Oi+(Af?yr:re)),rs,d))-Oi),vt&y){P=xn;do{U=t[(t[$i>>2]|0)+(P<<2)>>2]|0;do if((t[U+36>>2]|0)!=1){if((t[U+24>>2]|0)==1){if(X(U,bt)|0){if(Tt=w(Y(U,bt,yr)),Tt=w(Tt+w(D0(e,bt))),Tt=w(Tt+w(_r(U,bt,mn))),C=t[Gs>>2]|0,D[U+400+(C<<2)>>2]=Tt,!(mt(Tt)|0))break}else C=t[Gs>>2]|0;Tt=w(D0(e,bt)),D[U+400+(C<<2)>>2]=w(Tt+w(_r(U,bt,mn)));break}C=E0(e,U)|0;do if((C|0)==4){if((t[(fi(U,bt)|0)+4>>2]|0)==3){zn=139;break}if((t[(Ei(U,bt)|0)+4>>2]|0)==3){zn=139;break}if(h0(U,bt,yr)|0){n=se;break}Wl=t[U+908+(t[gu>>2]<<2)>>2]|0,t[ki>>2]=Wl,n=w(D[U+396>>2]),$r=mt(n)|0,re=(t[b>>2]=Wl,w(D[b>>2])),$r?n=Ae:(an=w(ht(U,bt,mn)),Tt=w(re/n),n=w(n*re),n=w(an+(jr?Tt:n))),D[Ko>>2]=n,D[ki>>2]=w(w(ht(U,Dn,mn))+re),t[co>>2]=1,t[yu>>2]=1,Gt(U,Dn,Bt,mn,co,ki),Gt(U,bt,yr,mn,yu,Ko),n=w(D[ki>>2]),an=w(D[Ko>>2]),Tt=jr?n:an,n=jr?an:n,$r=((mt(Tt)|0)^1)&1,pt(U,Tt,n,gi,$r,((mt(n)|0)^1)&1,mn,Vi,1,3493,T)|0,n=se}else zn=139;while(0);e:do if((zn|0)==139){zn=0,n=w(Ce-w(_e(U,bt,mn)));do if((t[(fi(U,bt)|0)+4>>2]|0)==3){if((t[(Ei(U,bt)|0)+4>>2]|0)!=3)break;n=w(se+w(Fr(w(0),w(n*w(.5)))));break e}while(0);if((t[(Ei(U,bt)|0)+4>>2]|0)==3){n=se;break}if((t[(fi(U,bt)|0)+4>>2]|0)==3){n=w(se+w(Fr(w(0),n)));break}switch(C|0){case 1:{n=se;break e}case 2:{n=w(se+w(n*w(.5)));break e}default:{n=w(se+n);break e}}}while(0);Tt=w(mi+n),$r=U+400+(t[Gs>>2]<<2)|0,D[$r>>2]=w(Tt+w(D[$r>>2]))}while(0);P=P+1|0}while((P|0)!=(jt|0))}if(mi=w(mi+Ae),es=w(Fr(es,r)),l=Gi+1|0,jt>>>0>=Ii>>>0)break;n=Bt,xn=jt,Gi=l}do if(y){if(C=l>>>0>1,C?0:!(de(e)|0))break;if(!(mt(yr)|0)){n=w(yr-mi);e:do switch(t[e+12>>2]|0){case 3:{se=w(se+n),ae=w(0);break}case 2:{se=w(se+w(n*w(.5))),ae=w(0);break}case 4:{yr>mi?ae=w(n/w(l>>>0)):ae=w(0);break}case 7:if(yr>mi){se=w(se+w(n/w(l<<1>>>0))),ae=w(n/w(l>>>0)),ae=C?ae:w(0);break e}else{se=w(se+w(n*w(.5))),ae=w(0);break e}case 6:{ae=w(n/w(Gi>>>0)),ae=yr>mi&C?ae:w(0);break}default:ae=w(0)}while(0);if(l|0)for(vt=1040+(bt<<2)|0,On=976+(bt<<2)|0,ye=0,P=0;;){e:do if(P>>>0>>0)for(re=w(0),Ae=w(0),n=w(0),U=P;;){C=t[(t[$i>>2]|0)+(U<<2)>>2]|0;do if((t[C+36>>2]|0)!=1?(t[C+24>>2]|0)==0:0){if((t[C+940>>2]|0)!=(ye|0))break e;if(Ue(C,bt)|0&&(Tt=w(D[C+908+(t[On>>2]<<2)>>2]),n=w(Fr(n,w(Tt+w(ht(C,bt,mn)))))),(E0(e,C)|0)!=5)break;Ai=w(Qe(C)),Ai=w(Ai+w(_r(C,0,mn))),Tt=w(D[C+912>>2]),Tt=w(w(Tt+w(ht(C,0,mn)))-Ai),Ai=w(Fr(Ae,Ai)),Tt=w(Fr(re,Tt)),re=Tt,Ae=Ai,n=w(Fr(n,w(Ai+Tt)))}while(0);if(C=U+1|0,C>>>0>>0)U=C;else{U=C;break}}else Ae=w(0),n=w(0),U=P;while(0);if(Be=w(ae+n),r=se,se=w(se+Be),P>>>0>>0){Ce=w(r+Ae),C=P;do{P=t[(t[$i>>2]|0)+(C<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(E0(e,P)|0){case 1:{Tt=w(r+w(_r(P,bt,mn))),D[P+400+(t[vt>>2]<<2)>>2]=Tt;break e}case 3:{Tt=w(w(se-w(M0(P,bt,mn)))-w(D[P+908+(t[On>>2]<<2)>>2])),D[P+400+(t[vt>>2]<<2)>>2]=Tt;break e}case 2:{Tt=w(r+w(w(Be-w(D[P+908+(t[On>>2]<<2)>>2]))*w(.5))),D[P+400+(t[vt>>2]<<2)>>2]=Tt;break e}case 4:{if(Tt=w(r+w(_r(P,bt,mn))),D[P+400+(t[vt>>2]<<2)>>2]=Tt,h0(P,bt,yr)|0||(jr?(re=w(D[P+908>>2]),n=w(re+w(ht(P,Dn,mn))),Ae=Be):(Ae=w(D[P+912>>2]),Ae=w(Ae+w(ht(P,bt,mn))),n=Be,re=w(D[P+908>>2])),qr(n,re)|0?qr(Ae,w(D[P+912>>2]))|0:0))break e;pt(P,n,Ae,gi,1,1,mn,Vi,1,3501,T)|0;break e}case 5:{D[P+404>>2]=w(w(Ce-w(Qe(P)))+w(Y(P,0,yr)));break e}default:break e}while(0);C=C+1|0}while((C|0)!=(U|0))}if(ye=ye+1|0,(ye|0)==(l|0))break;P=U}}}while(0);if(D[e+908>>2]=w(En(e,2,ts,d,d)),D[e+912>>2]=w(En(e,0,Bl,_,d)),((wu|0)!=0?(jl=t[e+32>>2]|0,Ul=(wu|0)==2,!(Ul&(jl|0)!=2)):0)?Ul&(jl|0)==2&&(n=w(ns+Bt),n=w(Fr(w(fc(n,w(yt(e,Dn,es,Yi)))),ns)),zn=198):(n=w(En(e,Dn,es,Yi,d)),zn=198),(zn|0)==198&&(D[e+908+(t[976+(Dn<<2)>>2]<<2)>>2]=n),((Du|0)!=0?(bl=t[e+32>>2]|0,zl=(Du|0)==2,!(zl&(bl|0)!=2)):0)?zl&(bl|0)==2&&(n=w(Oi+yr),n=w(Fr(w(fc(n,w(yt(e,bt,w(Oi+mi),rs)))),Oi)),zn=204):(n=w(En(e,bt,w(Oi+mi),rs,d)),zn=204),(zn|0)==204&&(D[e+908+(t[976+(bt<<2)>>2]<<2)>>2]=n),y){if((t[ql>>2]|0)==2){P=976+(bt<<2)|0,U=1040+(bt<<2)|0,C=0;do ye=Qr(e,C)|0,t[ye+24>>2]|0||(Wl=t[P>>2]|0,Tt=w(D[e+908+(Wl<<2)>>2]),$r=ye+400+(t[U>>2]<<2)|0,Tt=w(Tt-w(D[$r>>2])),D[$r>>2]=w(Tt-w(D[ye+908+(Wl<<2)>>2]))),C=C+1|0;while((C|0)!=(Ii|0))}if(o|0){C=jr?wu:s;do Ut(e,o,mn,C,Vi,gi,T),o=t[o+960>>2]|0;while((o|0)!=0)}if(C=(Dn|2|0)==3,P=(bt|2|0)==3,C|P){o=0;do U=t[(t[$i>>2]|0)+(o<<2)>>2]|0,(t[U+36>>2]|0)!=1&&(C&&Kt(e,U,Dn),P&&Kt(e,U,bt)),o=o+1|0;while((o|0)!=(Ii|0))}}}while(0);v=Eu}function Di(e,n){e=e|0,n=w(n);var r=0;ri(e,n>=w(0),3147),r=n==w(0),D[e+4>>2]=r?w(0):n}function Wr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=Ze,l=Ze,d=0,_=0,y=0;t[2278]=(t[2278]|0)+1,Hr(e),h0(e,2,n)|0?(s=w(wn(t[e+992>>2]|0,n)),y=1,s=w(s+w(ht(e,2,n)))):(s=w(wn(e+380|0,n)),s>=w(0)?y=2:(y=((mt(n)|0)^1)&1,s=n)),h0(e,0,r)|0?(l=w(wn(t[e+996>>2]|0,r)),_=1,l=w(l+w(ht(e,0,n)))):(l=w(wn(e+388|0,r)),l>=w(0)?_=2:(_=((mt(r)|0)^1)&1,l=r)),d=e+976|0,(pt(e,s,l,o,y,_,n,r,1,3189,t[d>>2]|0)|0?(qo(e,t[e+496>>2]|0,n,r,n),ji(e,w(D[(t[d>>2]|0)+4>>2]),w(0),w(0)),a[11696]|0):0)&&of(e,7)}function Hr(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;_=v,v=v+32|0,d=_+24|0,l=_+16|0,o=_+8|0,s=_,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(y=n,T=t[y+4>>2]|0,C=o,t[C>>2]=t[y>>2],t[C+4>>2]=T,C=e+364+(r<<3)|0,T=t[C+4>>2]|0,y=s,t[y>>2]=t[C>>2],t[y+4>>2]=T,t[l>>2]=t[o>>2],t[l+4>>2]=t[o+4>>2],t[d>>2]=t[s>>2],t[d+4>>2]=t[s+4>>2],i0(l,d)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);v=_}function h0(e,n,r){e=e|0,n=n|0,r=w(r);var o=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(D[e>>2])>2])>2]|0){case 2:{n=w(w(w(D[e>>2])*n)/w(100));break}case 1:{n=w(D[e>>2]);break}default:n=w(ne)}return w(n)}function qo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=Ze;n=t[e+944>>2]|0?n:1,l=F0(t[e+4>>2]|0,n)|0,n=yl(l,n)|0,r=w(Nr(e,l,r)),o=w(Nr(e,n,o)),d=w(r+w(_r(e,l,s))),D[e+400+(t[1040+(l<<2)>>2]<<2)>>2]=d,r=w(r+w(M0(e,l,s))),D[e+400+(t[1e3+(l<<2)>>2]<<2)>>2]=r,r=w(o+w(_r(e,n,s))),D[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=w(o+w(M0(e,n,s))),D[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function ji(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=Ze,_=Ze,y=0,T=0,C=Ze,P=0,U=Ze,ye=Ze,se=Ze,re=Ze;if(n!=w(0)&&(s=e+400|0,re=w(D[s>>2]),l=e+404|0,se=w(D[l>>2]),P=e+416|0,ye=w(D[P>>2]),T=e+420|0,d=w(D[T>>2]),U=w(re+r),C=w(se+o),o=w(U+ye),_=w(C+d),y=(t[e+988>>2]|0)==1,D[s>>2]=w(W0(re,n,0,y)),D[l>>2]=w(W0(se,n,0,y)),r=w(z4(w(ye*n),w(1))),qr(r,w(0))|0?l=0:l=(qr(r,w(1))|0)^1,r=w(z4(w(d*n),w(1))),qr(r,w(0))|0?s=0:s=(qr(r,w(1))|0)^1,re=w(W0(o,n,y&l,y&(l^1))),D[P>>2]=w(re-w(W0(U,n,0,y))),re=w(W0(_,n,y&s,y&(s^1))),D[T>>2]=w(re-w(W0(C,n,0,y))),l=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,l|0)){s=0;do ji(Qr(e,s)|0,n,U,C),s=s+1|0;while((s|0)!=(l|0))}}function Qn(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:case 0:{e=B8(t[489]|0,o,s)|0;break}default:e=PB(o,s)|0}return e|0}function Ls(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=v,v=v+16|0,l=s,t[l>>2]=o,zu(e,0,n,r,l),v=s}function zu(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,iD[t[e+8>>2]&1](e,n,r,o,s)|0,(r|0)==5)dn();else return}function V0(e,n,r){e=e|0,n=n|0,r=r|0,a[e+n>>0]=r&1}function sf(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(w0(e,o),gl(e,t[n>>2]|0,t[r>>2]|0,o))}function w0(e,n){e=e|0,n=n|0;var r=0;if((Y0(e)|0)>>>0>>0&&bn(e),n>>>0>1073741823)dn();else{r=St(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function gl(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(cn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function Y0(e){return e=e|0,1073741823}function _r(e,n,r){return e=e|0,n=n|0,r=w(r),(Ir(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=Xt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(eo(e,r))}function M0(e,n,r){return e=e|0,n=n|0,r=w(r),(Ir(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=Xt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(eo(e,r))}function Ir(e){return e=e|0,(e|1|0)==3|0}function eo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(wn(e,n)),w(n)}function to(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 F0(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 D0(e,n){e=e|0,n=n|0;var r=Ze;return((Ir(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(D[e+308>>2]),r>=w(0)):0)||(r=w(Fr(w(D[(Xt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function si(e,n){e=e|0,n=n|0;var r=Ze;return((Ir(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(D[e+316>>2]),r>=w(0)):0)||(r=w(Fr(w(D[(Xt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function o0(e,n,r){e=e|0,n=n|0,r=w(r);var o=Ze;return((Ir(n)|0?(t[e+240>>2]|0)!=0:0)?(o=w(wn(e+236|0,r)),o>=w(0)):0)||(o=w(Fr(w(wn(Xt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=Ze;return((Ir(n)|0?(t[e+248>>2]|0)!=0:0)?(o=w(wn(e+244|0,r)),o>=w(0)):0)||(o=w(Fr(w(wn(Xt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function yo(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=Ze,y=Ze,T=Ze,C=Ze,P=Ze,U=Ze,ye=0,se=0,re=0;re=v,v=v+16|0,ye=re,se=e+964|0,r0(e,(t[se>>2]|0)!=0,3519),_=w(An(e,2,n)),y=w(An(e,0,n)),T=w(ht(e,2,n)),C=w(ht(e,0,n)),mt(n)|0?P=n:P=w(Fr(w(0),w(w(n-T)-_))),mt(r)|0?U=r:U=w(Fr(w(0),w(w(r-C)-y))),(o|0)==1&(s|0)==1?(D[e+908>>2]=w(En(e,2,w(n-T),l,l)),n=w(En(e,0,w(r-C),d,l))):(oD[t[se>>2]&1](ye,e,P,o,U,s),P=w(_+w(D[ye>>2])),U=w(n-T),D[e+908>>2]=w(En(e,2,(o|2|0)==2?P:U,l,l)),U=w(y+w(D[ye+4>>2])),n=w(r-C),n=w(En(e,0,(s|2|0)==2?U:n,d,l))),D[e+912>>2]=n,v=re}function uu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=Ze,y=Ze,T=Ze,C=Ze;T=w(An(e,2,l)),_=w(An(e,0,l)),C=w(ht(e,2,l)),y=w(ht(e,0,l)),n=w(n-C),D[e+908>>2]=w(En(e,2,(o|2|0)==2?T:n,l,l)),r=w(r-y),D[e+912>>2]=w(En(e,0,(s|2|0)==2?_:r,d,l))}function _l(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=0,y=Ze,T=Ze;return _=(o|0)==2,((n<=w(0)&_?0:!(r<=w(0)&(s|0)==2))?!((o|0)==1&(s|0)==1):0)?e=0:(y=w(ht(e,0,l)),T=w(ht(e,2,l)),_=n>2]=w(En(e,2,_?w(0):n,l,l)),n=w(r-y),_=r>2]=w(En(e,0,_?w(0):n,d,l)),e=1),e|0}function yl(e,n){return e=e|0,n=n|0,Nt(e)|0?e=F0(2,n)|0:e=0,e|0}function R0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(o0(e,n,r)),w(r+w(D0(e,n)))}function su(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(si(e,n)))}function An(e,n,r){e=e|0,n=n|0,r=w(r);var o=Ze;return o=w(R0(e,n,r)),w(o+w(su(e,n,r)))}function li(e){return e=e|0,t[e+24>>2]|0?e=0:w(Pr(e))!=w(0)?e=1:e=w(Lr(e))!=w(0),e|0}function Pr(e){e=e|0;var n=Ze;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),mt(n)|0)return n=w(D[e+40>>2]),e=n>w(0)&((mt(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function Lr(e){e=e|0;var n=Ze,r=0,o=Ze;do if(t[e+944>>2]|0){if(n=w(D[e+48>>2]),mt(n)|0){if(r=a[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(o=w(D[e+40>>2]),o>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function no(e){e=e|0;var n=0,r=0;if(ca(e+400|0,0,540)|0,a[e+985>>0]=1,Bo(e),r=ii(e)|0,r|0){n=e+948|0,e=0;do no(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function pr(e,n,r,o,s,l,d,_,y,T){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),d=w(d),_=_|0,y=y|0,T=T|0;var C=0,P=Ze,U=0,ye=0,se=Ze,re=Ze,Ae=0,Ce=Ze,Be=0,ae=Ze,ge=0,vt=0,On=0,jt=0,xt=0,an=0,xn=0,Bt=0,hr=0,Wi=0;hr=v,v=v+16|0,On=hr+12|0,jt=hr+8|0,xt=hr+4|0,an=hr,Bt=F0(t[e+4>>2]|0,y)|0,ge=Ir(Bt)|0,P=w(wn(Lt(n)|0,ge?l:d)),vt=h0(n,2,l)|0,xn=h0(n,0,d)|0;do if(mt(P)|0?0:!(mt(ge?r:s)|0)){if(C=n+504|0,!(mt(w(D[C>>2]))|0)&&(!(rn(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;D[C>>2]=w(Fr(P,w(An(n,Bt,l))))}else U=7;while(0);do if((U|0)==7){if(Be=ge^1,!(Be|vt^1)){d=w(wn(t[n+992>>2]|0,l)),D[n+504>>2]=w(Fr(d,w(An(n,2,l))));break}if(!(ge|xn^1)){d=w(wn(t[n+996>>2]|0,d)),D[n+504>>2]=w(Fr(d,w(An(n,0,l))));break}D[On>>2]=w(ne),D[jt>>2]=w(ne),t[xt>>2]=0,t[an>>2]=0,Ce=w(ht(n,2,l)),ae=w(ht(n,0,l)),vt?(se=w(Ce+w(wn(t[n+992>>2]|0,l))),D[On>>2]=se,t[xt>>2]=1,ye=1):(ye=0,se=w(ne)),xn?(P=w(ae+w(wn(t[n+996>>2]|0,d))),D[jt>>2]=P,t[an>>2]=1,C=1):(C=0,P=w(ne)),U=t[e+32>>2]|0,ge&(U|0)==2?U=2:(mt(se)|0?!(mt(r)|0):0)&&(D[On>>2]=r,t[xt>>2]=2,ye=2,se=r),(((U|0)==2&Be?0:mt(P)|0)?!(mt(s)|0):0)&&(D[jt>>2]=s,t[an>>2]=2,C=2,P=s),re=w(D[n+396>>2]),Ae=mt(re)|0;do if(Ae)U=ye;else{if((ye|0)==1&Be){D[jt>>2]=w(w(se-Ce)/re),t[an>>2]=1,C=1,U=1;break}ge&(C|0)==1?(D[On>>2]=w(re*w(P-ae)),t[xt>>2]=1,C=1,U=1):U=ye}while(0);Wi=mt(r)|0,ye=(E0(e,n)|0)!=4,(ge|vt|((o|0)!=1|Wi)|(ye|(U|0)==1)?0:(D[On>>2]=r,t[xt>>2]=1,!Ae))&&(D[jt>>2]=w(w(r-Ce)/re),t[an>>2]=1,C=1),(xn|Be|((_|0)!=1|(mt(s)|0))|(ye|(C|0)==1)?0:(D[jt>>2]=s,t[an>>2]=1,!Ae))&&(D[On>>2]=w(re*w(s-ae)),t[xt>>2]=1),Gt(n,2,l,l,xt,On),Gt(n,0,d,l,an,jt),r=w(D[On>>2]),s=w(D[jt>>2]),pt(n,r,s,y,t[xt>>2]|0,t[an>>2]|0,l,d,0,3565,T)|0,d=w(D[n+908+(t[976+(Bt<<2)>>2]<<2)>>2]),D[n+504>>2]=w(Fr(d,w(An(n,Bt,l))))}while(0);t[n+500>>2]=t[2278],v=hr}function En(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(yt(e,n,r,o)),w(Fr(o,w(An(e,n,s))))}function E0(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?Nt(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function fi(e,n){return e=e|0,n=n|0,(Ir(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ei(e,n){return e=e|0,n=n|0,(Ir(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Gt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=w(wn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(ht(e,n,o))),t[s>>2]|0){case 2:case 1:{s=mt(r)|0,o=w(D[l>>2]),D[l>>2]=s|o>2]=2,D[l>>2]=r);break}default:}}function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Ir(n)|0?(t[(Xt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(Xt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Ir(n)|0?(o=Xt(e,4,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=Xt(e,t[1040+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(wn(o,r))),w(r)}function _e(e,n,r){e=e|0,n=n|0,r=w(r);var o=Ze;return o=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),o=w(o+w(_r(e,n,r))),w(o+w(M0(e,n,r)))}function de(e){e=e|0;var n=0,r=0,o=0;e:do if(Nt(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=ii(e)|0,!r)n=0;else for(n=0;;){if(o=Qr(e,n)|0,(t[o+24>>2]|0)==0?(t[o+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 Ue(e,n){e=e|0,n=n|0;var r=Ze;return r=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((mt(r)|0)^1)|0}function Qe(e){e=e|0;var n=Ze,r=0,o=0,s=0,l=0,d=0,_=0,y=Ze;if(r=t[e+968>>2]|0,r)y=w(D[e+908>>2]),n=w(D[e+912>>2]),n=w(eD[r&0](e,y,n)),r0(e,(mt(n)|0)^1,3573);else{l=ii(e)|0;do if(l|0){for(r=0,s=0;;){if(o=Qr(e,s)|0,t[o+940>>2]|0){d=8;break}if((t[o+24>>2]|0)!=1)if(_=(E0(e,o)|0)==5,_){r=o;break}else r=(r|0)==0?o:r;if(s=s+1|0,s>>>0>=l>>>0){d=8;break}}if((d|0)==8&&!r)break;return n=w(Qe(r)),w(n+w(D[r+404>>2]))}while(0);n=w(D[e+912>>2])}return w(n)}function yt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=Ze,l=0;return Nt(n)|0?(n=1,l=3):Ir(n)|0?(n=0,l=3):(o=w(ne),s=w(ne)),(l|0)==3&&(s=w(wn(e+364+(n<<3)|0,o)),o=w(wn(e+380+(n<<3)|0,o))),l=o=w(0)&((mt(o)|0)^1)),r=l?o:r,l=s>=w(0)&((mt(s)|0)^1)&r>2]|0,l)|0,se=yl(Ae,l)|0,re=Ir(Ae)|0,P=w(ht(n,2,r)),U=w(ht(n,0,r)),h0(n,2,r)|0?_=w(P+w(wn(t[n+992>>2]|0,r))):(X(n,2)|0?gt(n,2)|0:0)?(_=w(D[e+908>>2]),y=w(D0(e,2)),y=w(_-w(y+w(si(e,2)))),_=w(Y(n,2,r)),_=w(En(n,2,w(y-w(_+w(ar(n,2,r)))),r,r))):_=w(ne),h0(n,0,s)|0?y=w(U+w(wn(t[n+996>>2]|0,s))):(X(n,0)|0?gt(n,0)|0:0)?(y=w(D[e+912>>2]),Be=w(D0(e,0)),Be=w(y-w(Be+w(si(e,0)))),y=w(Y(n,0,s)),y=w(En(n,0,w(Be-w(y+w(ar(n,0,s)))),s,r))):y=w(ne),T=mt(_)|0,C=mt(y)|0;do if(T^C?(ye=w(D[n+396>>2]),!(mt(ye)|0)):0)if(T){_=w(P+w(w(y-U)*ye));break}else{Be=w(U+w(w(_-P)/ye)),y=C?Be:y;break}while(0);C=mt(_)|0,T=mt(y)|0,C|T&&(ae=(C^1)&1,o=r>w(0)&((o|0)!=0&C),_=re?_:o?r:_,pt(n,_,y,l,re?ae:o?2:ae,C&(T^1)&1,_,y,0,3623,d)|0,_=w(D[n+908>>2]),_=w(_+w(ht(n,2,r))),y=w(D[n+912>>2]),y=w(y+w(ht(n,0,r)))),pt(n,_,y,l,1,1,_,y,1,3635,d)|0,(gt(n,Ae)|0?!(X(n,Ae)|0):0)?(ae=t[976+(Ae<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(Be-w(D[n+908+(ae<<2)>>2])),Be=w(Be-w(si(e,Ae))),Be=w(Be-w(M0(n,Ae,r))),Be=w(Be-w(ar(n,Ae,re?r:s))),D[n+400+(t[1040+(Ae<<2)>>2]<<2)>>2]=Be):Ce=21;do if((Ce|0)==21){if(X(n,Ae)|0?0:(t[e+8>>2]|0)==1){ae=t[976+(Ae<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(w(Be-w(D[n+908+(ae<<2)>>2]))*w(.5)),D[n+400+(t[1040+(Ae<<2)>>2]<<2)>>2]=Be;break}(X(n,Ae)|0?0:(t[e+8>>2]|0)==2)&&(ae=t[976+(Ae<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(Be-w(D[n+908+(ae<<2)>>2])),D[n+400+(t[1040+(Ae<<2)>>2]<<2)>>2]=Be)}while(0);(gt(n,se)|0?!(X(n,se)|0):0)?(ae=t[976+(se<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(Be-w(D[n+908+(ae<<2)>>2])),Be=w(Be-w(si(e,se))),Be=w(Be-w(M0(n,se,r))),Be=w(Be-w(ar(n,se,re?s:r))),D[n+400+(t[1040+(se<<2)>>2]<<2)>>2]=Be):Ce=30;do if((Ce|0)==30?!(X(n,se)|0):0){if((E0(e,n)|0)==2){ae=t[976+(se<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(w(Be-w(D[n+908+(ae<<2)>>2]))*w(.5)),D[n+400+(t[1040+(se<<2)>>2]<<2)>>2]=Be;break}ae=(E0(e,n)|0)==3,ae^(t[e+28>>2]|0)==2&&(ae=t[976+(se<<2)>>2]|0,Be=w(D[e+908+(ae<<2)>>2]),Be=w(Be-w(D[n+908+(ae<<2)>>2])),D[n+400+(t[1040+(se<<2)>>2]<<2)>>2]=Be)}while(0)}function Kt(e,n,r){e=e|0,n=n|0,r=r|0;var o=Ze,s=0;s=t[976+(r<<2)>>2]|0,o=w(D[n+908+(s<<2)>>2]),o=w(w(D[e+908+(s<<2)>>2])-o),o=w(o-w(D[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),D[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=o}function Nt(e){return e=e|0,(e|1|0)==1|0}function Lt(e){e=e|0;var n=Ze;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[e+40>>2]),n>w(0)&((mt(n)|0)^1)?e=a[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function rn(e,n){return e=e|0,n=n|0,(a[e+n>>0]|0)!=0|0}function gt(e,n){return e=e|0,n=n|0,e=e+132|0,(Ir(n)|0?(t[(Xt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(Xt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function ar(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Ir(n)|0?(o=Xt(e,5,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=Xt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(wn(o,r))),w(r)}function Nr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(-w(ar(e,n,r))),w(r)}function Dr(e){return e=w(e),D[b>>2]=e,t[b>>2]|0|0}function q(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)dn();else{s=St(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function ir(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Er(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&He(e)}function Vn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+4|0,_=t[d>>2]|0,s=_-o|0,l=s>>2,e=n+(l<<2)|0,e>>>0>>0){o=_;do t[o>>2]=t[e>>2],e=e+4|0,o=(t[d>>2]|0)+4|0,t[d>>2]=o;while(e>>>0>>0)}l|0&&J1(_+(0-l<<2)|0,n|0,s|0)|0}function Qt(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return _=n+4|0,y=t[_>>2]|0,s=t[e>>2]|0,d=r,l=d-s|0,o=y+(0-(l>>2)<<2)|0,t[_>>2]=o,(l|0)>0&&cn(o|0,s|0,l|0)|0,s=e+4|0,l=n+8|0,o=(t[s>>2]|0)-d|0,(o|0)>0&&(cn(t[l>>2]|0,r|0,o|0)|0,t[l>>2]=(t[l>>2]|0)+(o>>>2<<2)),d=t[e>>2]|0,t[e>>2]=t[_>>2],t[_>>2]=d,d=t[s>>2]|0,t[s>>2]=t[l>>2],t[l>>2]=d,d=e+8|0,r=n+12|0,e=t[d>>2]|0,t[d>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[_>>2],y|0}function u0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,l=t[r>>2]|0,(d|0)!=(l|0)){s=e+8|0,r=((l+-4-d|0)>>>2)+1|0,e=d,o=t[s>>2]|0;do t[o>>2]=t[e>>2],o=(t[s>>2]|0)+4|0,t[s>>2]=o,e=e+4|0;while((e|0)!=(l|0));t[n>>2]=d+(r<<2)}}function Zr(){pl()}function m0(){var e=0;return e=St(4)|0,Gr(e),e|0}function Gr(e){e=e|0,t[e>>2]=c0()|0}function g0(e){e=e|0,e|0&&(Ui(e),He(e))}function Ui(e){e=e|0,b0(t[e>>2]|0)}function ro(e,n,r){e=e|0,n=n|0,r=r|0,V0(t[e>>2]|0,n,r)}function S0(e,n){e=e|0,n=w(n),Di(t[e>>2]|0,n)}function Wu(e,n){return e=e|0,n=n|0,rn(t[e>>2]|0,n)|0}function $0(){var e=0;return e=St(8)|0,lf(e,0),e|0}function lf(e,n){e=e|0,n=n|0,n?n=k0(t[n>>2]|0)|0:n=Fu()|0,t[e>>2]=n,t[e+4>>2]=0,Ps(n,e)}function ba(e){e=e|0;var n=0;return n=St(8)|0,lf(n,e),n|0}function xc(e){e=e|0,e|0&&(lu(e),He(e))}function lu(e){e=e|0;var n=0;Lu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(Hu(e),He(e))}function Hu(e){e=e|0,K0(e)}function K0(e){e=e|0,e=t[e>>2]|0,e|0&&Pu(e|0)}function Vf(e){return e=e|0,Uu(e)|0}function ff(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Hu(n),He(n)),vo(t[e>>2]|0)}function za(e,n){e=e|0,n=n|0,ju(t[e>>2]|0,t[n>>2]|0)}function Wa(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function kc(e,n,r){e=e|0,n=n|0,r=+r,pn(t[e>>2]|0,n,w(r))}function fu(e,n,r){e=e|0,n=n|0,r=+r,tn(t[e>>2]|0,n,w(r))}function Yf(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}function cu(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}function io(e,n){e=e|0,n=n|0,ie(t[e>>2]|0,n)}function Ha(e,n){e=e|0,n=n|0,O0(t[e>>2]|0,n)}function Ns(e,n){e=e|0,n=n|0,Oe(t[e>>2]|0,n)}function Ga(e,n){e=e|0,n=n|0,Ar(t[e>>2]|0,n)}function Ac(e,n,r){e=e|0,n=n|0,r=+r,Zt(t[e>>2]|0,n,w(r))}function Gu(e,n,r){e=e|0,n=n|0,r=+r,Nn(t[e>>2]|0,n,w(r))}function Oc(e,n){e=e|0,n=n|0,gr(t[e>>2]|0,n)}function Ic(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}function Pc(e,n){e=e|0,n=n|0,Le(t[e>>2]|0,n)}function $f(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}function wl(e,n){e=e|0,n=+n,_t(t[e>>2]|0,w(n))}function Dl(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}function cf(e,n){e=e|0,n=+n,ut(t[e>>2]|0,w(n))}function wo(e,n){e=e|0,n=+n,Ct(t[e>>2]|0,w(n))}function af(e,n){e=e|0,n=+n,$t(t[e>>2]|0,w(n))}function Va(e,n){e=e|0,n=+n,_n(t[e>>2]|0,w(n))}function X0(e){e=e|0,Bn(t[e>>2]|0)}function Bs(e,n){e=e|0,n=+n,p0(t[e>>2]|0,w(n))}function ci(e,n){e=e|0,n=+n,oi(t[e>>2]|0,w(n))}function ai(e){e=e|0,wi(t[e>>2]|0)}function Kf(e,n){e=e|0,n=+n,Rr(t[e>>2]|0,w(n))}function Mc(e,n){e=e|0,n=+n,mo(t[e>>2]|0,w(n))}function Xf(e,n){e=e|0,n=+n,vl(t[e>>2]|0,w(n))}function oo(e,n){e=e|0,n=+n,Ms(t[e>>2]|0,w(n))}function bo(e,n){e=e|0,n=+n,ou(t[e>>2]|0,w(n))}function El(e,n){e=e|0,n=+n,qu(t[e>>2]|0,w(n))}function Fc(e,n){e=e|0,n=+n,Zi(t[e>>2]|0,w(n))}function Sl(e,n){e=e|0,n=+n,Bi(t[e>>2]|0,w(n))}function df(e,n){e=e|0,n=+n,I0(t[e>>2]|0,w(n))}function Jf(e,n,r){e=e|0,n=n|0,r=+r,lt(t[e>>2]|0,n,w(r))}function C0(e,n,r){e=e|0,n=n|0,r=+r,be(t[e>>2]|0,n,w(r))}function m(e,n,r){e=e|0,n=n|0,r=+r,Xe(t[e>>2]|0,n,w(r))}function h(e){return e=e|0,pe(t[e>>2]|0)|0}function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=v,v=v+16|0,s=o,rr(s,t[n>>2]|0,r),O(e,s),v=o}function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}function H(e){return e=e|0,j(t[e>>2]|0)|0}function Q(e){return e=e|0,le(t[e>>2]|0)|0}function Ve(e){return e=e|0,ce(t[e>>2]|0)|0}function Je(e){return e=e|0,iu(t[e>>2]|0)|0}function ot(e){return e=e|0,We(t[e>>2]|0)|0}function Tn(e){return e=e|0,F(t[e>>2]|0)|0}function T0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=v,v=v+16|0,s=o,a0(s,t[n>>2]|0,r),O(e,s),v=o}function Mr(e){return e=e|0,Ee(t[e>>2]|0)|0}function di(e){return e=e|0,Ke(t[e>>2]|0)|0}function uo(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,It(o,t[n>>2]|0),O(e,o),v=r}function pi(e){return e=e|0,+ +w(hl(t[e>>2]|0))}function Pe(e){return e=e|0,+ +w(ru(t[e>>2]|0))}function De(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,d0(o,t[n>>2]|0),O(e,o),v=r}function je(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,y0(o,t[n>>2]|0),O(e,o),v=r}function wt(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,go(o,t[n>>2]|0),O(e,o),v=r}function en(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,ml(o,t[n>>2]|0),O(e,o),v=r}function er(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,Fs(o,t[n>>2]|0),O(e,o),v=r}function fn(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,Rs(o,t[n>>2]|0),O(e,o),v=r}function or(e){return e=e|0,+ +w(Ur(t[e>>2]|0))}function Br(e,n){return e=e|0,n=n|0,+ +w(Dt(t[e>>2]|0,n))}function Un(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=v,v=v+16|0,s=o,Fe(s,t[n>>2]|0,r),O(e,s),v=o}function J0(e,n,r){e=e|0,n=n|0,r=r|0,Is(t[e>>2]|0,t[n>>2]|0,r)}function Qf(e,n){e=e|0,n=n|0,_0(t[e>>2]|0,t[n>>2]|0)}function kv(e){return e=e|0,ii(t[e>>2]|0)|0}function Ya(e){return e=e|0,e=Kn(t[e>>2]|0)|0,e?e=Vf(e)|0:e=0,e|0}function md(e,n){return e=e|0,n=n|0,e=Qr(t[e>>2]|0,n)|0,e?e=Vf(e)|0:e=0,e|0}function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=St(4)|0,$a(o,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=o,n|0&&(Hu(n),He(n)),Bu(t[e>>2]|0,1)}function $a(e,n){e=e|0,n=n|0,So(e,n)}function Rc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_=0;d=v,v=v+16|0,_=d,Av(_,Uu(n)|0,+r,o,+s,l),D[e>>2]=w(+L[_>>3]),D[e+4>>2]=w(+L[_+8>>3]),v=d}function Av(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y=0,T=0,C=0;d=v,v=v+32|0,C=d+8|0,T=d+20|0,y=d,_=d+16|0,L[C>>3]=r,t[T>>2]=o,L[y>>3]=s,t[_>>2]=l,_d(e,t[n+4>>2]|0,C,T,y,_),v=d}function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0;d=v,v=v+16|0,_=d,Vo(_),n=Si(n)|0,Ov(e,n,+L[r>>3],t[o>>2]|0,+L[s>>3],t[l>>2]|0),Yo(_),v=d}function Si(e){return e=e|0,t[e>>2]|0}function Ov(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=Do(yd()|0)|0,r=+zo(r),o=Lc(o)|0,s=+zo(s),Ka(e,Ji(0,d|0,n|0,+r,o|0,+s,Lc(l)|0)|0)}function yd(){var e=0;return a[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function Do(e){return e=e|0,t[e+8>>2]|0}function zo(e){return e=+e,+ +Cl(e)}function Lc(e){return e=e|0,Dd(e)|0}function Ka(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=v,v=v+32|0,r=s,o=n,o&1?(Iv(r,0),f0(o|0,r|0)|0,Xa(e,r),Ln(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]),v=s}function Iv(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,a[e+24>>0]=0}function Xa(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 Ln(e){e=e|0,a[e+24>>0]=0}function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}function Dd(e){return e=e|0,e|0}function Cl(e){return e=+e,+e}function Ed(e){e=e|0,Eo(e,Pv()|0,4)}function Pv(){return 1064}function Eo(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]=fl(n|0,r+1|0)|0}function So(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ri(n|0)}function Mv(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Hu(n),He(n)),Bu(t[e>>2]|0,0)}function Nc(e){e=e|0,Xn(t[e>>2]|0)}function Ja(e){return e=e|0,jo(t[e>>2]|0)|0}function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Wr(t[e>>2]|0,w(n),w(r),o)}function Cd(e){return e=e|0,+ +w(Jn(t[e>>2]|0))}function so(e){return e=e|0,+ +w(z0(t[e>>2]|0))}function js(e){return e=e|0,+ +w(P0(t[e>>2]|0))}function Qa(e){return e=e|0,+ +w(_o(t[e>>2]|0))}function Td(e){return e=e|0,+ +w(bu(t[e>>2]|0))}function Bc(e){return e=e|0,+ +w(Uo(t[e>>2]|0))}function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(Jn(t[n>>2]|0)),L[e+8>>3]=+w(z0(t[n>>2]|0)),L[e+16>>3]=+w(P0(t[n>>2]|0)),L[e+24>>3]=+w(_o(t[n>>2]|0)),L[e+32>>3]=+w(bu(t[n>>2]|0)),L[e+40>>3]=+w(Uo(t[n>>2]|0))}function Za(e,n){return e=e|0,n=n|0,+ +w(Or(t[e>>2]|0,n))}function kd(e,n){return e=e|0,n=n|0,+ +w(Gn(t[e>>2]|0,n))}function e1(e,n){return e=e|0,n=n|0,+ +w(ui(t[e>>2]|0,n))}function t1(){return Os()|0}function Us(){Fv(),qs(),Ad(),Od(),n1(),Rv()}function Fv(){mM(11713,4938,1)}function qs(){LP(10448)}function Ad(){mP(10408)}function Od(){UI(10324)}function n1(){YA(10096)}function Rv(){Lv(9132)}function Lv(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0,Be=0,ae=0,ge=0,vt=0,On=0,jt=0,xt=0,an=0,xn=0,Bt=0,hr=0,Wi=0,Hi=0,Gi=0,Oo=0,Sf=0,Cf=0,gu=0,Tf=0,Gs=0,Vs=0,xf=0,kf=0,Af=0,zn=0,_u=0,Of=0,Zu=0,If=0,Pf=0,Ys=0,$s=0,es=0,ki=0,Ko=0,co=0,yu=0,Fl=0,Rl=0,Ks=0,Ll=0,Nl=0,Ai=0,mi=0,wu=0,yr=0,Bl=0,Vi=0,ts=0,Yi=0,ns=0,jl=0,Ul=0,rs=0,Oi=0,Du=0,ql=0,bl=0,zl=0,mn=0,jr=0,gi=0,$i=0,Ii=0,Dn=0,bt=0,Eu=0;n=v,v=v+672|0,r=n+656|0,Eu=n+648|0,bt=n+640|0,Dn=n+632|0,Ii=n+624|0,$i=n+616|0,gi=n+608|0,jr=n+600|0,mn=n+592|0,zl=n+584|0,bl=n+576|0,ql=n+568|0,Du=n+560|0,Oi=n+552|0,rs=n+544|0,Ul=n+536|0,jl=n+528|0,ns=n+520|0,Yi=n+512|0,ts=n+504|0,Vi=n+496|0,Bl=n+488|0,yr=n+480|0,wu=n+472|0,mi=n+464|0,Ai=n+456|0,Nl=n+448|0,Ll=n+440|0,Ks=n+432|0,Rl=n+424|0,Fl=n+416|0,yu=n+408|0,co=n+400|0,Ko=n+392|0,ki=n+384|0,es=n+376|0,$s=n+368|0,Ys=n+360|0,Pf=n+352|0,If=n+344|0,Zu=n+336|0,Of=n+328|0,_u=n+320|0,zn=n+312|0,Af=n+304|0,kf=n+296|0,xf=n+288|0,Vs=n+280|0,Gs=n+272|0,Tf=n+264|0,gu=n+256|0,Cf=n+248|0,Sf=n+240|0,Oo=n+232|0,Gi=n+224|0,Hi=n+216|0,Wi=n+208|0,hr=n+200|0,Bt=n+192|0,xn=n+184|0,an=n+176|0,xt=n+168|0,jt=n+160|0,On=n+152|0,vt=n+144|0,ge=n+136|0,ae=n+128|0,Be=n+120|0,Ce=n+112|0,Ae=n+104|0,re=n+96|0,se=n+88|0,ye=n+80|0,U=n+72|0,P=n+64|0,C=n+56|0,T=n+48|0,y=n+40|0,_=n+32|0,d=n+24|0,l=n+16|0,s=n+8|0,o=n,Nv(e,3646),Id(e,3651,2)|0,Pd(e,3665,2)|0,Bv(e,3682,18)|0,t[Eu>>2]=19,t[Eu+4>>2]=0,t[r>>2]=t[Eu>>2],t[r+4>>2]=t[Eu+4>>2],pf(e,3690,r)|0,t[bt>>2]=1,t[bt+4>>2]=0,t[r>>2]=t[bt>>2],t[r+4>>2]=t[bt+4>>2],Md(e,3696,r)|0,t[Dn>>2]=2,t[Dn+4>>2]=0,t[r>>2]=t[Dn>>2],t[r+4>>2]=t[Dn+4>>2],Vr(e,3706,r)|0,t[Ii>>2]=1,t[Ii+4>>2]=0,t[r>>2]=t[Ii>>2],t[r+4>>2]=t[Ii+4>>2],hi(e,3722,r)|0,t[$i>>2]=2,t[$i+4>>2]=0,t[r>>2]=t[$i>>2],t[r+4>>2]=t[$i+4>>2],hi(e,3734,r)|0,t[gi>>2]=3,t[gi+4>>2]=0,t[r>>2]=t[gi>>2],t[r+4>>2]=t[gi+4>>2],Vr(e,3753,r)|0,t[jr>>2]=4,t[jr+4>>2]=0,t[r>>2]=t[jr>>2],t[r+4>>2]=t[jr+4>>2],Vr(e,3769,r)|0,t[mn>>2]=5,t[mn+4>>2]=0,t[r>>2]=t[mn>>2],t[r+4>>2]=t[mn+4>>2],Vr(e,3783,r)|0,t[zl>>2]=6,t[zl+4>>2]=0,t[r>>2]=t[zl>>2],t[r+4>>2]=t[zl+4>>2],Vr(e,3796,r)|0,t[bl>>2]=7,t[bl+4>>2]=0,t[r>>2]=t[bl>>2],t[r+4>>2]=t[bl+4>>2],Vr(e,3813,r)|0,t[ql>>2]=8,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],Vr(e,3825,r)|0,t[Du>>2]=3,t[Du+4>>2]=0,t[r>>2]=t[Du>>2],t[r+4>>2]=t[Du+4>>2],hi(e,3843,r)|0,t[Oi>>2]=4,t[Oi+4>>2]=0,t[r>>2]=t[Oi>>2],t[r+4>>2]=t[Oi+4>>2],hi(e,3853,r)|0,t[rs>>2]=9,t[rs+4>>2]=0,t[r>>2]=t[rs>>2],t[r+4>>2]=t[rs+4>>2],Vr(e,3870,r)|0,t[Ul>>2]=10,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],Vr(e,3884,r)|0,t[jl>>2]=11,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],Vr(e,3896,r)|0,t[ns>>2]=1,t[ns+4>>2]=0,t[r>>2]=t[ns>>2],t[r+4>>2]=t[ns+4>>2],L0(e,3907,r)|0,t[Yi>>2]=2,t[Yi+4>>2]=0,t[r>>2]=t[Yi>>2],t[r+4>>2]=t[Yi+4>>2],L0(e,3915,r)|0,t[ts>>2]=3,t[ts+4>>2]=0,t[r>>2]=t[ts>>2],t[r+4>>2]=t[ts+4>>2],L0(e,3928,r)|0,t[Vi>>2]=4,t[Vi+4>>2]=0,t[r>>2]=t[Vi>>2],t[r+4>>2]=t[Vi+4>>2],L0(e,3948,r)|0,t[Bl>>2]=5,t[Bl+4>>2]=0,t[r>>2]=t[Bl>>2],t[r+4>>2]=t[Bl+4>>2],L0(e,3960,r)|0,t[yr>>2]=6,t[yr+4>>2]=0,t[r>>2]=t[yr>>2],t[r+4>>2]=t[yr+4>>2],L0(e,3974,r)|0,t[wu>>2]=7,t[wu+4>>2]=0,t[r>>2]=t[wu>>2],t[r+4>>2]=t[wu+4>>2],L0(e,3983,r)|0,t[mi>>2]=20,t[mi+4>>2]=0,t[r>>2]=t[mi>>2],t[r+4>>2]=t[mi+4>>2],pf(e,3999,r)|0,t[Ai>>2]=8,t[Ai+4>>2]=0,t[r>>2]=t[Ai>>2],t[r+4>>2]=t[Ai+4>>2],L0(e,4012,r)|0,t[Nl>>2]=9,t[Nl+4>>2]=0,t[r>>2]=t[Nl>>2],t[r+4>>2]=t[Nl+4>>2],L0(e,4022,r)|0,t[Ll>>2]=21,t[Ll+4>>2]=0,t[r>>2]=t[Ll>>2],t[r+4>>2]=t[Ll+4>>2],pf(e,4039,r)|0,t[Ks>>2]=10,t[Ks+4>>2]=0,t[r>>2]=t[Ks>>2],t[r+4>>2]=t[Ks+4>>2],L0(e,4053,r)|0,t[Rl>>2]=11,t[Rl+4>>2]=0,t[r>>2]=t[Rl>>2],t[r+4>>2]=t[Rl+4>>2],L0(e,4065,r)|0,t[Fl>>2]=12,t[Fl+4>>2]=0,t[r>>2]=t[Fl>>2],t[r+4>>2]=t[Fl+4>>2],L0(e,4084,r)|0,t[yu>>2]=13,t[yu+4>>2]=0,t[r>>2]=t[yu>>2],t[r+4>>2]=t[yu+4>>2],L0(e,4097,r)|0,t[co>>2]=14,t[co+4>>2]=0,t[r>>2]=t[co>>2],t[r+4>>2]=t[co+4>>2],L0(e,4117,r)|0,t[Ko>>2]=15,t[Ko+4>>2]=0,t[r>>2]=t[Ko>>2],t[r+4>>2]=t[Ko+4>>2],L0(e,4129,r)|0,t[ki>>2]=16,t[ki+4>>2]=0,t[r>>2]=t[ki>>2],t[r+4>>2]=t[ki+4>>2],L0(e,4148,r)|0,t[es>>2]=17,t[es+4>>2]=0,t[r>>2]=t[es>>2],t[r+4>>2]=t[es+4>>2],L0(e,4161,r)|0,t[$s>>2]=18,t[$s+4>>2]=0,t[r>>2]=t[$s>>2],t[r+4>>2]=t[$s+4>>2],L0(e,4181,r)|0,t[Ys>>2]=5,t[Ys+4>>2]=0,t[r>>2]=t[Ys>>2],t[r+4>>2]=t[Ys+4>>2],hi(e,4196,r)|0,t[Pf>>2]=6,t[Pf+4>>2]=0,t[r>>2]=t[Pf>>2],t[r+4>>2]=t[Pf+4>>2],hi(e,4206,r)|0,t[If>>2]=7,t[If+4>>2]=0,t[r>>2]=t[If>>2],t[r+4>>2]=t[If+4>>2],hi(e,4217,r)|0,t[Zu>>2]=3,t[Zu+4>>2]=0,t[r>>2]=t[Zu>>2],t[r+4>>2]=t[Zu+4>>2],Vu(e,4235,r)|0,t[Of>>2]=1,t[Of+4>>2]=0,t[r>>2]=t[Of>>2],t[r+4>>2]=t[Of+4>>2],hf(e,4251,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],Vu(e,4263,r)|0,t[zn>>2]=5,t[zn+4>>2]=0,t[r>>2]=t[zn>>2],t[r+4>>2]=t[zn+4>>2],Vu(e,4279,r)|0,t[Af>>2]=6,t[Af+4>>2]=0,t[r>>2]=t[Af>>2],t[r+4>>2]=t[Af+4>>2],Vu(e,4293,r)|0,t[kf>>2]=7,t[kf+4>>2]=0,t[r>>2]=t[kf>>2],t[r+4>>2]=t[kf+4>>2],Vu(e,4306,r)|0,t[xf>>2]=8,t[xf+4>>2]=0,t[r>>2]=t[xf>>2],t[r+4>>2]=t[xf+4>>2],Vu(e,4323,r)|0,t[Vs>>2]=9,t[Vs+4>>2]=0,t[r>>2]=t[Vs>>2],t[r+4>>2]=t[Vs+4>>2],Vu(e,4335,r)|0,t[Gs>>2]=2,t[Gs+4>>2]=0,t[r>>2]=t[Gs>>2],t[r+4>>2]=t[Gs+4>>2],hf(e,4353,r)|0,t[Tf>>2]=12,t[Tf+4>>2]=0,t[r>>2]=t[Tf>>2],t[r+4>>2]=t[Tf+4>>2],Co(e,4363,r)|0,t[gu>>2]=1,t[gu+4>>2]=0,t[r>>2]=t[gu>>2],t[r+4>>2]=t[gu+4>>2],au(e,4376,r)|0,t[Cf>>2]=2,t[Cf+4>>2]=0,t[r>>2]=t[Cf>>2],t[r+4>>2]=t[Cf+4>>2],au(e,4388,r)|0,t[Sf>>2]=13,t[Sf+4>>2]=0,t[r>>2]=t[Sf>>2],t[r+4>>2]=t[Sf+4>>2],Co(e,4402,r)|0,t[Oo>>2]=14,t[Oo+4>>2]=0,t[r>>2]=t[Oo>>2],t[r+4>>2]=t[Oo+4>>2],Co(e,4411,r)|0,t[Gi>>2]=15,t[Gi+4>>2]=0,t[r>>2]=t[Gi>>2],t[r+4>>2]=t[Gi+4>>2],Co(e,4421,r)|0,t[Hi>>2]=16,t[Hi+4>>2]=0,t[r>>2]=t[Hi>>2],t[r+4>>2]=t[Hi+4>>2],Co(e,4433,r)|0,t[Wi>>2]=17,t[Wi+4>>2]=0,t[r>>2]=t[Wi>>2],t[r+4>>2]=t[Wi+4>>2],Co(e,4446,r)|0,t[hr>>2]=18,t[hr+4>>2]=0,t[r>>2]=t[hr>>2],t[r+4>>2]=t[hr+4>>2],Co(e,4458,r)|0,t[Bt>>2]=3,t[Bt+4>>2]=0,t[r>>2]=t[Bt>>2],t[r+4>>2]=t[Bt+4>>2],au(e,4471,r)|0,t[xn>>2]=1,t[xn+4>>2]=0,t[r>>2]=t[xn>>2],t[r+4>>2]=t[xn+4>>2],Zf(e,4486,r)|0,t[an>>2]=10,t[an+4>>2]=0,t[r>>2]=t[an>>2],t[r+4>>2]=t[an+4>>2],Vu(e,4496,r)|0,t[xt>>2]=11,t[xt+4>>2]=0,t[r>>2]=t[xt>>2],t[r+4>>2]=t[xt+4>>2],Vu(e,4508,r)|0,t[jt>>2]=3,t[jt+4>>2]=0,t[r>>2]=t[jt>>2],t[r+4>>2]=t[jt+4>>2],hf(e,4519,r)|0,t[On>>2]=4,t[On+4>>2]=0,t[r>>2]=t[On>>2],t[r+4>>2]=t[On+4>>2],jv(e,4530,r)|0,t[vt>>2]=19,t[vt+4>>2]=0,t[r>>2]=t[vt>>2],t[r+4>>2]=t[vt+4>>2],Fd(e,4542,r)|0,t[ge>>2]=12,t[ge+4>>2]=0,t[r>>2]=t[ge>>2],t[r+4>>2]=t[ge+4>>2],vf(e,4554,r)|0,t[ae>>2]=13,t[ae+4>>2]=0,t[r>>2]=t[ae>>2],t[r+4>>2]=t[ae+4>>2],ec(e,4568,r)|0,t[Be>>2]=2,t[Be+4>>2]=0,t[r>>2]=t[Be>>2],t[r+4>>2]=t[Be+4>>2],Uv(e,4578,r)|0,t[Ce>>2]=20,t[Ce+4>>2]=0,t[r>>2]=t[Ce>>2],t[r+4>>2]=t[Ce+4>>2],Rd(e,4587,r)|0,t[Ae>>2]=22,t[Ae+4>>2]=0,t[r>>2]=t[Ae>>2],t[r+4>>2]=t[Ae+4>>2],pf(e,4602,r)|0,t[re>>2]=23,t[re+4>>2]=0,t[r>>2]=t[re>>2],t[r+4>>2]=t[re+4>>2],pf(e,4619,r)|0,t[se>>2]=14,t[se+4>>2]=0,t[r>>2]=t[se>>2],t[r+4>>2]=t[se+4>>2],Ld(e,4629,r)|0,t[ye>>2]=1,t[ye+4>>2]=0,t[r>>2]=t[ye>>2],t[r+4>>2]=t[ye+4>>2],jc(e,4637,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],au(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],au(e,4669,r)|0,t[C>>2]=6,t[C+4>>2]=0,t[r>>2]=t[C>>2],t[r+4>>2]=t[C+4>>2],au(e,4686,r)|0,t[T>>2]=7,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],au(e,4701,r)|0,t[y>>2]=8,t[y+4>>2]=0,t[r>>2]=t[y>>2],t[r+4>>2]=t[y+4>>2],au(e,4719,r)|0,t[_>>2]=9,t[_+4>>2]=0,t[r>>2]=t[_>>2],t[r+4>>2]=t[_+4>>2],au(e,4736,r)|0,t[d>>2]=21,t[d+4>>2]=0,t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],Nd(e,4754,r)|0,t[l>>2]=2,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],Zf(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Zf(e,4790,r)|0,t[o>>2]=4,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],Zf(e,4808,r)|0,v=n}function Nv(e,n){e=e|0,n=n|0;var r=0;r=jA()|0,t[e>>2]=r,UA(r,n),wf(t[e>>2]|0)}function Id(e,n,r){return e=e|0,n=n|0,r=r|0,CA(e,Yn(n)|0,r,0),e|0}function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,lA(e,Yn(n)|0,r,0),e|0}function Bv(e,n,r){return e=e|0,n=n|0,r=r|0,$k(e,Yn(n)|0,r,0),e|0}function pf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Mk(e,n,s),v=o,e|0}function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],fo(e,n,s),v=o,e|0}function Vr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],c(e,n,s),v=o,e|0}function hi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Q_(e,n,s),v=o,e|0}function L0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],q_(e,n,s),v=o,e|0}function Vu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],I_(e,n,s),v=o,e|0}function hf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Wp(e,n,s),v=o,e|0}function Co(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Xg(e,n,s),v=o,e|0}function au(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ip(e,n,s),v=o,e|0}function Zf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Mg(e,n,s),v=o,e|0}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],s0(e,n,s),v=o,e|0}function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],cg(e,n,s),v=o,e|0}function vf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],rg(e,n,s),v=o,e|0}function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gm(e,n,s),v=o,e|0}function Uv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],S1(e,n,s),v=o,e|0}function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],mm(e,n,s),v=o,e|0}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],om(e,n,s),v=o,e|0}function jc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gd(e,n,s),v=o,e|0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Uc(e,n,s),v=o,e|0}function Uc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],qc(e,r,s,1),v=o}function Yn(e){return e=e|0,e|0}function qc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=r1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Bd(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,bc(l,o)|0,o),v=s}function r1(){var e=0,n=0;if(a[7616]|0||(du(9136),Pt(24,9136,ue|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(vn(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));du(9136)}return 9136}function Bd(e){return e=e|0,0}function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=r1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],u1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Zn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0;d=v,v=v+32|0,U=d+24|0,P=d+20|0,y=d+16|0,C=d+12|0,T=d+8|0,_=d+4|0,ye=d,t[P>>2]=n,t[y>>2]=r,t[C>>2]=o,t[T>>2]=s,t[_>>2]=l,l=e+28|0,t[ye>>2]=t[l>>2],t[U>>2]=t[ye>>2],i1(e+24|0,U,P,C,T,y,_)|0,t[l>>2]=t[t[l>>2]>>2],v=d}function i1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,e=qv(n)|0,n=St(24)|0,o1(n+4|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0,t[d>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function qv(e){return e=e|0,t[e>>2]|0}function o1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function At(e,n){return e=e|0,n=n|0,n|e|0}function u1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=bv(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Ud(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],u1(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zv(e,_),Wv(_),v=T;return}}function bv(e){return e=e|0,357913941}function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Wv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function du(e){e=e|0,zc(e)}function s1(e){e=e|0,l1(e+24|0)}function vn(e){return e=e|0,t[e>>2]|0}function l1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function zc(e){e=e|0;var n=0;n=Sn()|0,In(e,2,3,n,on()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Sn(){return 9228}function on(){return 1140}function Wc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=Tl(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Hv(n,o)|0,v=r,n|0}function In(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Tl(e){return e=e|0,(t[(r1()|0)+24>>2]|0)+(e*12|0)|0}function Hv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=v,v=v+48|0,o=s,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[r&31](o,e),o=f1(o)|0,v=s,o|0}function f1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=v,v=v+32|0,n=s+12|0,r=s,o=N0(c1()|0)|0,o?(a1(n,o),d1(r,n),qd(e,r),e=p1(n)|0):e=bd(e)|0,v=s,e|0}function c1(){var e=0;return a[7632]|0||(tc(9184),Pt(25,9184,ue|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function N0(e){return e=e|0,t[e+36>>2]|0}function a1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function d1(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 qd(e,n){e=e|0,n=n|0,Ci(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function p1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function bd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=v,v=v+16|0,r=y+4|0,o=y,s=Go(8)|0,l=s,d=St(48)|0,_=d,n=_+48|0;do t[_>>2]=t[e>>2],_=_+4|0,e=e+4|0;while((_|0)<(n|0));return n=l+4|0,t[n>>2]=d,_=St(8)|0,d=t[n>>2]|0,t[o>>2]=0,t[r>>2]=t[o>>2],zd(_,d,r),t[s>>2]=_,v=y,l|0}function zd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=St(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 Gv(e){e=e|0,fa(e),He(e)}function Vv(e){e=e|0,e=t[e+12>>2]|0,e|0&&He(e)}function Yu(e){e=e|0,He(e)}function Ci(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,l=h1(t[e>>2]|0,n,r,o,s,l,d)|0,d=e+4|0,t[(t[d>>2]|0)+8>>2]=l,t[(t[d>>2]|0)+8>>2]|0}function h1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var _=0,y=0;return _=v,v=v+16|0,y=_,Vo(y),e=Si(e)|0,d=Yv(e,+L[n>>3],+L[r>>3],+L[o>>3],+L[s>>3],+L[l>>3],+L[d>>3])|0,Yo(y),v=_,d|0}function Yv(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;return _=Do(v1()|0)|0,n=+zo(n),r=+zo(r),o=+zo(o),s=+zo(s),l=+zo(l),ws(0,_|0,e|0,+n,+r,+o,+s,+l,+ +zo(d))|0}function v1(){var e=0;return a[7624]|0||($v(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function $v(e){e=e|0,Eo(e,Kv()|0,6)}function Kv(){return 1112}function tc(e){e=e|0,bs(e)}function Wd(e){e=e|0,m1(e+24|0),Hd(e+16|0)}function m1(e){e=e|0,Jv(e)}function Hd(e){e=e|0,Xv(e)}function Xv(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,He(r);while((n|0)!=0);t[e>>2]=0}function Jv(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,He(r);while((n|0)!=0);t[e>>2]=0}function bs(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,a[e+40>>0]=0,a[e+41>>0]=0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vd(e,r,s,0),v=o}function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=g1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=_1(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,Yd(l,o)|0,o),v=s}function g1(){var e=0,n=0;if(a[7640]|0||(Wo(9232),Pt(26,9232,ue|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(vn(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Wo(9232)}return 9232}function _1(e){return e=e|0,0}function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=g1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],mf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(y1(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function mf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=$d(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Kd(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],mf(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Hc(e,_),Xd(_),v=T;return}}function $d(e){return e=e|0,357913941}function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Hc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Wo(e){e=e|0,Jd(e)}function xl(e){e=e|0,Qv(e+24|0)}function Qv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Jd(e){e=e|0;var n=0;n=Sn()|0,In(e,2,1,n,Zv()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Zv(){return 1144}function em(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l=v,v=v+16|0,d=l+8|0,_=l,y=tm(e)|0,e=t[y+4>>2]|0,t[_>>2]=t[y>>2],t[_+4>>2]=e,t[d>>2]=t[_>>2],t[d+4>>2]=t[_+4>>2],nm(n,d,r,o,s),v=l}function tm(e){return e=e|0,(t[(g1()|0)+24>>2]|0)+(e*12|0)|0}function nm(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,T=0;T=v,v=v+16|0,d=T+2|0,_=T+1|0,y=T,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),pu(d,r),r=+hu(d,r),pu(_,o),o=+hu(_,o),$u(y,s),y=Ku(y,s)|0,tD[l&1](e,r,o,y),v=T}function pu(e,n){e=e|0,n=+n}function hu(e,n){return e=e|0,n=+n,+ +im(n)}function $u(e,n){e=e|0,n=n|0}function Ku(e,n){return e=e|0,n=n|0,rm(n)|0}function rm(e){return e=e|0,e|0}function im(e){return e=+e,+e}function om(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qd(e,r,s,1),v=o}function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Gc()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Zd(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,um(l,o)|0,o),v=s}function Gc(){var e=0,n=0;if(a[7648]|0||(np(9268),Pt(27,9268,ue|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(vn(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));np(9268)}return 9268}function Zd(e){return e=e|0,0}function um(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Gc()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(sm(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function sm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=tp(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,lm(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,fm(e,_),cm(_),v=T;return}}function tp(e){return e=e|0,357913941}function lm(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function fm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function cm(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function np(e){e=e|0,To(e)}function am(e){e=e|0,dm(e+24|0)}function dm(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function To(e){e=e|0;var n=0;n=Sn()|0,In(e,2,4,n,pm()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function pm(){return 1160}function hm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=vm(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=rp(n,o)|0,v=r,n|0}function vm(e){return e=e|0,(t[(Gc()|0)+24>>2]|0)+(e*12|0)|0}function rp(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),ip(ac[r&31](e)|0)|0}function ip(e){return e=e|0,e&1|0}function mm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],gm(e,r,s,0),v=o}function gm(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=D1(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,_m(l,o)|0,o),v=s}function w1(){var e=0,n=0;if(a[7656]|0||(up(9304),Pt(28,9304,ue|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(vn(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));up(9304)}return 9304}function D1(e){return e=e|0,0}function _m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],op(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ym(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ym(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=wm(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Dm(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],op(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Em(e,_),Sm(_),v=T;return}}function wm(e){return e=e|0,357913941}function Dm(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Em(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Sm(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function up(e){e=e|0,xm(e)}function Cm(e){e=e|0,Tm(e+24|0)}function Tm(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function xm(e){e=e|0;var n=0;n=Sn()|0,In(e,2,5,n,km()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function km(){return 1164}function Am(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=Om(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Im(n,s,r),v=o}function Om(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}function Im(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),zs(s,r),r=Ws(s,r)|0,Ml[o&31](e,r),Hs(s),v=l}function zs(e,n){e=e|0,n=n|0,Pm(e,n)}function Ws(e,n){return e=e|0,n=n|0,e|0}function Hs(e){e=e|0,Hu(e)}function Pm(e,n){e=e|0,n=n|0,E1(e,n)}function E1(e,n){e=e|0,n=n|0,t[e>>2]=n}function S1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sp(e,r,s,0),v=o}function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=C1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Mm(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,Fm(l,o)|0,o),v=s}function C1(){var e=0,n=0;if(a[7664]|0||(cp(9340),Pt(29,9340,ue|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(vn(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cp(9340)}return 9340}function Mm(e){return e=e|0,0}function Fm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=C1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Rm(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Rm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Lm(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Nm(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Bm(e,_),fp(_),v=T;return}}function Lm(e){return e=e|0,357913941}function Nm(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Bm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function cp(e){e=e|0,Um(e)}function Vc(e){e=e|0,jm(e+24|0)}function jm(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Um(e){e=e|0;var n=0;n=Sn()|0,In(e,2,4,n,qm()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qm(){return 1180}function bm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=zm(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=Wm(n,s,r)|0,v=o,r|0}function zm(e){return e=e|0,(t[(C1()|0)+24>>2]|0)+(e*12|0)|0}function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),kl(s,r),s=Al(s,r)|0,s=Yc(Y4[o&15](e,s)|0)|0,v=l,s|0}function kl(e,n){e=e|0,n=n|0}function Al(e,n){return e=e|0,n=n|0,Hm(n)|0}function Yc(e){return e=e|0,e|0}function Hm(e){return e=e|0,e|0}function Gm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vm(e,r,s,0),v=o}function Vm(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=T1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Ym(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,$m(l,o)|0,o),v=s}function T1(){var e=0,n=0;if(a[7672]|0||(hp(9376),Pt(30,9376,ue|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(vn(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9376)}return 9376}function Ym(e){return e=e|0,0}function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=T1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ap(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(dp(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=pp(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Km(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ap(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Xm(e,_),Jm(_),v=T;return}}function pp(e){return e=e|0,357913941}function Km(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Xm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Jm(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function hp(e){e=e|0,Zm(e)}function $c(e){e=e|0,Qm(e+24|0)}function Qm(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Zm(e){e=e|0;var n=0;n=Sn()|0,In(e,2,5,n,vp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vp(){return 1196}function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=tg(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=ng(n,o)|0,v=r,n|0}function tg(e){return e=e|0,(t[(T1()|0)+24>>2]|0)+(e*12|0)|0}function ng(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),Yc(ac[r&31](e)|0)|0}function rg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],ig(e,r,s,1),v=o}function ig(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=x1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=og(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,ug(l,o)|0,o),v=s}function x1(){var e=0,n=0;if(a[7680]|0||(A1(9412),Pt(31,9412,ue|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(vn(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A1(9412)}return 9412}function og(e){return e=e|0,0}function ug(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=x1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],nc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(sg(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function nc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=mp(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,gp(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],nc(l,o,r),t[y>>2]=(t[y>>2]|0)+12,k1(e,_),_p(_),v=T;return}}function mp(e){return e=e|0,357913941}function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function k1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function A1(e){e=e|0,lg(e)}function yp(e){e=e|0,wp(e+24|0)}function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function lg(e){e=e|0;var n=0;n=Sn()|0,In(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Dp(){return 1200}function fg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=Kc(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Xc(n,o)|0,v=r,n|0}function Kc(e){return e=e|0,(t[(x1()|0)+24>>2]|0)+(e*12|0)|0}function Xc(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),Jc(ac[r&31](e)|0)|0}function Jc(e){return e=e|0,e|0}function cg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],O1(e,r,s,0),v=o}function O1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Qc()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=ag(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,dg(l,o)|0,o),v=s}function Qc(){var e=0,n=0;if(a[7688]|0||(Sp(9448),Pt(32,9448,ue|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(vn(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9448)}return 9448}function ag(e){return e=e|0,0}function dg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Qc()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(pg(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function pg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=hg(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,vg(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,mg(e,_),gg(_),v=T;return}}function hg(e){return e=e|0,357913941}function vg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Sp(e){e=e|0,wg(e)}function _g(e){e=e|0,yg(e+24|0)}function yg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function wg(e){e=e|0;var n=0;n=Sn()|0,In(e,2,6,n,xo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xo(){return 1204}function Dg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=Eg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ol(n,s,r),v=o}function Eg(e){return e=e|0,(t[(Qc()|0)+24>>2]|0)+(e*12|0)|0}function Ol(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Cn(s,r),s=I1(s,r)|0,Ml[o&31](e,s),v=l}function Cn(e,n){e=e|0,n=n|0}function I1(e,n){return e=e|0,n=n|0,qi(n)|0}function qi(e){return e=e|0,e|0}function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Sg(e,r,s,0),v=o}function Sg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=vu()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Cg(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,Tg(l,o)|0,o),v=s}function vu(){var e=0,n=0;if(a[7696]|0||(M1(9484),Pt(33,9484,ue|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(vn(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));M1(9484)}return 9484}function Cg(e){return e=e|0,0}function Tg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=vu()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(xg(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function xg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kg(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,P1(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Cp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Ag(e,_),Xu(_),v=T;return}}function kg(e){return e=e|0,357913941}function P1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Ag(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xu(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function M1(e){e=e|0,e0(e)}function Zc(e){e=e|0,Yr(e+24|0)}function Yr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function e0(e){e=e|0;var n=0;n=Sn()|0,In(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tp(){return 1212}function Og(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+16|0,l=s+8|0,d=s,_=Ig(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],Pg(n,l,r,o),v=s}function Ig(e){return e=e|0,(t[(vu()|0)+24>>2]|0)+(e*12|0)|0}function Pg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=v,v=v+16|0,l=_+1|0,d=_,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),Cn(l,r),l=I1(l,r)|0,kl(d,o),d=Al(d,o)|0,e2[s&15](e,l,d),v=_}function Mg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fg(e,r,s,1),v=o}function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=F1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=xp(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,rc(l,o)|0,o),v=s}function F1(){var e=0,n=0;if(a[7704]|0||(Ap(9520),Pt(34,9520,ue|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(vn(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ap(9520)}return 9520}function xp(e){return e=e|0,0}function rc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=F1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ea(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Rg(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function ea(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Rg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kp(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,ta(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ea(l,o,r),t[y>>2]=(t[y>>2]|0)+12,lo(e,_),gf(_),v=T;return}}function kp(e){return e=e|0,357913941}function ta(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function lo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gf(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Ap(e){e=e|0,Bg(e)}function Lg(e){e=e|0,Ng(e+24|0)}function Ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Bg(e){e=e|0;var n=0;n=Sn()|0,In(e,2,1,n,jg()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function jg(){return 1224}function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=v,v=v+16|0,l=s+8|0,d=s,_=Ju(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],o=+Mn(n,l,r),v=s,+o}function Ju(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}function Mn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$u(s,r),s=Ku(s,r)|0,d=+Cl(+rD[o&7](e,s)),v=l,+d}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],ko(e,r,s,1),v=o}function ko(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=na()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Ug(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,dr(l,o)|0,o),v=s}function na(){var e=0,n=0;if(a[7712]|0||(Fp(9556),Pt(35,9556,ue|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(vn(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fp(9556)}return 9556}function Ug(e){return e=e|0,0}function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=na()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Pp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mp(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=ra(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,qg(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Pp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,bg(e,_),zg(_),v=T;return}}function ra(e){return e=e|0,357913941}function qg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function bg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function zg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Fp(e){e=e|0,Gg(e)}function Wg(e){e=e|0,Hg(e+24|0)}function Hg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Gg(e){e=e|0;var n=0;n=Sn()|0,In(e,2,5,n,Vg()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Vg(){return 1232}function Yg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=$g(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=+Kg(n,s),v=o,+r}function $g(e){return e=e|0,(t[(na()|0)+24>>2]|0)+(e*12|0)|0}function Kg(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),+ +Cl(+nD[r&15](e))}function Xg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Jg(e,r,s,1),v=o}function Jg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=ic()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Qg(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,R1(l,o)|0,o),v=s}function ic(){var e=0,n=0;if(a[7720]|0||(Lp(9592),Pt(36,9592,ue|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(vn(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lp(9592)}return 9592}function Qg(e){return e=e|0,0}function R1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=ic()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Rp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zg(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Rp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=e_(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,B0(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Rp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,bi(e,_),t_(_),v=T;return}}function e_(e){return e=e|0,357913941}function B0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function bi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function t_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Lp(e){e=e|0,r_(e)}function n_(e){e=e|0,Np(e+24|0)}function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function r_(e){e=e|0;var n=0;n=Sn()|0,In(e,2,7,n,i_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function i_(){return 1276}function o_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=Bp(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=u_(n,o)|0,v=r,n|0}function Bp(e){return e=e|0,(t[(ic()|0)+24>>2]|0)+(e*12|0)|0}function u_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=v,v=v+16|0,o=s,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[r&31](o,e),o=jp(o)|0,v=s,o|0}function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=v,v=v+32|0,n=s+12|0,r=s,o=N0(Up()|0)|0,o?(a1(n,o),d1(r,n),qp(e,r),e=p1(n)|0):e=bp(e)|0,v=s,e|0}function Up(){var e=0;return a[7736]|0||(zp(9640),Pt(25,9640,ue|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function qp(e,n){e=e|0,n=n|0,_f(n,e,e+8|0)|0}function bp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=v,v=v+16|0,s=r+4|0,d=r,o=Go(8)|0,n=o,_=St(16)|0,t[_>>2]=t[e>>2],t[_+4>>2]=t[e+4>>2],t[_+8>>2]=t[e+8>>2],t[_+12>>2]=t[e+12>>2],l=n+4|0,t[l>>2]=_,e=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],L1(e,l,s),t[o>>2]=e,v=r,n|0}function L1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=St(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 s_(e){e=e|0,fa(e),He(e)}function l_(e){e=e|0,e=t[e+12>>2]|0,e|0&&He(e)}function f_(e){e=e|0,He(e)}function _f(e,n,r){return e=e|0,n=n|0,r=r|0,n=c_(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 c_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=v,v=v+16|0,s=o,Vo(s),e=Si(e)|0,r=a_(e,t[n>>2]|0,+L[r>>3])|0,Yo(s),v=o,r|0}function a_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=Do(d_()|0)|0,n=Lc(n)|0,sl(0,o|0,e|0,n|0,+ +zo(r))|0}function d_(){var e=0;return a[7728]|0||(p_(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function p_(e){e=e|0,Eo(e,h_()|0,2)}function h_(){return 1264}function zp(e){e=e|0,bs(e)}function Wp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],v_(e,r,s,1),v=o}function v_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=N1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=m_(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,g_(l,o)|0,o),v=s}function N1(){var e=0,n=0;if(a[7744]|0||(Gp(9684),Pt(37,9684,ue|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(vn(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gp(9684)}return 9684}function m_(e){return e=e|0,0}function g_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=N1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Hp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(__(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function __(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=y_(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,w_(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Hp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,D_(e,_),E_(_),v=T;return}}function y_(e){return e=e|0,357913941}function w_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function E_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Gp(e){e=e|0,T_(e)}function S_(e){e=e|0,C_(e+24|0)}function C_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function T_(e){e=e|0;var n=0;n=Sn()|0,In(e,2,5,n,x_()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x_(){return 1280}function k_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=A_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=O_(n,s,r)|0,v=o,r|0}function A_(e){return e=e|0,(t[(N1()|0)+24>>2]|0)+(e*12|0)|0}function O_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=v,v=v+32|0,s=d,l=d+16|0,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$u(l,r),l=Ku(l,r)|0,e2[o&15](s,e,l),l=jp(s)|0,v=d,l|0}function I_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],P_(e,r,s,1),v=o}function P_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=B1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=M_(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,F_(l,o)|0,o),v=s}function B1(){var e=0,n=0;if(a[7752]|0||(Kp(9720),Pt(38,9720,ue|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(vn(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kp(9720)}return 9720}function M_(e){return e=e|0,0}function F_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=B1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Vp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(R_(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function R_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=j1(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,Yp(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Vp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$p(e,_),L_(_),v=T;return}}function j1(e){return e=e|0,357913941}function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function L_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Kp(e){e=e|0,B_(e)}function N_(e){e=e|0,U1(e+24|0)}function U1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function B_(e){e=e|0;var n=0;n=Sn()|0,In(e,2,8,n,j_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function j_(){return 1288}function U_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=v,v=v+16|0,o=r+8|0,s=r,l=zi(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=q1(n,o)|0,v=r,n|0}function zi(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}function q1(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),Dd(ac[r&31](e)|0)|0}function q_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],b_(e,r,s,0),v=o}function b_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=b1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=z_(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,z1(l,o)|0,o),v=s}function b1(){var e=0,n=0;if(a[7760]|0||(H1(9756),Pt(39,9756,ue|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(vn(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));H1(9756)}return 9756}function z_(e){return e=e|0,0}function z1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=b1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Xp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(W1(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function W1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=W_(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,H_(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Xp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,G_(e,_),V_(_),v=T;return}}function W_(e){return e=e|0,357913941}function H_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function G_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function V_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function H1(e){e=e|0,K_(e)}function Y_(e){e=e|0,$_(e+24|0)}function $_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function K_(e){e=e|0;var n=0;n=Sn()|0,In(e,2,8,n,G1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function G1(){return 1292}function V1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=X_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],J_(n,s,r),v=o}function X_(e){return e=e|0,(t[(b1()|0)+24>>2]|0)+(e*12|0)|0}function J_(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),pu(s,r),r=+hu(s,r),Z8[o&31](e,r),v=l}function Q_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Z_(e,r,s,0),v=o}function Z_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Y1()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=e4(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,t4(l,o)|0,o),v=s}function Y1(){var e=0,n=0;if(a[7768]|0||(Qp(9792),Pt(40,9792,ue|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(vn(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qp(9792)}return 9792}function e4(e){return e=e|0,0}function t4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Y1()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Jp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(n4(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=r4(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,i4(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Jp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,o4(e,_),u4(_),v=T;return}}function r4(e){return e=e|0,357913941}function i4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function u4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function Qp(e){e=e|0,f4(e)}function s4(e){e=e|0,l4(e+24|0)}function l4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function f4(e){e=e|0;var n=0;n=Sn()|0,In(e,2,1,n,c4()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c4(){return 1300}function a4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=v,v=v+16|0,l=s+8|0,d=s,_=d4(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],p4(n,l,r,o),v=s}function d4(e){return e=e|0,(t[(Y1()|0)+24>>2]|0)+(e*12|0)|0}function p4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=v,v=v+16|0,l=_+1|0,d=_,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),$u(l,r),l=Ku(l,r)|0,pu(d,o),o=+hu(d,o),sD[s&15](e,l,o),v=_}function c(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],p(e,r,s,0),v=o}function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=I(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,N(l,o)|0,o),v=s}function E(){var e=0,n=0;if(a[7776]|0||(nt(9828),Pt(41,9828,ue|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(vn(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));nt(9828)}return 9828}function I(e){return e=e|0,0}function N(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],G(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ee(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=oe(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,we(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],G(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Ye(e,_),$e(_),v=T;return}}function oe(e){return e=e|0,357913941}function we(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Ye(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function $e(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function nt(e){e=e|0,un(e)}function Et(e){e=e|0,qt(e+24|0)}function qt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function un(e){e=e|0;var n=0;n=Sn()|0,In(e,2,7,n,Rn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Rn(){return 1312}function sn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=qn(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],$n(n,s,r),v=o}function qn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}function $n(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$u(s,r),s=Ku(s,r)|0,Ml[o&31](e,s),v=l}function fo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ti(e,r,s,0),v=o}function Ti(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=xi()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=l0(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,Ho(l,o)|0,o),v=s}function xi(){var e=0,n=0;if(a[7784]|0||(C3(9864),Pt(42,9864,ue|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(vn(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));C3(9864)}return 9864}function l0(e){return e=e|0,0}function Ho(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=xi()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],mu(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zp(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function mu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=_k(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,yk(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],mu(l,o,r),t[y>>2]=(t[y>>2]|0)+12,wk(e,_),Dk(_),v=T;return}}function _k(e){return e=e|0,357913941}function yk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function wk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Dk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function C3(e){e=e|0,Ck(e)}function Ek(e){e=e|0,Sk(e+24|0)}function Sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Ck(e){e=e|0;var n=0;n=Sn()|0,In(e,2,8,n,Tk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tk(){return 1320}function xk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=kk(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ak(n,s,r),v=o}function kk(e){return e=e|0,(t[(xi()|0)+24>>2]|0)+(e*12|0)|0}function Ak(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Ok(s,r),s=Ik(s,r)|0,Ml[o&31](e,s),v=l}function Ok(e,n){e=e|0,n=n|0}function Ik(e,n){return e=e|0,n=n|0,Pk(n)|0}function Pk(e){return e=e|0,e|0}function Mk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fk(e,r,s,0),v=o}function Fk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=h4()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=Rk(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,Lk(l,o)|0,o),v=s}function h4(){var e=0,n=0;if(a[7792]|0||(x3(9900),Pt(43,9900,ue|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(vn(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x3(9900)}return 9900}function Rk(e){return e=e|0,0}function Lk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=h4()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],T3(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Nk(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function T3(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Nk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Bk(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,jk(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],T3(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Uk(e,_),qk(_),v=T;return}}function Bk(e){return e=e|0,357913941}function jk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Uk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function qk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function x3(e){e=e|0,Wk(e)}function bk(e){e=e|0,zk(e+24|0)}function zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function Wk(e){e=e|0;var n=0;n=Sn()|0,In(e,2,22,n,Hk()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Hk(){return 1344}function Gk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=v,v=v+16|0,o=r+8|0,s=r,l=Vk(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],Yk(n,o),v=r}function Vk(e){return e=e|0,(t[(h4()|0)+24>>2]|0)+(e*12|0)|0}function Yk(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),Pl[r&127](e)}function $k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=v4()|0,e=Kk(r)|0,Zn(l,n,s,e,Xk(r,o)|0,o)}function v4(){var e=0,n=0;if(a[7800]|0||(A3(9936),Pt(44,9936,ue|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(vn(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A3(9936)}return 9936}function Kk(e){return e=e|0,e|0}function Xk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=v4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(k3(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Jk(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function k3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Jk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=Qk(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,Zk(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,k3(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,eA(e,s),tA(s),v=_;return}}function Qk(e){return e=e|0,536870911}function Zk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function eA(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function tA(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function A3(e){e=e|0,iA(e)}function nA(e){e=e|0,rA(e+24|0)}function rA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function iA(e){e=e|0;var n=0;n=Sn()|0,In(e,1,23,n,xo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function oA(e,n){e=e|0,n=n|0,sA(t[(uA(e)|0)>>2]|0,n)}function uA(e){return e=e|0,(t[(v4()|0)+24>>2]|0)+(e<<3)|0}function sA(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,Cn(o,n),n=I1(o,n)|0,Pl[e&127](n),v=r}function lA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=m4()|0,e=fA(r)|0,Zn(l,n,s,e,cA(r,o)|0,o)}function m4(){var e=0,n=0;if(a[7808]|0||(I3(9972),Pt(45,9972,ue|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(vn(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I3(9972)}return 9972}function fA(e){return e=e|0,e|0}function cA(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=m4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(O3(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(aA(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function O3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function aA(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=dA(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,pA(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,O3(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,hA(e,s),vA(s),v=_;return}}function dA(e){return e=e|0,536870911}function pA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function hA(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function vA(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function I3(e){e=e|0,_A(e)}function mA(e){e=e|0,gA(e+24|0)}function gA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function _A(e){e=e|0;var n=0;n=Sn()|0,In(e,1,9,n,yA()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yA(){return 1348}function wA(e,n){return e=e|0,n=n|0,EA(t[(DA(e)|0)>>2]|0,n)|0}function DA(e){return e=e|0,(t[(m4()|0)+24>>2]|0)+(e<<3)|0}function EA(e,n){e=e|0,n=n|0;var r=0,o=0;return r=v,v=v+16|0,o=r,P3(o,n),n=M3(o,n)|0,n=Yc(ac[e&31](n)|0)|0,v=r,n|0}function P3(e,n){e=e|0,n=n|0}function M3(e,n){return e=e|0,n=n|0,SA(n)|0}function SA(e){return e=e|0,e|0}function CA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=g4()|0,e=TA(r)|0,Zn(l,n,s,e,xA(r,o)|0,o)}function g4(){var e=0,n=0;if(a[7816]|0||(R3(10008),Pt(46,10008,ue|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(vn(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));R3(10008)}return 10008}function TA(e){return e=e|0,e|0}function xA(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=g4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(F3(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(kA(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function F3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function kA(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=AA(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,OA(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,F3(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,IA(e,s),PA(s),v=_;return}}function AA(e){return e=e|0,536870911}function OA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function IA(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function PA(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function R3(e){e=e|0,RA(e)}function MA(e){e=e|0,FA(e+24|0)}function FA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function RA(e){e=e|0;var n=0;n=Sn()|0,In(e,1,15,n,vp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function LA(e){return e=e|0,BA(t[(NA(e)|0)>>2]|0)|0}function NA(e){return e=e|0,(t[(g4()|0)+24>>2]|0)+(e<<3)|0}function BA(e){return e=e|0,Yc(ph[e&7]()|0)|0}function jA(){var e=0;return a[7832]|0||(VA(10052),Pt(25,10052,ue|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function UA(e,n){e=e|0,n=n|0,t[e>>2]=qA()|0,t[e+4>>2]=bA()|0,t[e+12>>2]=n,t[e+8>>2]=zA()|0,t[e+32>>2]=2}function qA(){return 11709}function bA(){return 1188}function zA(){return eh()|0}function WA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(HA(r),He(r)):n|0&&(lu(n),He(n))}function yf(e,n){return e=e|0,n=n|0,n&e|0}function HA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function eh(){var e=0;return a[7824]|0||(t[2511]=GA()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function GA(){return 0}function VA(e){e=e|0,bs(e)}function YA(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=v,v=v+32|0,r=n+24|0,l=n+16|0,s=n+8|0,o=n,$A(e,4827),KA(e,4834,3)|0,XA(e,3682,47)|0,t[l>>2]=9,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],JA(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],QA(e,4871,r)|0,t[o>>2]=10,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],ZA(e,4891,r)|0,v=n}function $A(e,n){e=e|0,n=n|0;var r=0;r=PI()|0,t[e>>2]=r,MI(r,n),wf(t[e>>2]|0)}function KA(e,n,r){return e=e|0,n=n|0,r=r|0,vI(e,Yn(n)|0,r,0),e|0}function XA(e,n,r){return e=e|0,n=n|0,r=r|0,eI(e,Yn(n)|0,r,0),e|0}function JA(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],LO(e,n,s),v=o,e|0}function QA(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],mO(e,n,s),v=o,e|0}function ZA(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],eO(e,n,s),v=o,e|0}function eO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],tO(e,r,s,1),v=o}function tO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=_4()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=nO(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,rO(l,o)|0,o),v=s}function _4(){var e=0,n=0;if(a[7840]|0||(N3(10100),Pt(48,10100,ue|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(vn(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));N3(10100)}return 10100}function nO(e){return e=e|0,0}function rO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=_4()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],L3(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(iO(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function L3(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function iO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=oO(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,uO(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],L3(l,o,r),t[y>>2]=(t[y>>2]|0)+12,sO(e,_),lO(_),v=T;return}}function oO(e){return e=e|0,357913941}function uO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function sO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function lO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function N3(e){e=e|0,aO(e)}function fO(e){e=e|0,cO(e+24|0)}function cO(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function aO(e){e=e|0;var n=0;n=Sn()|0,In(e,2,6,n,dO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dO(){return 1364}function pO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=v,v=v+16|0,s=o+8|0,l=o,d=hO(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=vO(n,s,r)|0,v=o,r|0}function hO(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}function vO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$u(s,r),s=Ku(s,r)|0,s=ip(Y4[o&15](e,s)|0)|0,v=l,s|0}function mO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],gO(e,r,s,0),v=o}function gO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=y4()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=_O(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,yO(l,o)|0,o),v=s}function y4(){var e=0,n=0;if(a[7848]|0||(j3(10136),Pt(49,10136,ue|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(vn(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));j3(10136)}return 10136}function _O(e){return e=e|0,0}function yO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=y4()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],B3(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(wO(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function B3(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function wO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=DO(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,EO(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],B3(l,o,r),t[y>>2]=(t[y>>2]|0)+12,SO(e,_),CO(_),v=T;return}}function DO(e){return e=e|0,357913941}function EO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function SO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function CO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function j3(e){e=e|0,kO(e)}function TO(e){e=e|0,xO(e+24|0)}function xO(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function kO(e){e=e|0;var n=0;n=Sn()|0,In(e,2,9,n,AO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function AO(){return 1372}function OO(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,s=o+8|0,l=o,d=IO(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],PO(n,s,r),v=o}function IO(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e*12|0)|0}function PO(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=Ze;l=v,v=v+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),MO(s,r),d=w(FO(s,r)),Q8[o&1](e,d),v=l}function MO(e,n){e=e|0,n=+n}function FO(e,n){return e=e|0,n=+n,w(RO(n))}function RO(e){return e=+e,w(e)}function LO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Yn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],NO(e,r,s,0),v=o}function NO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,T=0,C=0;s=v,v=v+32|0,l=s+16|0,C=s+8|0,_=s,T=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w4()|0,t[C>>2]=T,t[C+4>>2]=y,t[l>>2]=t[C>>2],t[l+4>>2]=t[C+4>>2],r=BO(l)|0,t[_>>2]=T,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],Zn(d,n,e,r,jO(l,o)|0,o),v=s}function w4(){var e=0,n=0;if(a[7856]|0||(q3(10172),Pt(50,10172,ue|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(vn(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));q3(10172)}return 10172}function BO(e){return e=e|0,0}function jO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0;return C=v,v=v+32|0,s=C+24|0,d=C+16|0,_=C,y=C+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w4()|0,T=P+24|0,e=At(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],U3(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(UO(T,_,y),e=t[n>>2]|0),v=C,((e-(t[T>>2]|0)|0)/12|0)+-1|0}function U3(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;if(T=v,v=v+48|0,o=T+32|0,d=T+24|0,_=T,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=qO(e)|0,l>>>0>>0)bn(e);else{C=t[e>>2]|0,U=((t[e+8>>2]|0)-C|0)/12|0,P=U<<1,bO(_,U>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-C|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],U3(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zO(e,_),WO(_),v=T;return}}function qO(e){return e=e|0,357913941}function bO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)dn();else{s=St(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function WO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&He(e)}function q3(e){e=e|0,VO(e)}function HO(e){e=e|0,GO(e+24|0)}function GO(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),He(r))}function VO(e){e=e|0;var n=0;n=Sn()|0,In(e,2,3,n,YO()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YO(){return 1380}function $O(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+16|0,l=s+8|0,d=s,_=KO(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],XO(n,l,r,o),v=s}function KO(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e*12|0)|0}function XO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=v,v=v+16|0,l=_+1|0,d=_,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),$u(l,r),l=Ku(l,r)|0,JO(d,o),d=QO(d,o)|0,e2[s&15](e,l,d),v=_}function JO(e,n){e=e|0,n=n|0}function QO(e,n){return e=e|0,n=n|0,ZO(n)|0}function ZO(e){return e=e|0,(e|0)!=0|0}function eI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D4()|0,e=tI(r)|0,Zn(l,n,s,e,nI(r,o)|0,o)}function D4(){var e=0,n=0;if(a[7864]|0||(z3(10208),Pt(51,10208,ue|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(vn(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));z3(10208)}return 10208}function tI(e){return e=e|0,e|0}function nI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=D4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(b3(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(rI(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>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 rI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=iI(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,oI(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,b3(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,uI(e,s),sI(s),v=_;return}}function iI(e){return e=e|0,536870911}function oI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function uI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function sI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function z3(e){e=e|0,cI(e)}function lI(e){e=e|0,fI(e+24|0)}function fI(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function cI(e){e=e|0;var n=0;n=Sn()|0,In(e,1,24,n,aI()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aI(){return 1392}function dI(e,n){e=e|0,n=n|0,hI(t[(pI(e)|0)>>2]|0,n)}function pI(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}function hI(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,P3(o,n),n=M3(o,n)|0,Pl[e&127](n),v=r}function vI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=E4()|0,e=mI(r)|0,Zn(l,n,s,e,gI(r,o)|0,o)}function E4(){var e=0,n=0;if(a[7872]|0||(H3(10244),Pt(52,10244,ue|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(vn(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));H3(10244)}return 10244}function mI(e){return e=e|0,e|0}function gI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=E4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(W3(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(_I(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function W3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function _I(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=yI(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,wI(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,W3(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,DI(e,s),EI(s),v=_;return}}function yI(e){return e=e|0,536870911}function wI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function DI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function EI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function H3(e){e=e|0,TI(e)}function SI(e){e=e|0,CI(e+24|0)}function CI(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function TI(e){e=e|0;var n=0;n=Sn()|0,In(e,1,16,n,xI()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xI(){return 1400}function kI(e){return e=e|0,OI(t[(AI(e)|0)>>2]|0)|0}function AI(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e<<3)|0}function OI(e){return e=e|0,II(ph[e&7]()|0)|0}function II(e){return e=e|0,e|0}function PI(){var e=0;return a[7880]|0||(jI(10280),Pt(25,10280,ue|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function MI(e,n){e=e|0,n=n|0,t[e>>2]=FI()|0,t[e+4>>2]=RI()|0,t[e+12>>2]=n,t[e+8>>2]=LI()|0,t[e+32>>2]=4}function FI(){return 11711}function RI(){return 1356}function LI(){return eh()|0}function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(BI(r),He(r)):n|0&&(Ui(n),He(n))}function BI(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function jI(e){e=e|0,bs(e)}function UI(e){e=e|0,qI(e,4920),bI(e)|0,zI(e)|0}function qI(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,fP(r,n),wf(t[e>>2]|0)}function bI(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,ZI()|0),e|0}function zI(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,WI()|0),e|0}function WI(){var e=0;return a[7888]|0||(G3(10328),Pt(53,10328,ue|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),vn(10328)|0||G3(10328),10328}function oc(e,n){e=e|0,n=n|0,Zn(e,0,n,0,0,0)}function G3(e){e=e|0,VI(e),uc(e,10)}function HI(e){e=e|0,GI(e+24|0)}function GI(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function VI(e){e=e|0;var n=0;n=Sn()|0,In(e,5,1,n,XI()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YI(e,n,r){e=e|0,n=n|0,r=+r,$I(e,n,r)}function uc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function $I(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+16|0,l=o+8|0,_=o+13|0,s=o,d=o+12|0,$u(_,n),t[l>>2]=Ku(_,n)|0,pu(d,r),L[s>>3]=+hu(d,r),KI(e,l,s),v=o}function KI(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),a[e+24>>0]=1}function XI(){return 1404}function JI(e,n){return e=e|0,n=+n,QI(e,n)|0}function QI(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=v,v=v+16|0,l=o+4|0,d=o+8|0,_=o,s=Go(8)|0,r=s,y=St(16)|0,$u(l,e),e=Ku(l,e)|0,pu(d,n),M(y,e,+hu(d,n)),d=r+4|0,t[d>>2]=y,e=St(8)|0,d=t[d>>2]|0,t[_>>2]=0,t[l>>2]=t[_>>2],L1(e,d,l),t[s>>2]=e,v=o,r|0}function ZI(){var e=0;return a[7896]|0||(V3(10364),Pt(54,10364,ue|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),vn(10364)|0||V3(10364),10364}function V3(e){e=e|0,nP(e),uc(e,55)}function eP(e){e=e|0,tP(e+24|0)}function tP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function nP(e){e=e|0;var n=0;n=Sn()|0,In(e,5,4,n,uP()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rP(e){e=e|0,iP(e)}function iP(e){e=e|0,oP(e)}function oP(e){e=e|0,Y3(e+8|0),a[e+24>>0]=1}function Y3(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}function uP(){return 1424}function sP(){return lP()|0}function lP(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=v,v=v+16|0,s=n+4|0,d=n,r=Go(8)|0,e=r,o=St(16)|0,Y3(o),l=e+4|0,t[l>>2]=o,o=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],L1(o,l,s),t[r>>2]=o,v=n,e|0}function fP(e,n){e=e|0,n=n|0,t[e>>2]=cP()|0,t[e+4>>2]=aP()|0,t[e+12>>2]=n,t[e+8>>2]=dP()|0,t[e+32>>2]=5}function cP(){return 11710}function aP(){return 1416}function dP(){return th()|0}function pP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(hP(r),He(r)):n|0&&He(n)}function hP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function th(){var e=0;return a[7904]|0||(t[2600]=vP()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function vP(){return t[357]|0}function mP(e){e=e|0,gP(e,4926),_P(e)|0}function gP(e,n){e=e|0,n=n|0;var r=0;r=c1()|0,t[e>>2]=r,OP(r,n),wf(t[e>>2]|0)}function _P(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,yP()|0),e|0}function yP(){var e=0;return a[7912]|0||($3(10412),Pt(56,10412,ue|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),vn(10412)|0||$3(10412),10412}function $3(e){e=e|0,EP(e),uc(e,57)}function wP(e){e=e|0,DP(e+24|0)}function DP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function EP(e){e=e|0;var n=0;n=Sn()|0,In(e,5,5,n,xP()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function SP(e){e=e|0,CP(e)}function CP(e){e=e|0,TP(e)}function TP(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));a[e+56>>0]=1}function xP(){return 1432}function kP(){return AP()|0}function AP(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=v,v=v+16|0,e=d+4|0,n=d,r=Go(8)|0,o=r,s=St(48)|0,l=s,_=l+48|0;do t[l>>2]=0,l=l+4|0;while((l|0)<(_|0));return l=o+4|0,t[l>>2]=s,_=St(8)|0,l=t[l>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],zd(_,l,e),t[r>>2]=_,v=d,o|0}function OP(e,n){e=e|0,n=n|0,t[e>>2]=IP()|0,t[e+4>>2]=PP()|0,t[e+12>>2]=n,t[e+8>>2]=MP()|0,t[e+32>>2]=6}function IP(){return 11704}function PP(){return 1436}function MP(){return th()|0}function FP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(RP(r),He(r)):n|0&&He(n)}function RP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function LP(e){e=e|0,NP(e,4933),BP(e)|0,jP(e)|0}function NP(e,n){e=e|0,n=n|0;var r=0;r=lM()|0,t[e>>2]=r,fM(r,n),wf(t[e>>2]|0)}function BP(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,QP()|0),e|0}function jP(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,UP()|0),e|0}function UP(){var e=0;return a[7920]|0||(K3(10452),Pt(58,10452,ue|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),vn(10452)|0||K3(10452),10452}function K3(e){e=e|0,zP(e),uc(e,1)}function qP(e){e=e|0,bP(e+24|0)}function bP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function zP(e){e=e|0;var n=0;n=Sn()|0,In(e,5,1,n,VP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function WP(e,n,r){e=e|0,n=+n,r=+r,HP(e,n,r)}function HP(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+32|0,l=o+8|0,_=o+17|0,s=o,d=o+16|0,pu(_,n),L[l>>3]=+hu(_,n),pu(d,r),L[s>>3]=+hu(d,r),GP(e,l,s),v=o}function GP(e,n,r){e=e|0,n=n|0,r=r|0,X3(e+8|0,+L[n>>3],+L[r>>3]),a[e+24>>0]=1}function X3(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}function VP(){return 1472}function YP(e,n){return e=+e,n=+n,$P(e,n)|0}function $P(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=v,v=v+16|0,d=o+4|0,_=o+8|0,y=o,s=Go(8)|0,r=s,l=St(16)|0,pu(d,e),e=+hu(d,e),pu(_,n),X3(l,e,+hu(_,n)),_=r+4|0,t[_>>2]=l,l=St(8)|0,_=t[_>>2]|0,t[y>>2]=0,t[d>>2]=t[y>>2],J3(l,_,d),t[s>>2]=l,v=o,r|0}function J3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=St(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 KP(e){e=e|0,fa(e),He(e)}function XP(e){e=e|0,e=t[e+12>>2]|0,e|0&&He(e)}function JP(e){e=e|0,He(e)}function QP(){var e=0;return a[7928]|0||(Q3(10488),Pt(59,10488,ue|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),vn(10488)|0||Q3(10488),10488}function Q3(e){e=e|0,tM(e),uc(e,60)}function ZP(e){e=e|0,eM(e+24|0)}function eM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function tM(e){e=e|0;var n=0;n=Sn()|0,In(e,5,6,n,oM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function nM(e){e=e|0,rM(e)}function rM(e){e=e|0,iM(e)}function iM(e){e=e|0,Z3(e+8|0),a[e+24>>0]=1}function Z3(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function oM(){return 1492}function uM(){return sM()|0}function sM(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=v,v=v+16|0,s=n+4|0,d=n,r=Go(8)|0,e=r,o=St(16)|0,Z3(o),l=e+4|0,t[l>>2]=o,o=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],J3(o,l,s),t[r>>2]=o,v=n,e|0}function lM(){var e=0;return a[7936]|0||(vM(10524),Pt(25,10524,ue|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function fM(e,n){e=e|0,n=n|0,t[e>>2]=cM()|0,t[e+4>>2]=aM()|0,t[e+12>>2]=n,t[e+8>>2]=dM()|0,t[e+32>>2]=7}function cM(){return 11700}function aM(){return 1484}function dM(){return th()|0}function pM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(hM(r),He(r)):n|0&&He(n)}function hM(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function vM(e){e=e|0,bs(e)}function mM(e,n,r){e=e|0,n=n|0,r=r|0,e=Yn(n)|0,n=gM(r)|0,r=_M(r,0)|0,$M(e,n,r,S4()|0,0)}function gM(e){return e=e|0,e|0}function _M(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=S4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(t8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(TM(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function S4(){var e=0,n=0;if(a[7944]|0||(e8(10568),Pt(61,10568,ue|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(vn(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));e8(10568)}return 10568}function e8(e){e=e|0,DM(e)}function yM(e){e=e|0,wM(e+24|0)}function wM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function DM(e){e=e|0;var n=0;n=Sn()|0,In(e,1,17,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function EM(e){return e=e|0,CM(t[(SM(e)|0)>>2]|0)|0}function SM(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e<<3)|0}function CM(e){return e=e|0,Jc(ph[e&7]()|0)|0}function t8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function TM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=xM(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,kM(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,t8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,AM(e,s),OM(s),v=_;return}}function xM(e){return e=e|0,536870911}function kM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function AM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function OM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function IM(){PM()}function PM(){MM(10604)}function MM(e){e=e|0,FM(e,4955)}function FM(e,n){e=e|0,n=n|0;var r=0;r=RM()|0,t[e>>2]=r,LM(r,n),wf(t[e>>2]|0)}function RM(){var e=0;return a[7952]|0||(HM(10612),Pt(25,10612,ue|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function LM(e,n){e=e|0,n=n|0,t[e>>2]=UM()|0,t[e+4>>2]=qM()|0,t[e+12>>2]=n,t[e+8>>2]=bM()|0,t[e+32>>2]=8}function wf(e){e=e|0;var n=0,r=0;n=v,v=v+16|0,r=n,ia()|0,t[r>>2]=e,NM(10608,r),v=n}function ia(){return a[11714]|0||(t[2652]=0,Pt(62,10608,ue|0)|0,a[11714]=1),10608}function NM(e,n){e=e|0,n=n|0;var r=0;r=St(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function BM(e){e=e|0,jM(e)}function jM(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,He(r);while((n|0)!=0);t[e>>2]=0}function UM(){return 11715}function qM(){return 1496}function bM(){return eh()|0}function zM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(WM(r),He(r)):n|0&&He(n)}function WM(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function HM(e){e=e|0,bs(e)}function GM(e,n){e=e|0,n=n|0;var r=0,o=0;ia()|0,r=t[2652]|0;e:do if(r|0){for(;o=t[r+4>>2]|0,!(o|0?(N8(C4(o)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;VM(o,n)}while(0)}function C4(e){return e=e|0,t[e+12>>2]|0}function VM(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Hu(r),He(r)),r=St(4)|0,$a(r,n),t[e>>2]=r}function T4(){return a[11716]|0||(t[2664]=0,Pt(63,10656,ue|0)|0,a[11716]=1),10656}function n8(){var e=0;return a[11717]|0?e=t[2665]|0:(YM(),t[2665]=1504,a[11717]=1,e=1504),e|0}function YM(){a[11740]|0||(a[11718]=At(At(8,0)|0,0)|0,a[11719]=At(At(0,0)|0,0)|0,a[11720]=At(At(0,16)|0,0)|0,a[11721]=At(At(8,0)|0,0)|0,a[11722]=At(At(0,0)|0,0)|0,a[11723]=At(At(8,0)|0,0)|0,a[11724]=At(At(0,0)|0,0)|0,a[11725]=At(At(8,0)|0,0)|0,a[11726]=At(At(0,0)|0,0)|0,a[11727]=At(At(8,0)|0,0)|0,a[11728]=At(At(0,0)|0,0)|0,a[11729]=At(At(0,0)|0,32)|0,a[11730]=At(At(0,0)|0,32)|0,a[11740]=1)}function r8(){return 1572}function $M(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0,C=0;l=v,v=v+32|0,C=l+16|0,T=l+12|0,y=l+8|0,_=l+4|0,d=l,t[C>>2]=e,t[T>>2]=n,t[y>>2]=r,t[_>>2]=o,t[d>>2]=s,T4()|0,KM(10656,C,T,y,_,d),v=l}function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=St(24)|0,o1(d+4|0,t[n>>2]|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0),t[d>>2]=t[e>>2],t[e>>2]=d}function i8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0,Be=0;if(Be=v,v=v+32|0,se=Be+20|0,re=Be+8|0,Ae=Be+4|0,Ce=Be,n=t[n>>2]|0,n|0){ye=se+4|0,y=se+8|0,T=re+4|0,C=re+8|0,P=re+8|0,U=se+8|0;do{if(d=n+4|0,_=x4(d)|0,_|0){if(s=$1(_)|0,t[se>>2]=0,t[ye>>2]=0,t[y>>2]=0,o=(K1(_)|0)+1|0,XM(se,o),o|0)for(;o=o+-1|0,Qu(re,t[s>>2]|0),l=t[ye>>2]|0,l>>>0<(t[U>>2]|0)>>>0?(t[l>>2]=t[re>>2],t[ye>>2]=(t[ye>>2]|0)+4):k4(se,re),o;)s=s+4|0;o=X1(_)|0,t[re>>2]=0,t[T>>2]=0,t[C>>2]=0;e:do if(t[o>>2]|0)for(s=0,l=0;;){if((s|0)==(l|0)?JM(re,o):(t[s>>2]=t[o>>2],t[T>>2]=(t[T>>2]|0)+4),o=o+4|0,!(t[o>>2]|0))break e;s=t[T>>2]|0,l=t[P>>2]|0}while(0);t[Ae>>2]=nh(d)|0,t[Ce>>2]=vn(_)|0,QM(r,e,Ae,Ce,se,re),A4(re),Il(se)}n=t[n>>2]|0}while((n|0)!=0)}v=Be}function x4(e){return e=e|0,t[e+12>>2]|0}function $1(e){return e=e|0,t[e+12>>2]|0}function K1(e){return e=e|0,t[e+16>>2]|0}function XM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=v,v=v+32|0,r=s,o=t[e>>2]|0,(t[e+8>>2]|0)-o>>2>>>0>>0&&(d8(r,n,(t[e+4>>2]|0)-o>>2,e+8|0),p8(e,r),h8(r)),v=s}function k4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0;if(d=v,v=v+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=a8(e)|0,l>>>0>>0)bn(e);else{_=t[e>>2]|0,T=(t[e+8>>2]|0)-_|0,y=T>>1,d8(r,T>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,p8(e,r),h8(r),v=d;return}}function X1(e){return e=e|0,t[e+8>>2]|0}function JM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0;if(d=v,v=v+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=c8(e)|0,l>>>0>>0)bn(e);else{_=t[e>>2]|0,T=(t[e+8>>2]|0)-_|0,y=T>>1,gF(r,T>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,_F(e,r),yF(r),v=d;return}}function nh(e){return e=e|0,t[e>>2]|0}function QM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,ZM(e,n,r,o,s,l)}function A4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),He(r))}function Il(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),He(r))}function ZM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,T=0,C=0,P=0;d=v,v=v+48|0,C=d+40|0,_=d+32|0,P=d+24|0,y=d+12|0,T=d,Vo(_),e=Si(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,o=t[o>>2]|0,O4(y,s),eF(T,l),t[C>>2]=t[P>>2],tF(e,C,r,o,y,T),A4(T),Il(y),Yo(_),v=d}function O4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(vF(e,o),mF(e,t[n>>2]|0,t[r>>2]|0,o))}function eF(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(pF(e,o),hF(e,t[n>>2]|0,t[r>>2]|0,o))}function tF(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,T=0,C=0,P=0;d=v,v=v+32|0,C=d+28|0,P=d+24|0,_=d+12|0,y=d,T=Do(nF()|0)|0,t[P>>2]=t[n>>2],t[C>>2]=t[P>>2],n=sc(C)|0,r=o8(r)|0,o=I4(o)|0,t[_>>2]=t[s>>2],C=s+4|0,t[_+4>>2]=t[C>>2],P=s+8|0,t[_+8>>2]=t[P>>2],t[P>>2]=0,t[C>>2]=0,t[s>>2]=0,s=P4(_)|0,t[y>>2]=t[l>>2],C=l+4|0,t[y+4>>2]=t[C>>2],P=l+8|0,t[y+8>>2]=t[P>>2],t[P>>2]=0,t[C>>2]=0,t[l>>2]=0,Fo(0,T|0,e|0,n|0,r|0,o|0,s|0,rF(y)|0)|0,A4(y),Il(_),v=d}function nF(){var e=0;return a[7968]|0||(aF(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function sc(e){return e=e|0,s8(e)|0}function o8(e){return e=e|0,u8(e)|0}function I4(e){return e=e|0,Jc(e)|0}function P4(e){return e=e|0,oF(e)|0}function rF(e){return e=e|0,iF(e)|0}function iF(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Go(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=u8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function u8(e){return e=e|0,e|0}function oF(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Go(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=s8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function s8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=v,v=v+32|0,n=s+12|0,r=s,o=N0(l8()|0)|0,o?(a1(n,o),d1(r,n),zN(e,r),e=p1(n)|0):e=uF(e)|0,v=s,e|0}function l8(){var e=0;return a[7960]|0||(cF(10664),Pt(25,10664,ue|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function uF(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=v,v=v+16|0,s=r+4|0,d=r,o=Go(8)|0,n=o,_=St(4)|0,t[_>>2]=t[e>>2],l=n+4|0,t[l>>2]=_,e=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],f8(e,l,s),t[o>>2]=e,v=r,n|0}function f8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=St(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 sF(e){e=e|0,fa(e),He(e)}function lF(e){e=e|0,e=t[e+12>>2]|0,e|0&&He(e)}function fF(e){e=e|0,He(e)}function cF(e){e=e|0,bs(e)}function aF(e){e=e|0,Eo(e,dF()|0,5)}function dF(){return 1676}function pF(e,n){e=e|0,n=n|0;var r=0;if((c8(e)|0)>>>0>>0&&bn(e),n>>>0>1073741823)dn();else{r=St(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function hF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(cn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function c8(e){return e=e|0,1073741823}function vF(e,n){e=e|0,n=n|0;var r=0;if((a8(e)|0)>>>0>>0&&bn(e),n>>>0>1073741823)dn();else{r=St(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function mF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(cn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function a8(e){return e=e|0,1073741823}function gF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)dn();else{s=St(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function _F(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function yF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&He(e)}function d8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)dn();else{s=St(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function p8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function h8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&He(e)}function wF(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0;if(re=v,v=v+32|0,C=re+20|0,P=re+12|0,T=re+16|0,U=re+4|0,ye=re,se=re+8|0,_=n8()|0,l=t[_>>2]|0,d=t[l>>2]|0,d|0)for(y=t[_+8>>2]|0,_=t[_+4>>2]|0;Qu(C,d),DF(e,C,_,y),l=l+4|0,d=t[l>>2]|0,d;)y=y+1|0,_=_+1|0;if(l=r8()|0,d=t[l>>2]|0,d|0)do Qu(C,d),t[P>>2]=t[l+4>>2],EF(n,C,P),l=l+8|0,d=t[l>>2]|0;while((d|0)!=0);if(l=t[(ia()|0)>>2]|0,l|0)do n=t[l+4>>2]|0,Qu(C,t[(oa(n)|0)>>2]|0),t[P>>2]=C4(n)|0,SF(r,C,P),l=t[l>>2]|0;while((l|0)!=0);if(Qu(T,0),l=T4()|0,t[C>>2]=t[T>>2],i8(C,l,s),l=t[(ia()|0)>>2]|0,l|0){e=C+4|0,n=C+8|0,r=C+8|0;do{if(y=t[l+4>>2]|0,Qu(P,t[(oa(y)|0)>>2]|0),CF(U,v8(y)|0),d=t[U>>2]|0,d|0){t[C>>2]=0,t[e>>2]=0,t[n>>2]=0;do Qu(ye,t[(oa(t[d+4>>2]|0)|0)>>2]|0),_=t[e>>2]|0,_>>>0<(t[r>>2]|0)>>>0?(t[_>>2]=t[ye>>2],t[e>>2]=(t[e>>2]|0)+4):k4(C,ye),d=t[d>>2]|0;while((d|0)!=0);TF(o,P,C),Il(C)}t[se>>2]=t[P>>2],T=m8(y)|0,t[C>>2]=t[se>>2],i8(C,T,s),Hd(U),l=t[l>>2]|0}while((l|0)!=0)}v=re}function DF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,BF(e,n,r,o)}function EF(e,n,r){e=e|0,n=n|0,r=r|0,NF(e,n,r)}function oa(e){return e=e|0,e|0}function SF(e,n,r){e=e|0,n=n|0,r=r|0,MF(e,n,r)}function v8(e){return e=e|0,e+16|0}function CF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=v,v=v+16|0,s=l+8|0,r=l,t[e>>2]=0,o=t[n>>2]|0,t[s>>2]=o,t[r>>2]=e,r=PF(r)|0,o|0){if(o=St(12)|0,d=(g8(s)|0)+4|0,e=t[d+4>>2]|0,n=o+4|0,t[n>>2]=t[d>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=o;else for(n=o;e=St(12)|0,y=(g8(s)|0)+4|0,_=t[y+4>>2]|0,d=e+4|0,t[d>>2]=t[y>>2],t[d+4>>2]=_,t[n>>2]=e,d=t[t[s>>2]>>2]|0,t[s>>2]=d,d;)n=e;t[e>>2]=t[r>>2],t[r>>2]=o}v=l}function TF(e,n,r){e=e|0,n=n|0,r=r|0,xF(e,n,r)}function m8(e){return e=e|0,e+24|0}function xF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+32|0,d=o+24|0,s=o+16|0,_=o+12|0,l=o,Vo(s),e=Si(e)|0,t[_>>2]=t[n>>2],O4(l,r),t[d>>2]=t[_>>2],kF(e,d,l),Il(l),Yo(s),v=o}function kF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=v,v=v+32|0,d=o+16|0,_=o+12|0,s=o,l=Do(AF()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=sc(d)|0,t[s>>2]=t[r>>2],d=r+4|0,t[s+4>>2]=t[d>>2],_=r+8|0,t[s+8>>2]=t[_>>2],t[_>>2]=0,t[d>>2]=0,t[r>>2]=0,ys(0,l|0,e|0,n|0,P4(s)|0)|0,Il(s),v=o}function AF(){var e=0;return a[7976]|0||(OF(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function OF(e){e=e|0,Eo(e,IF()|0,2)}function IF(){return 1732}function PF(e){return e=e|0,t[e>>2]|0}function g8(e){return e=e|0,t[e>>2]|0}function MF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+32|0,l=o+16|0,s=o+8|0,d=o,Vo(s),e=Si(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],_8(e,l,r),Yo(s),v=o}function _8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+16|0,l=o+4|0,d=o,s=Do(FF()|0)|0,t[d>>2]=t[n>>2],t[l>>2]=t[d>>2],n=sc(l)|0,ys(0,s|0,e|0,n|0,o8(r)|0)|0,v=o}function FF(){var e=0;return a[7984]|0||(RF(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function RF(e){e=e|0,Eo(e,LF()|0,2)}function LF(){return 1744}function NF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=v,v=v+32|0,l=o+16|0,s=o+8|0,d=o,Vo(s),e=Si(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],_8(e,l,r),Yo(s),v=o}function BF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+32|0,d=s+16|0,l=s+8|0,_=s,Vo(l),e=Si(e)|0,t[_>>2]=t[n>>2],r=a[r>>0]|0,o=a[o>>0]|0,t[d>>2]=t[_>>2],jF(e,d,r,o),Yo(l),v=s}function jF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+16|0,d=s+4|0,_=s,l=Do(UF()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=sc(d)|0,r=ua(r)|0,Iu(0,l|0,e|0,n|0,r|0,ua(o)|0)|0,v=s}function UF(){var e=0;return a[7992]|0||(bF(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function ua(e){return e=e|0,qF(e)|0}function qF(e){return e=e|0,e&255|0}function bF(e){e=e|0,Eo(e,zF()|0,3)}function zF(){return 1756}function WF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;switch(U=v,v=v+32|0,_=U+8|0,y=U+4|0,T=U+20|0,C=U,E1(e,0),o=bN(n)|0,t[_>>2]=0,P=_+4|0,t[P>>2]=0,t[_+8>>2]=0,o<<24>>24){case 0:{a[T>>0]=0,HF(y,r,T),rh(e,y)|0,K0(y);break}case 8:{P=B4(n)|0,a[T>>0]=8,Qu(C,t[P+4>>2]|0),GF(y,r,T,C,P+8|0),rh(e,y)|0,K0(y);break}case 9:{if(l=B4(n)|0,n=t[l+4>>2]|0,n|0)for(d=_+8|0,s=l+12|0;n=n+-1|0,Qu(y,t[s>>2]|0),o=t[P>>2]|0,o>>>0<(t[d>>2]|0)>>>0?(t[o>>2]=t[y>>2],t[P>>2]=(t[P>>2]|0)+4):k4(_,y),n;)s=s+4|0;a[T>>0]=9,Qu(C,t[l+8>>2]|0),VF(y,r,T,C,_),rh(e,y)|0,K0(y);break}default:P=B4(n)|0,a[T>>0]=o,Qu(C,t[P+4>>2]|0),YF(y,r,T,C),rh(e,y)|0,K0(y)}Il(_),v=U}function HF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=v,v=v+16|0,s=o,Vo(s),n=Si(n)|0,uR(e,n,a[r>>0]|0),Yo(s),v=o}function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&Pu(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function GF(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=v,v=v+32|0,_=l+16|0,d=l+8|0,y=l,Vo(d),n=Si(n)|0,r=a[r>>0]|0,t[y>>2]=t[o>>2],s=t[s>>2]|0,t[_>>2]=t[y>>2],nR(e,n,r,_,s),Yo(d),v=l}function VF(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0;l=v,v=v+32|0,y=l+24|0,d=l+16|0,T=l+12|0,_=l,Vo(d),n=Si(n)|0,r=a[r>>0]|0,t[T>>2]=t[o>>2],O4(_,s),t[y>>2]=t[T>>2],QF(e,n,r,y,_),Il(_),Yo(d),v=l}function YF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+32|0,d=s+16|0,l=s+8|0,_=s,Vo(l),n=Si(n)|0,r=a[r>>0]|0,t[_>>2]=t[o>>2],t[d>>2]=t[_>>2],$F(e,n,r,d),Yo(l),v=s}function $F(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=v,v=v+16|0,l=s+4|0,_=s,d=Do(KF()|0)|0,r=ua(r)|0,t[_>>2]=t[o>>2],t[l>>2]=t[_>>2],ih(e,ys(0,d|0,n|0,r|0,sc(l)|0)|0),v=s}function KF(){var e=0;return a[8e3]|0||(XF(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function ih(e,n){e=e|0,n=n|0,E1(e,n)}function XF(e){e=e|0,Eo(e,JF()|0,2)}function JF(){return 1772}function QF(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0;l=v,v=v+32|0,y=l+16|0,T=l+12|0,d=l,_=Do(ZF()|0)|0,r=ua(r)|0,t[T>>2]=t[o>>2],t[y>>2]=t[T>>2],o=sc(y)|0,t[d>>2]=t[s>>2],y=s+4|0,t[d+4>>2]=t[y>>2],T=s+8|0,t[d+8>>2]=t[T>>2],t[T>>2]=0,t[y>>2]=0,t[s>>2]=0,ih(e,Iu(0,_|0,n|0,r|0,o|0,P4(d)|0)|0),Il(d),v=l}function ZF(){var e=0;return a[8008]|0||(eR(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function eR(e){e=e|0,Eo(e,tR()|0,3)}function tR(){return 1784}function nR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=v,v=v+16|0,_=l+4|0,y=l,d=Do(rR()|0)|0,r=ua(r)|0,t[y>>2]=t[o>>2],t[_>>2]=t[y>>2],o=sc(_)|0,ih(e,Iu(0,d|0,n|0,r|0,o|0,I4(s)|0)|0),v=l}function rR(){var e=0;return a[8016]|0||(iR(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function iR(e){e=e|0,Eo(e,oR()|0,3)}function oR(){return 1800}function uR(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=Do(sR()|0)|0,ih(e,nf(0,o|0,n|0,ua(r)|0)|0)}function sR(){var e=0;return a[8024]|0||(lR(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function lR(e){e=e|0,Eo(e,fR()|0,1)}function fR(){return 1816}function cR(){aR(),dR(),pR()}function aR(){t[2702]=V8(65536)|0}function dR(){FR(10856)}function pR(){hR(10816)}function hR(e){e=e|0,vR(e,5044),mR(e)|0}function vR(e,n){e=e|0,n=n|0;var r=0;r=l8()|0,t[e>>2]=r,kR(r,n),wf(t[e>>2]|0)}function mR(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,gR()|0),e|0}function gR(){var e=0;return a[8032]|0||(y8(10820),Pt(64,10820,ue|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),vn(10820)|0||y8(10820),10820}function y8(e){e=e|0,wR(e),uc(e,25)}function _R(e){e=e|0,yR(e+24|0)}function yR(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function wR(e){e=e|0;var n=0;n=Sn()|0,In(e,5,18,n,CR()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DR(e,n){e=e|0,n=n|0,ER(e,n)}function ER(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=v,v=v+16|0,o=r,s=r+4|0,kl(s,n),t[o>>2]=Al(s,n)|0,SR(e,o),v=r}function SR(e,n){e=e|0,n=n|0,w8(e+4|0,t[n>>2]|0),a[e+8>>0]=1}function w8(e,n){e=e|0,n=n|0,t[e>>2]=n}function CR(){return 1824}function TR(e){return e=e|0,xR(e)|0}function xR(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=v,v=v+16|0,s=r+4|0,d=r,o=Go(8)|0,n=o,_=St(4)|0,kl(s,e),w8(_,Al(s,e)|0),l=n+4|0,t[l>>2]=_,e=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],f8(e,l,s),t[o>>2]=e,v=r,n|0}function Go(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=V8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function kR(e,n){e=e|0,n=n|0,t[e>>2]=AR()|0,t[e+4>>2]=OR()|0,t[e+12>>2]=n,t[e+8>>2]=IR()|0,t[e+32>>2]=9}function AR(){return 11744}function OR(){return 1832}function IR(){return th()|0}function PR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(MR(r),He(r)):n|0&&He(n)}function MR(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function FR(e){e=e|0,RR(e,5052),LR(e)|0,NR(e,5058,26)|0,BR(e,5069,1)|0,jR(e,5077,10)|0,UR(e,5087,19)|0,qR(e,5094,27)|0}function RR(e,n){e=e|0,n=n|0;var r=0;r=FN()|0,t[e>>2]=r,RN(r,n),wf(t[e>>2]|0)}function LR(e){e=e|0;var n=0;return n=t[e>>2]|0,oc(n,yN()|0),e|0}function NR(e,n,r){return e=e|0,n=n|0,r=r|0,tN(e,Yn(n)|0,r,0),e|0}function BR(e,n,r){return e=e|0,n=n|0,r=r|0,UL(e,Yn(n)|0,r,0),e|0}function jR(e,n,r){return e=e|0,n=n|0,r=r|0,gL(e,Yn(n)|0,r,0),e|0}function UR(e,n,r){return e=e|0,n=n|0,r=r|0,nL(e,Yn(n)|0,r,0),e|0}function D8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(o=t[r>>2]|0,t[2703]=o,!r)r=o;else break}He(r)}t[2701]=e}function qR(e,n,r){return e=e|0,n=n|0,r=r|0,bR(e,Yn(n)|0,r,0),e|0}function bR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=M4()|0,e=zR(r)|0,Zn(l,n,s,e,WR(r,o)|0,o)}function M4(){var e=0,n=0;if(a[8040]|0||(S8(10860),Pt(65,10860,ue|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(vn(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));S8(10860)}return 10860}function zR(e){return e=e|0,e|0}function WR(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=M4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(E8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(HR(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function E8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function HR(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=GR(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,VR(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,E8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,YR(e,s),$R(s),v=_;return}}function GR(e){return e=e|0,536870911}function VR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function YR(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function $R(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function S8(e){e=e|0,JR(e)}function KR(e){e=e|0,XR(e+24|0)}function XR(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function JR(e){e=e|0;var n=0;n=Sn()|0,In(e,1,11,n,QR()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function QR(){return 1840}function ZR(e,n,r){e=e|0,n=n|0,r=r|0,tL(t[(eL(e)|0)>>2]|0,n,r)}function eL(e){return e=e|0,(t[(M4()|0)+24>>2]|0)+(e<<3)|0}function tL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=v,v=v+16|0,l=o+1|0,s=o,kl(l,n),n=Al(l,n)|0,kl(s,r),r=Al(s,r)|0,Ml[e&31](n,r),v=o}function nL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=F4()|0,e=rL(r)|0,Zn(l,n,s,e,iL(r,o)|0,o)}function F4(){var e=0,n=0;if(a[8048]|0||(T8(10896),Pt(66,10896,ue|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(vn(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));T8(10896)}return 10896}function rL(e){return e=e|0,e|0}function iL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=F4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(C8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(oL(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>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 oL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=uL(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,sL(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,C8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,lL(e,s),fL(s),v=_;return}}function uL(e){return e=e|0,536870911}function sL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function lL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fL(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function T8(e){e=e|0,dL(e)}function cL(e){e=e|0,aL(e+24|0)}function aL(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function dL(e){e=e|0;var n=0;n=Sn()|0,In(e,1,11,n,pL()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function pL(){return 1852}function hL(e,n){return e=e|0,n=n|0,mL(t[(vL(e)|0)>>2]|0,n)|0}function vL(e){return e=e|0,(t[(F4()|0)+24>>2]|0)+(e<<3)|0}function mL(e,n){e=e|0,n=n|0;var r=0,o=0;return r=v,v=v+16|0,o=r,kl(o,n),n=Al(o,n)|0,n=Jc(ac[e&31](n)|0)|0,v=r,n|0}function gL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=R4()|0,e=_L(r)|0,Zn(l,n,s,e,yL(r,o)|0,o)}function R4(){var e=0,n=0;if(a[8056]|0||(k8(10932),Pt(67,10932,ue|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(vn(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));k8(10932)}return 10932}function _L(e){return e=e|0,e|0}function yL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=R4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(x8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(wL(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function x8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function wL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=DL(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,EL(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,x8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,SL(e,s),CL(s),v=_;return}}function DL(e){return e=e|0,536870911}function EL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function SL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function CL(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function k8(e){e=e|0,kL(e)}function TL(e){e=e|0,xL(e+24|0)}function xL(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function kL(e){e=e|0;var n=0;n=Sn()|0,In(e,1,7,n,AL()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function AL(){return 1860}function OL(e,n,r){return e=e|0,n=n|0,r=r|0,PL(t[(IL(e)|0)>>2]|0,n,r)|0}function IL(e){return e=e|0,(t[(R4()|0)+24>>2]|0)+(e<<3)|0}function PL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return o=v,v=v+32|0,d=o+12|0,l=o+8|0,_=o,y=o+16|0,s=o+4|0,ML(y,n),FL(_,y,n),zs(s,r),r=Ws(s,r)|0,t[d>>2]=t[_>>2],e2[e&15](l,d,r),r=RL(l)|0,K0(l),Hs(s),v=o,r|0}function ML(e,n){e=e|0,n=n|0}function FL(e,n,r){e=e|0,n=n|0,r=r|0,LL(e,r)}function RL(e){return e=e|0,Si(e)|0}function LL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=v,v=v+16|0,r=s,o=n,o&1?(NL(r,0),f0(o|0,r|0)|0,BL(e,r),jL(r)):t[e>>2]=t[n>>2],v=s}function NL(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,a[e+8>>0]=0}function BL(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function jL(e){e=e|0,a[e+8>>0]=0}function UL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=L4()|0,e=qL(r)|0,Zn(l,n,s,e,bL(r,o)|0,o)}function L4(){var e=0,n=0;if(a[8064]|0||(O8(10968),Pt(68,10968,ue|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(vn(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));O8(10968)}return 10968}function qL(e){return e=e|0,e|0}function bL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=L4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(A8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(zL(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>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 zL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=WL(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,HL(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,A8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,VL(e,s),YL(s),v=_;return}}function WL(e){return e=e|0,536870911}function HL(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function VL(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function YL(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function O8(e){e=e|0,XL(e)}function $L(e){e=e|0,KL(e+24|0)}function KL(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function XL(e){e=e|0;var n=0;n=Sn()|0,In(e,1,1,n,JL()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function JL(){return 1872}function QL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,eN(t[(ZL(e)|0)>>2]|0,n,r,o,s,l)}function ZL(e){return e=e|0,(t[(L4()|0)+24>>2]|0)+(e<<3)|0}function eN(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,T=0,C=0,P=0;d=v,v=v+32|0,_=d+16|0,y=d+12|0,T=d+8|0,C=d+4|0,P=d,zs(_,n),n=Ws(_,n)|0,zs(y,r),r=Ws(y,r)|0,zs(T,o),o=Ws(T,o)|0,zs(C,s),s=Ws(C,s)|0,zs(P,l),l=Ws(P,l)|0,J8[e&1](n,r,o,s,l),Hs(P),Hs(C),Hs(T),Hs(y),Hs(_),v=d}function tN(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N4()|0,e=nN(r)|0,Zn(l,n,s,e,rN(r,o)|0,o)}function N4(){var e=0,n=0;if(a[8072]|0||(P8(11004),Pt(69,11004,ue|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(vn(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));P8(11004)}return 11004}function nN(e){return e=e|0,e|0}function rN(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=v,v=v+16|0,s=_,l=_+4|0,t[s>>2]=e,y=N4()|0,d=y+24|0,n=At(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(I8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(iN(d,s,l),n=t[r>>2]|0),v=_,(n-(t[d>>2]|0)>>3)+-1|0}function I8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function iN(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0;if(_=v,v=v+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=oN(e)|0,o>>>0>>0)bn(e);else{y=t[e>>2]|0,C=(t[e+8>>2]|0)-y|0,T=C>>2,uN(s,C>>3>>>0>>1>>>0?T>>>0>>0?d:T:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,I8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,sN(e,s),lN(s),v=_;return}}function oN(e){return e=e|0,536870911}function uN(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)dn();else{s=St(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function sN(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(cn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function lN(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&He(e)}function P8(e){e=e|0,aN(e)}function fN(e){e=e|0,cN(e+24|0)}function cN(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function aN(e){e=e|0;var n=0;n=Sn()|0,In(e,1,12,n,dN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dN(){return 1896}function pN(e,n,r){e=e|0,n=n|0,r=r|0,vN(t[(hN(e)|0)>>2]|0,n,r)}function hN(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}function vN(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=v,v=v+16|0,l=o+4|0,s=o,mN(l,n),n=gN(l,n)|0,zs(s,r),r=Ws(s,r)|0,Ml[e&31](n,r),Hs(s),v=o}function mN(e,n){e=e|0,n=n|0}function gN(e,n){return e=e|0,n=n|0,_N(n)|0}function _N(e){return e=e|0,e|0}function yN(){var e=0;return a[8080]|0||(M8(11040),Pt(70,11040,ue|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),vn(11040)|0||M8(11040),11040}function M8(e){e=e|0,EN(e),uc(e,71)}function wN(e){e=e|0,DN(e+24|0)}function DN(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),He(r))}function EN(e){e=e|0;var n=0;n=Sn()|0,In(e,5,7,n,xN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function SN(e){e=e|0,CN(e)}function CN(e){e=e|0,TN(e)}function TN(e){e=e|0,a[e+8>>0]=1}function xN(){return 1936}function kN(){return AN()|0}function AN(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=v,v=v+16|0,s=n+4|0,d=n,r=Go(8)|0,e=r,l=e+4|0,t[l>>2]=St(1)|0,o=St(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],ON(o,l,s),t[r>>2]=o,v=n,e|0}function ON(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=St(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 IN(e){e=e|0,fa(e),He(e)}function PN(e){e=e|0,e=t[e+12>>2]|0,e|0&&He(e)}function MN(e){e=e|0,He(e)}function FN(){var e=0;return a[8088]|0||(qN(11076),Pt(25,11076,ue|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function RN(e,n){e=e|0,n=n|0,t[e>>2]=LN()|0,t[e+4>>2]=NN()|0,t[e+12>>2]=n,t[e+8>>2]=BN()|0,t[e+32>>2]=10}function LN(){return 11745}function NN(){return 1940}function BN(){return eh()|0}function jN(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(yf(o,896)|0)==512?r|0&&(UN(r),He(r)):n|0&&He(n)}function UN(e){e=e|0,e=t[e+4>>2]|0,e|0&&Df(e)}function qN(e){e=e|0,bs(e)}function Qu(e,n){e=e|0,n=n|0,t[e>>2]=n}function B4(e){return e=e|0,t[e>>2]|0}function bN(e){return e=e|0,a[t[e>>2]>>0]|0}function zN(e,n){e=e|0,n=n|0;var r=0,o=0;r=v,v=v+16|0,o=r,t[o>>2]=t[e>>2],WN(n,o)|0,v=r}function WN(e,n){e=e|0,n=n|0;var r=0;return r=HN(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 HN(e,n){e=e|0,n=n|0;var r=0,o=0;return r=v,v=v+16|0,o=r,Vo(o),e=Si(e)|0,n=GN(e,t[n>>2]|0)|0,Yo(o),v=r,n|0}function Vo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function GN(e,n){e=e|0,n=n|0;var r=0;return r=Do(VN()|0)|0,nf(0,r|0,e|0,I4(n)|0)|0}function Yo(e){e=e|0,D8(t[e>>2]|0,t[e+4>>2]|0)}function VN(){var e=0;return a[8096]|0||(YN(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function YN(e){e=e|0,Eo(e,$N()|0,1)}function $N(){return 1948}function KN(){XN()}function XN(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0;if(se=v,v=v+16|0,C=se+4|0,P=se,ni(65536,10804,t[2702]|0,10812),r=n8()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(o=t[r+8>>2]|0,r=t[r+4>>2]|0;Es(e|0,x[r>>0]|0|0,a[o>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)o=o+1|0,r=r+1|0;if(e=r8()|0,n=t[e>>2]|0,n|0)do Zo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);Zo(JN()|0,5167),T=ia()|0,e=t[T>>2]|0;e:do if(e|0){do QN(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[T>>2]|0,e|0){y=T;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(ZN(s)|0);)if(t[P>>2]=y,t[C>>2]=t[P>>2],eB(T,C)|0,!e)break e;if(tB(s),y=t[y>>2]|0,n=F8(s)|0,l=Lo()|0,d=v,v=v+((1*(n<<2)|0)+15&-16)|0,_=v,v=v+((1*(n<<2)|0)+15&-16)|0,n=t[(v8(s)|0)>>2]|0,n|0)for(r=d,o=_;t[r>>2]=t[(oa(t[n+4>>2]|0)|0)>>2],t[o>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,o=o+4|0;re=oa(s)|0,n=nB(s)|0,r=F8(s)|0,o=rB(s)|0,Cs(re|0,n|0,d|0,_|0,r|0,o|0,C4(s)|0),U0(l|0)}while((e|0)!=0)}}while(0);if(e=t[(T4()|0)>>2]|0,e|0)do re=e+4|0,T=x4(re)|0,s=X1(T)|0,l=$1(T)|0,d=(K1(T)|0)+1|0,_=oh(T)|0,y=R8(re)|0,T=vn(T)|0,C=nh(re)|0,P=j4(re)|0,Ro(0,s|0,l|0,d|0,_|0,y|0,T|0,C|0,P|0,U4(re)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(ia()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(U=t[(oa(n)|0)>>2]|0,ye=t[(m8(n)|0)>>2]|0,ye|0):0){r=ye;do{n=r+4|0,o=x4(n)|0;n:do if(o|0)switch(vn(o)|0){case 0:break t;case 4:case 3:case 2:{_=X1(o)|0,y=$1(o)|0,T=(K1(o)|0)+1|0,C=oh(o)|0,P=vn(o)|0,re=nh(n)|0,Ro(U|0,_|0,y|0,T|0,C|0,0,P|0,re|0,j4(n)|0,U4(n)|0);break n}case 1:{d=X1(o)|0,_=$1(o)|0,y=(K1(o)|0)+1|0,T=oh(o)|0,C=R8(n)|0,P=vn(o)|0,re=nh(n)|0,Ro(U|0,d|0,_|0,y|0,T|0,C|0,P|0,re|0,j4(n)|0,U4(n)|0);break n}case 5:{T=X1(o)|0,C=$1(o)|0,P=(K1(o)|0)+1|0,re=oh(o)|0,Ro(U|0,T|0,C|0,P|0,re|0,iB(o)|0,vn(o)|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}dn()}while(0);tf(),v=se}function JN(){return 11703}function QN(e){e=e|0,a[e+40>>0]=0}function ZN(e){return e=e|0,(a[e+40>>0]|0)!=0|0}function eB(e,n){return e=e|0,n=n|0,n=oB(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],He(e),t[n>>2]|0}function tB(e){e=e|0,a[e+40>>0]=1}function F8(e){return e=e|0,t[e+20>>2]|0}function nB(e){return e=e|0,t[e+8>>2]|0}function rB(e){return e=e|0,t[e+32>>2]|0}function oh(e){return e=e|0,t[e+4>>2]|0}function R8(e){return e=e|0,t[e+4>>2]|0}function j4(e){return e=e|0,t[e+8>>2]|0}function U4(e){return e=e|0,t[e+16>>2]|0}function iB(e){return e=e|0,t[e+20>>2]|0}function oB(e){return e=e|0,t[e>>2]|0}function uh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0,Be=0,ae=0,ge=0,vt=0;vt=v,v=v+16|0,U=vt;do if(e>>>0<245){if(T=e>>>0<11?16:e+11&-8,e=T>>>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,o=t[r>>2]|0,s=o+8|0,l=t[s>>2]|0,(e|0)==(l|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=l),ge=n<<3,t[o+4>>2]=ge|3,ge=o+ge+4|0,t[ge>>2]=t[ge>>2]|1,ge=s,v=vt,ge|0;if(C=t[2785]|0,T>>>0>C>>>0){if(r|0)return n=2<>>12&16,n=n>>>d,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,o=n>>>1&1,o=(r|d|s|e|o)+(n>>>o)|0,n=11172+(o<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,d=s+8|0,r=t[d>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),l=(o<<3)-T|0,t[s+4>>2]=T|3,o=s+T|0,t[o+4>>2]=l|1,t[o+l>>2]=l,C|0&&(s=t[2788]|0,n=C>>>3,r=11172+(n<<1<<2)|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),t[2785]=l,t[2788]=o,ge=d,v=vt,ge|0;if(_=t[2784]|0,_){if(r=(_&0-_)+-1|0,d=r>>>12&16,r=r>>>d,l=r>>>5&8,r=r>>>l,y=r>>>2&4,r=r>>>y,o=r>>>1&2,r=r>>>o,e=r>>>1&1,e=t[11436+((l|d|y|o|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-T|0,o=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!o)y=e,l=r;else{do d=(t[o+4>>2]&-8)-T|0,y=d>>>0>>0,r=y?d:r,e=y?o:e,o=t[o+16+(((t[o+16>>2]|0)==0&1)<<2)>>2]|0;while((o|0)!=0);y=e,l=r}if(d=y+T|0,y>>>0>>0){s=t[y+24>>2]|0,n=t[y+12>>2]|0;do if((n|0)==(y|0)){if(e=y+20|0,n=t[e>>2]|0,!n&&(e=y+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0,r=n}else r=t[y+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[y+28>>2]|0,e=11436+(n<<2)|0,(y|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=_&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[y+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[y+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return l>>>0<16?(ge=l+T|0,t[y+4>>2]=ge|3,ge=y+ge+4|0,t[ge>>2]=t[ge>>2]|1):(t[y+4>>2]=T|3,t[d+4>>2]=l|1,t[d+l>>2]=l,C|0&&(o=t[2788]|0,n=C>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=o,t[n+12>>2]=o,t[o+8>>2]=n,t[o+12>>2]=r),t[2785]=l,t[2788]=d),ge=y+8|0,v=vt,ge|0}else P=T}else P=T}else P=T}else if(e>>>0<=4294967231)if(e=e+11|0,T=e&-8,y=t[2784]|0,y){o=0-T|0,e=e>>>8,e?T>>>0>16777215?_=31:(P=(e+1048320|0)>>>16&8,ae=e<>>16&4,ae=ae<>>16&2,_=14-(C|P|_)+(ae<<_>>>15)|0,_=T>>>(_+7|0)&1|_<<1):_=0,r=t[11436+(_<<2)>>2]|0;e:do if(!r)r=0,e=0,ae=57;else for(e=0,d=T<<((_|0)==31?0:25-(_>>>1)|0),l=0;;){if(s=(t[r+4>>2]&-8)-T|0,s>>>0>>0)if(s)e=r,o=s;else{e=r,o=0,s=r,ae=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(d>>>31<<2)>>2]|0,l=(s|0)==0|(s|0)==(r|0)?l:s,s=(r|0)==0,s){r=l,ae=57;break}else d=d<<((s^1)&1)}while(0);if((ae|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<_,e=y&(e|0-e),!e){P=T;break}P=(e&0-e)+-1|0,d=P>>>12&16,P=P>>>d,l=P>>>5&8,P=P>>>l,_=P>>>2&4,P=P>>>_,C=P>>>1&2,P=P>>>C,r=P>>>1&1,e=0,r=t[11436+((l|d|_|C|r)+(P>>>r)<<2)>>2]|0}r?(s=r,ae=61):(_=e,d=o)}if((ae|0)==61)for(;;)if(ae=0,r=(t[s+4>>2]&-8)-T|0,P=r>>>0>>0,r=P?r:o,e=P?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)o=r,ae=61;else{_=e,d=r;break}if((_|0)!=0?d>>>0<((t[2785]|0)-T|0)>>>0:0){if(l=_+T|0,_>>>0>=l>>>0)return ge=0,v=vt,ge|0;s=t[_+24>>2]|0,n=t[_+12>>2]|0;do if((n|0)==(_|0)){if(e=_+20|0,n=t[e>>2]|0,!n&&(e=_+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0}else ge=t[_+8>>2]|0,t[ge+12>>2]=n,t[n+8>>2]=ge;while(0);do if(s){if(e=t[_+28>>2]|0,r=11436+(e<<2)|0,(_|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){o=y&~(1<>2]|0)!=(_|0)&1)<<2)>>2]=n,!n){o=y;break}t[n+24>>2]=s,e=t[_+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[_+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),o=y}else o=y;while(0);do if(d>>>0>=16){if(t[_+4>>2]=T|3,t[l+4>>2]=d|1,t[l+d>>2]=d,n=d>>>3,d>>>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]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r;break}if(n=d>>>8,n?d>>>0>16777215?n=31:(ae=(n+1048320|0)>>>16&8,ge=n<>>16&4,ge=ge<>>16&2,n=14-(Be|ae|n)+(ge<>>15)|0,n=d>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[l+28>>2]=n,e=l+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}for(e=d<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(d|0)){ae=97;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{ae=96;break}}if((ae|0)==96){t[o>>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}else if((ae|0)==97){ae=r+8|0,ge=t[ae>>2]|0,t[ge+12>>2]=l,t[ae>>2]=l,t[l+8>>2]=ge,t[l+12>>2]=r,t[l+24>>2]=0;break}}else ge=d+T|0,t[_+4>>2]=ge|3,ge=_+ge+4|0,t[ge>>2]=t[ge>>2]|1;while(0);return ge=_+8|0,v=vt,ge|0}else P=T}else P=T;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?(ge=e+P|0,t[2788]=ge,t[2785]=n,t[ge+4>>2]=n|1,t[ge+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,ge=e+r+4|0,t[ge>>2]=t[ge>>2]|1),ge=e+8|0,v=vt,ge|0;if(d=t[2786]|0,d>>>0>P>>>0)return Be=d-P|0,t[2786]=Be,ge=t[2789]|0,ae=ge+P|0,t[2789]=ae,t[ae+4>>2]=Be|1,t[ge+4>>2]=P|3,ge=ge+8|0,v=vt,ge|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=U&-16^1431655768,t[U>>2]=e,t[2901]=e,e=4096),_=P+48|0,y=P+47|0,l=e+y|0,s=0-e|0,T=l&s,T>>>0<=P>>>0||(e=t[2893]|0,e|0?(C=t[2891]|0,U=C+T|0,U>>>0<=C>>>0|U>>>0>e>>>0):0))return ge=0,v=vt,ge|0;e:do if(t[2894]&4)n=0,ae=133;else{r=t[2789]|0;t:do if(r){for(o=11580;e=t[o>>2]|0,!(e>>>0<=r>>>0?(re=o+4|0,(e+(t[re>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[o+8>>2]|0,e)o=e;else{ae=118;break t}if(n=l-d&s,n>>>0<2147483647)if(e=Ef(n|0)|0,(e|0)==((t[o>>2]|0)+(t[re>>2]|0)|0)){if((e|0)!=(-1|0)){d=n,l=e,ae=135;break e}}else o=e,ae=126;else n=0}else ae=118;while(0);do if((ae|0)==118)if(r=Ef(0)|0,(r|0)!=(-1|0)?(n=r,ye=t[2902]|0,se=ye+-1|0,n=((se&n|0)==0?0:(se+n&0-ye)-n|0)+T|0,ye=t[2891]|0,se=n+ye|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(re=t[2893]|0,re|0?se>>>0<=ye>>>0|se>>>0>re>>>0:0){n=0;break}if(e=Ef(n|0)|0,(e|0)==(r|0)){d=n,l=r,ae=135;break e}else o=e,ae=126}else n=0;while(0);do if((ae|0)==126){if(r=0-n|0,!(_>>>0>n>>>0&(n>>>0<2147483647&(o|0)!=(-1|0))))if((o|0)==(-1|0)){n=0;break}else{d=n,l=o,ae=135;break e}if(e=t[2903]|0,e=y-n+e&0-e,e>>>0>=2147483647){d=n,l=o,ae=135;break e}if((Ef(e|0)|0)==(-1|0)){Ef(r|0)|0,n=0;break}else{d=e+n|0,l=o,ae=135;break e}}while(0);t[2894]=t[2894]|4,ae=133}while(0);if((((ae|0)==133?T>>>0<2147483647:0)?(Be=Ef(T|0)|0,re=Ef(0)|0,Ae=re-Be|0,Ce=Ae>>>0>(P+40|0)>>>0,!((Be|0)==(-1|0)|Ce^1|Be>>>0>>0&((Be|0)!=(-1|0)&(re|0)!=(-1|0))^1)):0)&&(d=Ce?Ae:n,l=Be,ae=135),(ae|0)==135){n=(t[2891]|0)+d|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),y=t[2789]|0;do if(y){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,o=t[r>>2]|0,(l|0)==(e+o|0)){ae=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if(((ae|0)==145?(t[n+12>>2]&8|0)==0:0)?y>>>0>>0&y>>>0>=e>>>0:0){t[r>>2]=o+d,ge=y+8|0,ge=(ge&7|0)==0?0:0-ge&7,ae=y+ge|0,ge=(t[2786]|0)+(d-ge)|0,t[2789]=ae,t[2786]=ge,t[ae+4>>2]=ge|1,t[ae+ge+4>>2]=40,t[2790]=t[2905];break}for(l>>>0<(t[2787]|0)>>>0&&(t[2787]=l),r=l+d|0,n=11580;;){if((t[n>>2]|0)==(r|0)){ae=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((ae|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=l,C=n+4|0,t[C>>2]=(t[C>>2]|0)+d,C=l+8|0,C=l+((C&7|0)==0?0:0-C&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,T=C+P|0,_=n-C-P|0,t[C+4>>2]=P|3;do if((n|0)!=(y|0)){if((n|0)==(t[2788]|0)){ge=(t[2785]|0)+_|0,t[2785]=ge,t[2788]=T,t[T+4>>2]=ge|1,t[T+ge>>2]=ge;break}if(e=t[n+4>>2]|0,(e&3|0)==1){d=e&-8,o=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{l=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(o=n+16|0,r=o+4|0,e=t[r>>2]|0,!e)if(e=t[o>>2]|0,e)r=o;else{e=0;break}for(;;){if(o=e+20|0,s=t[o>>2]|0,s|0){e=s,r=o;continue}if(o=e+16|0,s=t[o>>2]|0,s)e=s,r=o;else break}t[r>>2]=0}else ge=t[n+8>>2]|0,t[ge+12>>2]=e,t[e+8>>2]=ge;while(0);if(!l)break;r=t[n+28>>2]|0,o=11436+(r<<2)|0;do if((n|0)!=(t[o>>2]|0)){if(t[l+16+(((t[l+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[o>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=l,r=n+16|0,o=t[r>>2]|0,o|0&&(t[e+16>>2]=o,t[o+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+d|0,s=d+_|0}else s=_;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[T+4>>2]=s|1,t[T+s>>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]=T,t[n+12>>2]=T,t[T+8>>2]=n,t[T+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}ae=(n+1048320|0)>>>16&8,ge=n<>>16&4,ge=ge<>>16&2,n=14-(Be|ae|n)+(ge<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(o=11436+(n<<2)|0,t[T+28>>2]=n,e=T+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=T,t[T+24>>2]=o,t[T+12>>2]=T,t[T+8>>2]=T;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){ae=194;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{ae=193;break}}if((ae|0)==193){t[o>>2]=T,t[T+24>>2]=r,t[T+12>>2]=T,t[T+8>>2]=T;break}else if((ae|0)==194){ae=r+8|0,ge=t[ae>>2]|0,t[ge+12>>2]=T,t[ae>>2]=T,t[T+8>>2]=ge,t[T+12>>2]=r,t[T+24>>2]=0;break}}else ge=(t[2786]|0)+_|0,t[2786]=ge,t[2789]=T,t[T+4>>2]=ge|1;while(0);return ge=C+8|0,v=vt,ge|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=y>>>0?(ge=e+(t[n+4>>2]|0)|0,ge>>>0>y>>>0):0);)n=t[n+8>>2]|0;s=ge+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=y+16|0,e=e>>>0>>0?y:e,n=e+8|0,r=l+8|0,r=(r&7|0)==0?0:0-r&7,ae=l+r|0,r=d+-40-r|0,t[2789]=ae,t[2786]=r,t[ae+4>>2]=r|1,t[ae+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]=l,t[2896]=d,t[2898]=0,t[2897]=n,n=e+24|0;do ae=n,n=n+4|0,t[n>>2]=7;while((ae+8|0)>>>0>>0);if((e|0)!=(y|0)){if(l=e-y|0,t[r>>2]=t[r>>2]&-2,t[y+4>>2]=l|1,t[e>>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]=y,t[n+12>>2]=y,t[y+8>>2]=n,t[y+12>>2]=r;break}if(n=l>>>8,n?l>>>0>16777215?r=31:(ae=(n+1048320|0)>>>16&8,ge=n<>>16&4,ge=ge<>>16&2,r=14-(Be|ae|r)+(ge<>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,o=11436+(r<<2)|0,t[y+28>>2]=r,t[y+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=y,t[y+24>>2]=o,t[y+12>>2]=y,t[y+8>>2]=y;break}for(e=l<<((r|0)==31?0:25-(r>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){ae=216;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{ae=215;break}}if((ae|0)==215){t[o>>2]=y,t[y+24>>2]=r,t[y+12>>2]=y,t[y+8>>2]=y;break}else if((ae|0)==216){ae=r+8|0,ge=t[ae>>2]|0,t[ge+12>>2]=y,t[ae>>2]=y,t[y+8>>2]=ge,t[y+12>>2]=r,t[y+24>>2]=0;break}}}else{ge=t[2787]|0,(ge|0)==0|l>>>0>>0&&(t[2787]=l),t[2895]=l,t[2896]=d,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do ge=11172+(n<<1<<2)|0,t[ge+12>>2]=ge,t[ge+8>>2]=ge,n=n+1|0;while((n|0)!=32);ge=l+8|0,ge=(ge&7|0)==0?0:0-ge&7,ae=l+ge|0,ge=d+-40-ge|0,t[2789]=ae,t[2786]=ge,t[ae+4>>2]=ge|1,t[ae+ge+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return Be=n-P|0,t[2786]=Be,ge=t[2789]|0,ae=ge+P|0,t[2789]=ae,t[ae+4>>2]=Be|1,t[ge+4>>2]=P|3,ge=ge+8|0,v=vt,ge|0}return t[(sa()|0)>>2]=12,ge=0,v=vt,ge|0}function sh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,y=r+n|0;do if(e&1)_=r,d=r;else{if(o=t[r>>2]|0,!(e&3)||(d=r+(0-o)|0,l=o+n|0,d>>>0>>0))return;if((d|0)==(t[2788]|0)){if(e=y+4|0,n=t[e>>2]|0,(n&3|0)!=3){_=d,n=l;break}t[2785]=l,t[e>>2]=n&-2,t[d+4>>2]=l|1,t[d+l>>2]=l;return}if(r=o>>>3,o>>>0<256)if(e=t[d+8>>2]|0,n=t[d+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,_=d,n=l;break}s=t[d+24>>2]|0,e=t[d+12>>2]|0;do if((e|0)==(d|0)){if(r=d+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,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0}else _=t[d+8>>2]|0,t[_+12>>2]=e,t[e+8>>2]=_;while(0);if(s){if(n=t[d+28>>2]|0,r=11436+(n<<2)|0,(d|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(d|0)&1)<<2)>>2]=e,!e){_=d,n=l;break}t[e+24>>2]=s,n=d+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,n=l):(_=d,n=l)}else _=d,n=l}while(0);if(!(d>>>0>=y>>>0)&&(e=y+4|0,o=t[e>>2]|0,!!(o&1))){if(o&2)t[e>>2]=o&-2,t[_+4>>2]=n|1,t[d+n>>2]=n,s=n;else{if(e=t[2788]|0,(y|0)==(t[2789]|0)){if(y=(t[2786]|0)+n|0,t[2786]=y,t[2789]=_,t[_+4>>2]=y|1,(_|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((y|0)==(e|0)){y=(t[2785]|0)+n|0,t[2785]=y,t[2788]=d,t[_+4>>2]=y|1,t[d+y>>2]=y;return}s=(o&-8)+n|0,r=o>>>3;do if(o>>>0<256)if(n=t[y+8>>2]|0,e=t[y+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{l=t[y+24>>2]|0,e=t[y+12>>2]|0;do if((e|0)==(y|0)){if(r=y+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,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0,r=e}else r=t[y+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(l|0){if(e=t[y+28>>2]|0,n=11436+(e<<2)|0,(y|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,e=y+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[_+4>>2]=s|1,t[d+s>>2]=s,(_|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>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]=_,t[e+12>>2]=_,t[_+8>>2]=e,t[_+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(d=(e+1048320|0)>>>16&8,y=e<>>16&4,y=y<>>16&2,e=14-(l|d|e)+(y<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,o=11436+(e<<2)|0,t[_+28>>2]=e,t[_+20>>2]=0,t[_+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(o=r+16+(n>>>31<<2)|0,e=t[o>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[o>>2]=_,t[_+24>>2]=r,t[_+12>>2]=_,t[_+8>>2]=_;break}else if((e|0)==73){d=r+8|0,y=t[d>>2]|0,t[y+12>>2]=_,t[d>>2]=_,t[_+8>>2]=y,t[_+12>>2]=r,t[_+24>>2]=0;break}}else t[2784]=n|r,t[o>>2]=_,t[_+24>>2]=o,t[_+12>>2]=_,t[_+8>>2]=_;while(0);if(y=(t[2791]|0)+-1|0,t[2791]=y,!y)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function uB(){return 11628}function sB(e){e=e|0;var n=0,r=0;return n=v,v=v+16|0,r=n,t[r>>2]=cB(t[e+60>>2]|0)|0,e=lh(xs(6,r|0)|0)|0,v=n,e|0}function L8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0;P=v,v=v+48|0,T=P+16|0,l=P,s=P+32|0,_=e+28|0,o=t[_>>2]|0,t[s>>2]=o,y=e+20|0,o=(t[y>>2]|0)-o|0,t[s+4>>2]=o,t[s+8>>2]=n,t[s+12>>2]=r,o=o+r|0,d=e+60|0,t[l>>2]=t[d>>2],t[l+4>>2]=s,t[l+8>>2]=2,l=lh(q0(146,l|0)|0)|0;e:do if((o|0)!=(l|0)){for(n=2;!((l|0)<0);)if(o=o-l|0,ye=t[s+4>>2]|0,U=l>>>0>ye>>>0,s=U?s+8|0:s,n=(U<<31>>31)+n|0,ye=l-(U?ye:0)|0,t[s>>2]=(t[s>>2]|0)+ye,U=s+4|0,t[U>>2]=(t[U>>2]|0)-ye,t[T>>2]=t[d>>2],t[T+4>>2]=s,t[T+8>>2]=n,l=lh(q0(146,T|0)|0)|0,(o|0)==(l|0)){C=3;break e}t[e+16>>2]=0,t[_>>2]=0,t[y>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else C=3;while(0);return(C|0)==3&&(ye=t[e+44>>2]|0,t[e+16>>2]=ye+(t[e+48>>2]|0),t[_>>2]=ye,t[y>>2]=ye),v=P,r|0}function lB(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return s=v,v=v+32|0,l=s,o=s+20|0,t[l>>2]=t[e+60>>2],t[l+4>>2]=0,t[l+8>>2]=n,t[l+12>>2]=o,t[l+16>>2]=r,(lh(Mu(140,l|0)|0)|0)<0?(t[o>>2]=-1,e=-1):e=t[o>>2]|0,v=s,e|0}function lh(e){return e=e|0,e>>>0>4294963200&&(t[(sa()|0)>>2]=0-e,e=-1),e|0}function sa(){return(fB()|0)+64|0}function fB(){return q4()|0}function q4(){return 2084}function cB(e){return e=e|0,e|0}function aB(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return s=v,v=v+32|0,o=s,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[o>>2]=t[e+60>>2],t[o+4>>2]=21523,t[o+8>>2]=s+16,eu(54,o|0)|0):0)&&(a[e+75>>0]=-1),o=L8(e,n,r)|0,v=s,o|0}function N8(e,n){e=e|0,n=n|0;var r=0,o=0;if(r=a[e>>0]|0,o=a[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=o<<24>>24)e=o;else{do e=e+1|0,n=n+1|0,r=a[e>>0]|0,o=a[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=o<<24>>24));e=o}return(r&255)-(e&255)|0}function dB(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;e:do if(!r)e=0;else{for(;o=a[e>>0]|0,s=a[n>>0]|0,o<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(o&255)-(s&255)|0}while(0);return e|0}function B8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0;re=v,v=v+224|0,C=re+120|0,P=re+80|0,ye=re,se=re+136|0,o=P,s=o+40|0;do t[o>>2]=0,o=o+4|0;while((o|0)<(s|0));return t[C>>2]=t[r>>2],(b4(0,n,C,ye,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?U=pB(e)|0:U=0,r=t[e>>2]|0,T=r&32,(a[e+74>>0]|0)<1&&(t[e>>2]=r&-33),o=e+48|0,t[o>>2]|0?r=b4(e,n,C,ye,P)|0:(s=e+44|0,l=t[s>>2]|0,t[s>>2]=se,d=e+28|0,t[d>>2]=se,_=e+20|0,t[_>>2]=se,t[o>>2]=80,y=e+16|0,t[y>>2]=se+80,r=b4(e,n,C,ye,P)|0,l&&(dh[t[e+36>>2]&7](e,0,0)|0,r=(t[_>>2]|0)==0?-1:r,t[s>>2]=l,t[o>>2]=0,t[y>>2]=0,t[d>>2]=0,t[_>>2]=0)),o=t[e>>2]|0,t[e>>2]=o|T,U|0&&hB(e),r=(o&32|0)==0?r:-1),v=re,r|0}function b4(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0,Be=0,ae=0,ge=0,vt=0,On=0,jt=0,xt=0,an=0,xn=0,Bt=0;Bt=v,v=v+64|0,jt=Bt+16|0,xt=Bt,vt=Bt+24|0,an=Bt+8|0,xn=Bt+20|0,t[jt>>2]=n,Be=(e|0)!=0,ae=vt+40|0,ge=ae,vt=vt+39|0,On=an+4|0,d=0,l=0,C=0;e:for(;;){do if((l|0)>-1)if((d|0)>(2147483647-l|0)){t[(sa()|0)>>2]=75,l=-1;break}else{l=d+l|0;break}while(0);if(d=a[n>>0]|0,d<<24>>24)_=n;else{Ce=87;break}t:for(;;){switch(d<<24>>24){case 37:{d=_,Ce=9;break t}case 0:{d=_;break t}default:}Ae=_+1|0,t[jt>>2]=Ae,d=a[Ae>>0]|0,_=Ae}t:do if((Ce|0)==9)for(;;){if(Ce=0,(a[_+1>>0]|0)!=37)break t;if(d=d+1|0,_=_+2|0,t[jt>>2]=_,(a[_>>0]|0)==37)Ce=9;else break}while(0);if(d=d-n|0,Be&&Q0(e,n,d),d|0){n=_;continue}y=_+1|0,d=(a[y>>0]|0)+-48|0,d>>>0<10?(Ae=(a[_+2>>0]|0)==36,re=Ae?d:-1,C=Ae?1:C,y=Ae?_+3|0:y):re=-1,t[jt>>2]=y,d=a[y>>0]|0,_=(d<<24>>24)+-32|0;t:do if(_>>>0<32)for(T=0,P=d;;){if(d=1<<_,!(d&75913)){d=P;break t}if(T=d|T,y=y+1|0,t[jt>>2]=y,d=a[y>>0]|0,_=(d<<24>>24)+-32|0,_>>>0>=32)break;P=d}else T=0;while(0);if(d<<24>>24==42){if(_=y+1|0,d=(a[_>>0]|0)+-48|0,d>>>0<10?(a[y+2>>0]|0)==36:0)t[s+(d<<2)>>2]=10,d=t[o+((a[_>>0]|0)+-48<<3)>>2]|0,C=1,y=y+3|0;else{if(C|0){l=-1;break}Be?(C=(t[r>>2]|0)+(4-1)&~(4-1),d=t[C>>2]|0,t[r>>2]=C+4,C=0,y=_):(d=0,C=0,y=_)}t[jt>>2]=y,Ae=(d|0)<0,d=Ae?0-d|0:d,T=Ae?T|8192:T}else{if(d=j8(jt)|0,(d|0)<0){l=-1;break}y=t[jt>>2]|0}do if((a[y>>0]|0)==46){if((a[y+1>>0]|0)!=42){t[jt>>2]=y+1,_=j8(jt)|0,y=t[jt>>2]|0;break}if(P=y+2|0,_=(a[P>>0]|0)+-48|0,_>>>0<10?(a[y+3>>0]|0)==36:0){t[s+(_<<2)>>2]=10,_=t[o+((a[P>>0]|0)+-48<<3)>>2]|0,y=y+4|0,t[jt>>2]=y;break}if(C|0){l=-1;break e}Be?(Ae=(t[r>>2]|0)+(4-1)&~(4-1),_=t[Ae>>2]|0,t[r>>2]=Ae+4):_=0,t[jt>>2]=P,y=P}else _=-1;while(0);for(se=0;;){if(((a[y>>0]|0)+-65|0)>>>0>57){l=-1;break e}if(Ae=y+1|0,t[jt>>2]=Ae,P=a[(a[y>>0]|0)+-65+(5178+(se*58|0))>>0]|0,U=P&255,(U+-1|0)>>>0<8)se=U,y=Ae;else break}if(!(P<<24>>24)){l=-1;break}ye=(re|0)>-1;do if(P<<24>>24==19)if(ye){l=-1;break e}else Ce=49;else{if(ye){t[s+(re<<2)>>2]=U,ye=o+(re<<3)|0,re=t[ye+4>>2]|0,Ce=xt,t[Ce>>2]=t[ye>>2],t[Ce+4>>2]=re,Ce=49;break}if(!Be){l=0;break e}U8(xt,U,r)}while(0);if((Ce|0)==49?(Ce=0,!Be):0){d=0,n=Ae;continue}y=a[y>>0]|0,y=(se|0)!=0&(y&15|0)==3?y&-33:y,ye=T&-65537,re=(T&8192|0)==0?T:ye;t:do switch(y|0){case 110:switch((se&255)<<24>>24){case 0:{t[t[xt>>2]>>2]=l,d=0,n=Ae;continue e}case 1:{t[t[xt>>2]>>2]=l,d=0,n=Ae;continue e}case 2:{d=t[xt>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Ae;continue e}case 3:{g[t[xt>>2]>>1]=l,d=0,n=Ae;continue e}case 4:{a[t[xt>>2]>>0]=l,d=0,n=Ae;continue e}case 6:{t[t[xt>>2]>>2]=l,d=0,n=Ae;continue e}case 7:{d=t[xt>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Ae;continue e}default:{d=0,n=Ae;continue e}}case 112:{y=120,_=_>>>0>8?_:8,n=re|8,Ce=61;break}case 88:case 120:{n=re,Ce=61;break}case 111:{y=xt,n=t[y>>2]|0,y=t[y+4>>2]|0,U=mB(n,y,ae)|0,ye=ge-U|0,T=0,P=5642,_=(re&8|0)==0|(_|0)>(ye|0)?_:ye+1|0,ye=re,Ce=67;break}case 105:case 100:if(y=xt,n=t[y>>2]|0,y=t[y+4>>2]|0,(y|0)<0){n=fh(0,0,n|0,y|0)|0,y=Ge,T=xt,t[T>>2]=n,t[T+4>>2]=y,T=1,P=5642,Ce=66;break t}else{T=(re&2049|0)!=0&1,P=(re&2048|0)==0?(re&1|0)==0?5642:5644:5643,Ce=66;break t}case 117:{y=xt,T=0,P=5642,n=t[y>>2]|0,y=t[y+4>>2]|0,Ce=66;break}case 99:{a[vt>>0]=t[xt>>2],n=vt,T=0,P=5642,U=ae,y=1,_=ye;break}case 109:{y=gB(t[(sa()|0)>>2]|0)|0,Ce=71;break}case 115:{y=t[xt>>2]|0,y=y|0?y:5652,Ce=71;break}case 67:{t[an>>2]=t[xt>>2],t[On>>2]=0,t[xt>>2]=an,U=-1,y=an,Ce=75;break}case 83:{n=t[xt>>2]|0,_?(U=_,y=n,Ce=75):(vi(e,32,d,0,re),n=0,Ce=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{d=yB(e,+L[xt>>3],d,_,re,y)|0,n=Ae;continue e}default:T=0,P=5642,U=ae,y=_,_=re}while(0);t:do if((Ce|0)==61)re=xt,se=t[re>>2]|0,re=t[re+4>>2]|0,U=vB(se,re,ae,y&32)|0,P=(n&8|0)==0|(se|0)==0&(re|0)==0,T=P?0:2,P=P?5642:5642+(y>>4)|0,ye=n,n=se,y=re,Ce=67;else if((Ce|0)==66)U=la(n,y,ae)|0,ye=re,Ce=67;else if((Ce|0)==71)Ce=0,re=_B(y,0,_)|0,se=(re|0)==0,n=y,T=0,P=5642,U=se?y+_|0:re,y=se?_:re-y|0,_=ye;else if((Ce|0)==75){for(Ce=0,P=y,n=0,_=0;T=t[P>>2]|0,!(!T||(_=q8(xn,T)|0,(_|0)<0|_>>>0>(U-n|0)>>>0));)if(n=_+n|0,U>>>0>n>>>0)P=P+4|0;else break;if((_|0)<0){l=-1;break e}if(vi(e,32,d,n,re),!n)n=0,Ce=84;else for(T=0;;){if(_=t[y>>2]|0,!_){Ce=84;break t}if(_=q8(xn,_)|0,T=_+T|0,(T|0)>(n|0)){Ce=84;break t}if(Q0(e,xn,_),T>>>0>=n>>>0){Ce=84;break}else y=y+4|0}}while(0);if((Ce|0)==67)Ce=0,y=(n|0)!=0|(y|0)!=0,re=(_|0)!=0|y,y=((y^1)&1)+(ge-U)|0,n=re?U:ae,U=ae,y=re?(_|0)>(y|0)?_:y:_,_=(_|0)>-1?ye&-65537:ye;else if((Ce|0)==84){Ce=0,vi(e,32,d,n,re^8192),d=(d|0)>(n|0)?d:n,n=Ae;continue}se=U-n|0,ye=(y|0)<(se|0)?se:y,re=ye+T|0,d=(d|0)<(re|0)?re:d,vi(e,32,d,re,_),Q0(e,P,T),vi(e,48,d,re,_^65536),vi(e,48,ye,se,0),Q0(e,n,se),vi(e,32,d,re,_^8192),n=Ae}e:do if((Ce|0)==87&&!e)if(!C)l=0;else{for(l=1;n=t[s+(l<<2)>>2]|0,!!n;)if(U8(o+(l<<3)|0,n,r),l=l+1|0,(l|0)>=10){l=1;break e}for(;;){if(t[s+(l<<2)>>2]|0){l=-1;break e}if(l=l+1|0,(l|0)>=10){l=1;break}}}while(0);return v=Bt,l|0}function pB(e){return e=e|0,0}function hB(e){e=e|0}function Q0(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||AB(n,r,e)|0}function j8(e){e=e|0;var n=0,r=0,o=0;if(r=t[e>>2]|0,o=(a[r>>0]|0)+-48|0,o>>>0<10){n=0;do n=o+(n*10|0)|0,r=r+1|0,t[e>>2]=r,o=(a[r>>0]|0)+-48|0;while(o>>>0<10)}else n=0;return n|0}function U8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,t[e>>2]=n;break e}case 10:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=0;break e}case 12:{o=(t[r>>2]|0)+(8-1)&~(8-1),n=o,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=o+8,o=e,t[o>>2]=s,t[o+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&65535)<<16>>16,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&255)<<24>>24,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}default:break e}while(0);while(0)}function vB(e,n,r,o){if(e=e|0,n=n|0,r=r|0,o=o|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,a[r>>0]=x[5694+(e&15)>>0]|0|o,e=ch(e|0,n|0,4)|0,n=Ge;while(!((e|0)==0&(n|0)==0));return r|0}function mB(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,a[r>>0]=e&7|48,e=ch(e|0,n|0,3)|0,n=Ge;while(!((e|0)==0&(n|0)==0));return r|0}function la(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;o=G4(e|0,n|0,10,0)|0,r=r+-1|0,a[r>>0]=o&255|48,o=e,e=H4(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&o>>>0>4294967295;)n=Ge;n=e}else n=e;if(n)for(;r=r+-1|0,a[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function gB(e){return e=e|0,CB(e,t[(SB()|0)+188>>2]|0)|0}function _B(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;l=n&255,o=(r|0)!=0;e:do if(o&(e&3|0)!=0)for(s=n&255;;){if((a[e>>0]|0)==s<<24>>24){d=6;break e}if(e=e+1|0,r=r+-1|0,o=(r|0)!=0,!(o&(e&3|0)!=0)){d=5;break}}else d=5;while(0);(d|0)==5&&(o?d=6:r=0);e:do if((d|0)==6&&(s=n&255,(a[e>>0]|0)!=s<<24>>24)){o=Fn(l,16843009)|0;t:do if(r>>>0>3){for(;l=t[e>>2]^o,!((l&-2139062144^-2139062144)&l+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){d=11;break t}}else d=11;while(0);if((d|0)==11&&!r){r=0;break}for(;;){if((a[e>>0]|0)==s<<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 vi(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0;if(d=v,v=v+256|0,l=d,(r|0)>(o|0)&(s&73728|0)==0){if(s=r-o|0,ca(l|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-o|0;do Q0(e,l,256),s=s+-256|0;while(s>>>0>255);s=n&255}Q0(e,l,s)}v=d}function q8(e,n){return e=e|0,n=n|0,e?e=DB(e,n,0)|0:e=0,e|0}function yB(e,n,r,o,s,l){e=e|0,n=+n,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0,re=0,Ae=0,Ce=0,Be=0,ae=0,ge=0,vt=0,On=0,jt=0,xt=0,an=0,xn=0,Bt=0,hr=0;hr=v,v=v+560|0,y=hr+8|0,Ae=hr,Bt=hr+524|0,xn=Bt,T=hr+512|0,t[Ae>>2]=0,an=T+12|0,b8(n)|0,(Ge|0)<0?(n=-n,jt=1,On=5659):(jt=(s&2049|0)!=0&1,On=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),b8(n)|0,xt=Ge&2146435072;do if(xt>>>0<2146435072|(xt|0)==2146435072&0<0){if(ye=+wB(n,Ae)*2,d=ye!=0,d&&(t[Ae>>2]=(t[Ae>>2]|0)+-1),Be=l|32,(Be|0)==97){se=l&32,U=(se|0)==0?On:On+9|0,P=jt|2,d=12-o|0;do if(o>>>0>11|(d|0)==0)n=ye;else{n=8;do d=d+-1|0,n=n*16;while((d|0)!=0);if((a[U>>0]|0)==45){n=-(n+(-ye-n));break}else{n=ye+n-n;break}}while(0);_=t[Ae>>2]|0,d=(_|0)<0?0-_|0:_,d=la(d,((d|0)<0)<<31>>31,an)|0,(d|0)==(an|0)&&(d=T+11|0,a[d>>0]=48),a[d+-1>>0]=(_>>31&2)+43,C=d+-2|0,a[C>>0]=l+15,T=(o|0)<1,y=(s&8|0)==0,d=Bt;do xt=~~n,_=d+1|0,a[d>>0]=x[5694+xt>>0]|se,n=(n-+(xt|0))*16,((_-xn|0)==1?!(y&(T&n==0)):0)?(a[_>>0]=46,d=d+2|0):d=_;while(n!=0);xt=d-xn|0,xn=an-C|0,an=(o|0)!=0&(xt+-2|0)<(o|0)?o+2|0:xt,d=xn+P+an|0,vi(e,32,r,d,s),Q0(e,U,P),vi(e,48,r,d,s^65536),Q0(e,Bt,xt),vi(e,48,an-xt|0,0,0),Q0(e,C,xn),vi(e,32,r,d,s^8192);break}_=(o|0)<0?6:o,d?(d=(t[Ae>>2]|0)+-28|0,t[Ae>>2]=d,n=ye*268435456):(n=ye,d=t[Ae>>2]|0),xt=(d|0)<0?y:y+288|0,y=xt;do ge=~~n>>>0,t[y>>2]=ge,y=y+4|0,n=(n-+(ge>>>0))*1e9;while(n!=0);if((d|0)>0)for(T=xt,P=y;;){if(C=(d|0)<29?d:29,d=P+-4|0,d>>>0>=T>>>0){y=0;do ae=Y8(t[d>>2]|0,0,C|0)|0,ae=W4(ae|0,Ge|0,y|0,0)|0,ge=Ge,Ce=G4(ae|0,ge|0,1e9,0)|0,t[d>>2]=Ce,y=H4(ae|0,ge|0,1e9,0)|0,d=d+-4|0;while(d>>>0>=T>>>0);y&&(T=T+-4|0,t[T>>2]=y)}for(y=P;!(y>>>0<=T>>>0);)if(d=y+-4|0,!(t[d>>2]|0))y=d;else break;if(d=(t[Ae>>2]|0)-C|0,t[Ae>>2]=d,(d|0)>0)P=y;else break}else T=xt;if((d|0)<0){o=((_+25|0)/9|0)+1|0,re=(Be|0)==102;do{if(se=0-d|0,se=(se|0)<9?se:9,T>>>0>>0){C=(1<>>se,U=0,d=T;do ge=t[d>>2]|0,t[d>>2]=(ge>>>se)+U,U=Fn(ge&C,P)|0,d=d+4|0;while(d>>>0>>0);d=(t[T>>2]|0)==0?T+4|0:T,U?(t[y>>2]=U,T=d,d=y+4|0):(T=d,d=y)}else T=(t[T>>2]|0)==0?T+4|0:T,d=y;y=re?xt:T,y=(d-y>>2|0)>(o|0)?y+(o<<2)|0:d,d=(t[Ae>>2]|0)+se|0,t[Ae>>2]=d}while((d|0)<0);d=T,o=y}else d=T,o=y;if(ge=xt,d>>>0>>0){if(y=(ge-d>>2)*9|0,C=t[d>>2]|0,C>>>0>=10){T=10;do T=T*10|0,y=y+1|0;while(C>>>0>=T>>>0)}}else y=0;if(re=(Be|0)==103,Ce=(_|0)!=0,T=_-((Be|0)!=102?y:0)+((Ce&re)<<31>>31)|0,(T|0)<(((o-ge>>2)*9|0)+-9|0)){if(T=T+9216|0,se=xt+4+(((T|0)/9|0)+-1024<<2)|0,T=((T|0)%9|0)+1|0,(T|0)<9){C=10;do C=C*10|0,T=T+1|0;while((T|0)!=9)}else C=10;if(P=t[se>>2]|0,U=(P>>>0)%(C>>>0)|0,T=(se+4|0)==(o|0),T&(U|0)==0)T=se;else if(ye=(((P>>>0)/(C>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,ae=(C|0)/2|0,n=U>>>0>>0?.5:T&(U|0)==(ae|0)?1:1.5,jt&&(ae=(a[On>>0]|0)==45,n=ae?-n:n,ye=ae?-ye:ye),T=P-U|0,t[se>>2]=T,ye+n!=ye){if(ae=T+C|0,t[se>>2]=ae,ae>>>0>999999999)for(y=se;T=y+-4|0,t[y>>2]=0,T>>>0>>0&&(d=d+-4|0,t[d>>2]=0),ae=(t[T>>2]|0)+1|0,t[T>>2]=ae,ae>>>0>999999999;)y=T;else T=se;if(y=(ge-d>>2)*9|0,P=t[d>>2]|0,P>>>0>=10){C=10;do C=C*10|0,y=y+1|0;while(P>>>0>=C>>>0)}}else T=se;T=T+4|0,T=o>>>0>T>>>0?T:o,ae=d}else T=o,ae=d;for(Be=T;;){if(Be>>>0<=ae>>>0){Ae=0;break}if(d=Be+-4|0,!(t[d>>2]|0))Be=d;else{Ae=1;break}}o=0-y|0;do if(re)if(d=((Ce^1)&1)+_|0,(d|0)>(y|0)&(y|0)>-5?(C=l+-1|0,_=d+-1-y|0):(C=l+-2|0,_=d+-1|0),d=s&8,d)se=d;else{if(Ae?(vt=t[Be+-4>>2]|0,(vt|0)!=0):0)if((vt>>>0)%10|0)T=0;else{T=0,d=10;do d=d*10|0,T=T+1|0;while(!((vt>>>0)%(d>>>0)|0|0))}else T=9;if(d=((Be-ge>>2)*9|0)+-9|0,(C|32|0)==102){se=d-T|0,se=(se|0)>0?se:0,_=(_|0)<(se|0)?_:se,se=0;break}else{se=d+y-T|0,se=(se|0)>0?se:0,_=(_|0)<(se|0)?_:se,se=0;break}}else C=l,se=s&8;while(0);if(re=_|se,P=(re|0)!=0&1,U=(C|32|0)==102,U)Ce=0,d=(y|0)>0?y:0;else{if(d=(y|0)<0?o:y,d=la(d,((d|0)<0)<<31>>31,an)|0,T=an,(T-d|0)<2)do d=d+-1|0,a[d>>0]=48;while((T-d|0)<2);a[d+-1>>0]=(y>>31&2)+43,d=d+-2|0,a[d>>0]=C,Ce=d,d=T-d|0}if(d=jt+1+_+P+d|0,vi(e,32,r,d,s),Q0(e,On,jt),vi(e,48,r,d,s^65536),U){C=ae>>>0>xt>>>0?xt:ae,se=Bt+9|0,P=se,U=Bt+8|0,T=C;do{if(y=la(t[T>>2]|0,0,se)|0,(T|0)==(C|0))(y|0)==(se|0)&&(a[U>>0]=48,y=U);else if(y>>>0>Bt>>>0){ca(Bt|0,48,y-xn|0)|0;do y=y+-1|0;while(y>>>0>Bt>>>0)}Q0(e,y,P-y|0),T=T+4|0}while(T>>>0<=xt>>>0);if(re|0&&Q0(e,5710,1),T>>>0>>0&(_|0)>0)for(;;){if(y=la(t[T>>2]|0,0,se)|0,y>>>0>Bt>>>0){ca(Bt|0,48,y-xn|0)|0;do y=y+-1|0;while(y>>>0>Bt>>>0)}if(Q0(e,y,(_|0)<9?_:9),T=T+4|0,y=_+-9|0,T>>>0>>0&(_|0)>9)_=y;else{_=y;break}}vi(e,48,_+9|0,9,0)}else{if(re=Ae?Be:ae+4|0,(_|0)>-1){Ae=Bt+9|0,se=(se|0)==0,o=Ae,P=0-xn|0,U=Bt+8|0,C=ae;do{y=la(t[C>>2]|0,0,Ae)|0,(y|0)==(Ae|0)&&(a[U>>0]=48,y=U);do if((C|0)==(ae|0)){if(T=y+1|0,Q0(e,y,1),se&(_|0)<1){y=T;break}Q0(e,5710,1),y=T}else{if(y>>>0<=Bt>>>0)break;ca(Bt|0,48,y+P|0)|0;do y=y+-1|0;while(y>>>0>Bt>>>0)}while(0);xn=o-y|0,Q0(e,y,(_|0)>(xn|0)?xn:_),_=_-xn|0,C=C+4|0}while(C>>>0>>0&(_|0)>-1)}vi(e,48,_+18|0,18,0),Q0(e,Ce,an-Ce|0)}vi(e,32,r,d,s^8192)}else Bt=(l&32|0)!=0,d=jt+3|0,vi(e,32,r,d,s&-65537),Q0(e,On,jt),Q0(e,n!=n|!1?Bt?5686:5690:Bt?5678:5682,3),vi(e,32,r,d,s^8192);while(0);return v=hr,((d|0)<(r|0)?r:d)|0}function b8(e){e=+e;var n=0;return L[b>>3]=e,n=t[b>>2]|0,Ge=t[b+4>>2]|0,n|0}function wB(e,n){return e=+e,n=n|0,+ +z8(e,n)}function z8(e,n){e=+e,n=n|0;var r=0,o=0,s=0;switch(L[b>>3]=e,r=t[b>>2]|0,o=t[b+4>>2]|0,s=ch(r|0,o|0,52)|0,s&2047){case 0:{e!=0?(e=+z8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[b>>2]=r,t[b+4>>2]=o&-2146435073|1071644672,e=+L[b>>3]}return+e}function DB(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){a[e>>0]=n,e=1;break}if(!(t[t[(EB()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){a[e>>0]=n,e=1;break}else{t[(sa()|0)>>2]=84,e=-1;break}if(n>>>0<2048){a[e>>0]=n>>>6|192,a[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){a[e>>0]=n>>>12|224,a[e+1>>0]=n>>>6&63|128,a[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){a[e>>0]=n>>>18|240,a[e+1>>0]=n>>>12&63|128,a[e+2>>0]=n>>>6&63|128,a[e+3>>0]=n&63|128,e=4;break}else{t[(sa()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function EB(){return q4()|0}function SB(){return q4()|0}function CB(e,n){e=e|0,n=n|0;var r=0,o=0;for(o=0;;){if((x[5712+o>>0]|0)==(e|0)){e=2;break}if(r=o+1|0,(r|0)==87){r=5800,o=87,e=5;break}else o=r}if((e|0)==2&&(o?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((a[e>>0]|0)!=0);if(o=o+-1|0,o)e=5;else break}return TB(r,t[n+20>>2]|0)|0}function TB(e,n){return e=e|0,n=n|0,xB(e,n)|0}function xB(e,n){return e=e|0,n=n|0,n?n=kB(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function kB(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0;U=(t[e>>2]|0)+1794895138|0,l=lc(t[e+8>>2]|0,U)|0,o=lc(t[e+12>>2]|0,U)|0,s=lc(t[e+16>>2]|0,U)|0;e:do if((l>>>0>>2>>>0?(P=n-(l<<2)|0,o>>>0

>>0&s>>>0

>>0):0)?((s|o)&3|0)==0:0){for(P=o>>>2,C=s>>>2,T=0;;){if(_=l>>>1,y=T+_|0,d=y<<1,s=d+P|0,o=lc(t[e+(s<<2)>>2]|0,U)|0,s=lc(t[e+(s+1<<2)>>2]|0,U)|0,!(s>>>0>>0&o>>>0<(n-s|0)>>>0)){o=0;break e}if(a[e+(s+o)>>0]|0){o=0;break e}if(o=N8(r,e+s|0)|0,!o)break;if(o=(o|0)<0,(l|0)==1){o=0;break e}else T=o?T:y,l=o?_:l-_|0}o=d+C|0,s=lc(t[e+(o<<2)>>2]|0,U)|0,o=lc(t[e+(o+1<<2)>>2]|0,U)|0,o>>>0>>0&s>>>0<(n-o|0)>>>0?o=(a[e+(o+s)>>0]|0)==0?e+o|0:0:o=0}else o=0;while(0);return o|0}function lc(e,n){e=e|0,n=n|0;var r=0;return r=X8(e|0)|0,((n|0)==0?e:r)|0}function AB(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=r+16|0,s=t[o>>2]|0,s?l=5:OB(r)|0?o=0:(s=t[o>>2]|0,l=5);e:do if((l|0)==5){if(_=r+20|0,d=t[_>>2]|0,o=d,(s-d|0)>>>0>>0){o=dh[t[r+36>>2]&7](r,e,n)|0;break}t:do if((a[r+75>>0]|0)>-1){for(d=n;;){if(!d){l=0,s=e;break t}if(s=d+-1|0,(a[e+s>>0]|0)==10)break;d=s}if(o=dh[t[r+36>>2]&7](r,e,d)|0,o>>>0>>0)break e;l=d,s=e+d|0,n=n-d|0,o=t[_>>2]|0}else l=0,s=e;while(0);cn(o|0,s|0,n|0)|0,t[_>>2]=(t[_>>2]|0)+n,o=l+n|0}while(0);return o|0}function OB(e){e=e|0;var n=0,r=0;return n=e+74|0,r=a[n>>0]|0,a[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 Fr(e,n){e=w(e),n=w(n);var r=0,o=0;r=W8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=W8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[b>>2]|0|0}function fc(e,n){e=w(e),n=w(n);var r=0,o=0;r=H8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=H8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[b>>2]|0|0}function z4(e,n){e=w(e),n=w(n);var r=0,o=0,s=0,l=0,d=0,_=0,y=0,T=0;l=(D[b>>2]=e,t[b>>2]|0),_=(D[b>>2]=n,t[b>>2]|0),r=l>>>23&255,d=_>>>23&255,y=l&-2147483648,s=_<<1;e:do if((s|0)!=0?!((r|0)==255|((IB(n)|0)&2147483647)>>>0>2139095040):0){if(o=l<<1,o>>>0<=s>>>0)return n=w(e*w(0)),w((o|0)==(s|0)?n:e);if(r)o=l&8388607|8388608;else{if(r=l<<9,(r|0)>-1){o=r,r=0;do r=r+-1|0,o=o<<1;while((o|0)>-1)}else r=0;o=l<<1-r}if(d)_=_&8388607|8388608;else{if(l=_<<9,(l|0)>-1){s=0;do s=s+-1|0,l=l<<1;while((l|0)>-1)}else s=0;d=s,_=_<<1-s}s=o-_|0,l=(s|0)>-1;t:do if((r|0)>(d|0)){for(;;){if(l)if(s)o=s;else break;if(o=o<<1,r=r+-1|0,s=o-_|0,l=(s|0)>-1,(r|0)<=(d|0))break t}n=w(e*w(0));break e}while(0);if(l)if(s)o=s;else{n=w(e*w(0));break}if(o>>>0<8388608)do o=o<<1,r=r+-1|0;while(o>>>0<8388608);(r|0)>0?r=o+-8388608|r<<23:r=o>>>(1-r|0),n=(t[b>>2]=r|y,w(D[b>>2]))}else T=3;while(0);return(T|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function IB(e){return e=w(e),D[b>>2]=e,t[b>>2]|0|0}function PB(e,n){return e=e|0,n=n|0,B8(t[582]|0,e,n)|0}function bn(e){e=e|0,dn()}function fa(e){e=e|0}function MB(e,n){return e=e|0,n=n|0,0}function FB(e){return e=e|0,(G8(e+4|0)|0)==-1?(Pl[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function G8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function Df(e){e=e|0,FB(e)|0&&RB(e)}function RB(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(G8(n)|0)!=-1:0)||Pl[t[(t[e>>2]|0)+16>>2]&127](e)}function St(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=uh(n)|0,!(e|0);){if(e=NB()|0,!e){e=0;break}uD[e&0]()}return e|0}function V8(e){return e=e|0,St(e)|0}function He(e){e=e|0,sh(e)}function LB(e){e=e|0,(a[e+11>>0]|0)<0&&He(t[e>>2]|0)}function NB(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function BB(){}function fh(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,o=n-o-(r>>>0>e>>>0|0)>>>0,Ge=o,e-r>>>0|0|0}function W4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,r=e+r>>>0,Ge=n+o+(r>>>0>>0|0)>>>0,r|0|0}function ca(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(l=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)a[e>>0]=n,e=e+1|0;for(o=l&-4|0,s=o-64|0,d=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=d,t[e+4>>2]=d,t[e+8>>2]=d,t[e+12>>2]=d,t[e+16>>2]=d,t[e+20>>2]=d,t[e+24>>2]=d,t[e+28>>2]=d,t[e+32>>2]=d,t[e+36>>2]=d,t[e+40>>2]=d,t[e+44>>2]=d,t[e+48>>2]=d,t[e+52>>2]=d,t[e+56>>2]=d,t[e+60>>2]=d,e=e+64|0;for(;(e|0)<(o|0);)t[e>>2]=d,e=e+4|0}for(;(e|0)<(l|0);)a[e>>0]=n,e=e+1|0;return l-r|0}function Y8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(Ge=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function cn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;if((r|0)>=8192)return ho(e|0,n|0,r|0)|0;if(l=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return l|0;a[e>>0]=a[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,o=r-64|0;(e|0)<=(o|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=s-4|0;(e|0)<(r|0);)a[e>>0]=a[n>>0]|0,a[e+1>>0]=a[n+1>>0]|0,a[e+2>>0]=a[n+2>>0]|0,a[e+3>>0]=a[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)a[e>>0]=a[n>>0]|0,e=e+1|0,n=n+1|0;return l|0}function $8(e){e=e|0;var n=0;return n=a[he+(e&255)>>0]|0,(n|0)<8?n|0:(n=a[he+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=a[he+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(a[he+(e>>>24)>>0]|0)+24|0))}function K8(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,T=0,C=0,P=0,U=0,ye=0,se=0;if(C=e,y=n,T=y,d=r,U=o,_=U,!T)return l=(s|0)!=0,_?l?(t[s>>2]=e|0,t[s+4>>2]=n&0,U=0,s=0,Ge=U,s|0):(U=0,s=0,Ge=U,s|0):(l&&(t[s>>2]=(C>>>0)%(d>>>0),t[s+4>>2]=0),U=0,s=(C>>>0)/(d>>>0)>>>0,Ge=U,s|0);l=(_|0)==0;do if(d){if(!l){if(l=(nr(_|0)|0)-(nr(T|0)|0)|0,l>>>0<=31){P=l+1|0,_=31-l|0,n=l-31>>31,d=P,e=C>>>(P>>>0)&n|T<<_,n=T>>>(P>>>0)&n,l=0,_=C<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,U=0,s=0,Ge=U,s|0):(U=0,s=0,Ge=U,s|0)}if(l=d-1|0,l&d|0){_=(nr(d|0)|0)+33-(nr(T|0)|0)|0,se=64-_|0,P=32-_|0,y=P>>31,ye=_-32|0,n=ye>>31,d=_,e=P-1>>31&T>>>(ye>>>0)|(T<>>(_>>>0))&n,n=n&T>>>(_>>>0),l=C<>>(ye>>>0))&y|C<>31;break}return s|0&&(t[s>>2]=l&C,t[s+4>>2]=0),(d|0)==1?(ye=y|n&0,se=e|0|0,Ge=ye,se|0):(se=$8(d|0)|0,ye=T>>>(se>>>0)|0,se=T<<32-se|C>>>(se>>>0)|0,Ge=ye,se|0)}else{if(l)return s|0&&(t[s>>2]=(T>>>0)%(d>>>0),t[s+4>>2]=0),ye=0,se=(T>>>0)/(d>>>0)>>>0,Ge=ye,se|0;if(!C)return s|0&&(t[s>>2]=0,t[s+4>>2]=(T>>>0)%(_>>>0)),ye=0,se=(T>>>0)/(_>>>0)>>>0,Ge=ye,se|0;if(l=_-1|0,!(l&_))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=l&T|n&0),ye=0,se=T>>>(($8(_|0)|0)>>>0),Ge=ye,se|0;if(l=(nr(_|0)|0)-(nr(T|0)|0)|0,l>>>0<=30){n=l+1|0,_=31-l|0,d=n,e=T<<_|C>>>(n>>>0),n=T>>>(n>>>0),l=0,_=C<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,ye=0,se=0,Ge=ye,se|0):(ye=0,se=0,Ge=ye,se|0)}while(0);if(!d)T=_,y=0,_=0;else{P=r|0|0,C=U|o&0,T=W4(P|0,C|0,-1,-1)|0,r=Ge,y=_,_=0;do o=y,y=l>>>31|y<<1,l=_|l<<1,o=e<<1|o>>>31|0,U=e>>>31|n<<1|0,fh(T|0,r|0,o|0,U|0)|0,se=Ge,ye=se>>31|((se|0)<0?-1:0)<<1,_=ye&1,e=fh(o|0,U|0,ye&P|0,(((se|0)<0?-1:0)>>31|((se|0)<0?-1:0)<<1)&C|0)|0,n=Ge,d=d-1|0;while((d|0)!=0);T=y,y=0}return d=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),ye=(l|0)>>>31|(T|d)<<1|(d<<1|l>>>31)&0|y,se=(l<<1|0>>>31)&-2|_,Ge=ye,se|0}function H4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,K8(e,n,r,o,0)|0}function Ef(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[B>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(fr()|0,Ss(12),-1):(t[B>>2]=e,((e|0)>(Hn()|0)?(Pn()|0)==0:0)?(t[B>>2]=n,Ss(12),-1):n|0)}function J1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(o=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,a[e>>0]=a[n>>0]|0;e=o}else cn(e,n,r)|0;return e|0}function G4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;return l=v,v=v+16|0,s=l|0,K8(e,n,r,o,s)|0,v=l,Ge=t[s+4>>2]|0,t[s>>2]|0|0}function X8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function jB(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,J8[e&1](n|0,r|0,o|0,s|0,l|0)}function UB(e,n,r){e=e|0,n=n|0,r=w(r),Q8[e&1](n|0,w(r))}function qB(e,n,r){e=e|0,n=n|0,r=+r,Z8[e&31](n|0,+r)}function bB(e,n,r,o){return e=e|0,n=n|0,r=w(r),o=w(o),w(eD[e&0](n|0,w(r),w(o)))}function zB(e,n){e=e|0,n=n|0,Pl[e&127](n|0)}function WB(e,n,r){e=e|0,n=n|0,r=r|0,Ml[e&31](n|0,r|0)}function HB(e,n){return e=e|0,n=n|0,ac[e&31](n|0)|0}function GB(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,tD[e&1](n|0,+r,+o,s|0)}function VB(e,n,r,o){e=e|0,n=n|0,r=+r,o=+o,xj[e&1](n|0,+r,+o)}function YB(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,dh[e&7](n|0,r|0,o|0)|0}function $B(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,+kj[e&1](n|0,r|0,o|0)}function KB(e,n){return e=e|0,n=n|0,+nD[e&15](n|0)}function XB(e,n,r){return e=e|0,n=n|0,r=+r,Aj[e&1](n|0,+r)|0}function JB(e,n,r){return e=e|0,n=n|0,r=r|0,Y4[e&15](n|0,r|0)|0}function QB(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=+o,s=+s,l=l|0,Oj[e&1](n|0,r|0,+o,+s,l|0)}function ZB(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,Ij[e&1](n|0,r|0,o|0,s|0,l|0,d|0)}function ej(e,n,r){return e=e|0,n=n|0,r=r|0,+rD[e&7](n|0,r|0)}function tj(e){return e=e|0,ph[e&7]()|0}function nj(e,n,r,o,s,l){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,iD[e&1](n|0,r|0,o|0,s|0,l|0)|0}function rj(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=+s,Pj[e&1](n|0,r|0,o|0,+s)}function ij(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,oD[e&1](n|0,r|0,w(o),s|0,w(l),d|0)}function oj(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,e2[e&15](n|0,r|0,o|0)}function uj(e){e=e|0,uD[e&0]()}function sj(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,sD[e&15](n|0,r|0,+o)}function lj(e,n,r){return e=e|0,n=+n,r=+r,Mj[e&1](+n,+r)|0}function fj(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,$4[e&15](n|0,r|0,o|0,s|0)}function cj(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,at(0)}function aj(e,n){e=e|0,n=w(n),at(1)}function Ao(e,n){e=e|0,n=+n,at(2)}function dj(e,n,r){return e=e|0,n=w(n),r=w(r),at(3),Ze}function Jt(e){e=e|0,at(4)}function Q1(e,n){e=e|0,n=n|0,at(5)}function $o(e){return e=e|0,at(6),0}function pj(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,at(7)}function hj(e,n,r){e=e|0,n=+n,r=+r,at(8)}function vj(e,n,r){return e=e|0,n=n|0,r=r|0,at(9),0}function mj(e,n,r){return e=e|0,n=n|0,r=r|0,at(10),0}function cc(e){return e=e|0,at(11),0}function gj(e,n){return e=e|0,n=+n,at(12),0}function Z1(e,n){return e=e|0,n=n|0,at(13),0}function _j(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,at(14)}function yj(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,at(15)}function V4(e,n){return e=e|0,n=n|0,at(16),0}function wj(){return at(17),0}function Dj(e,n,r,o,s){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,at(18),0}function Ej(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,at(19)}function Sj(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,at(20)}function ah(e,n,r){e=e|0,n=n|0,r=r|0,at(21)}function Cj(){at(22)}function aa(e,n,r){e=e|0,n=n|0,r=+r,at(23)}function Tj(e,n){return e=+e,n=+n,at(24),0}function da(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,at(25)}var J8=[cj,wF],Q8=[aj,S0],Z8=[Ao,$f,wl,Dl,cf,wo,af,Va,Bs,ci,Kf,Mc,Xf,oo,bo,El,Fc,Sl,df,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao,Ao],eD=[dj],Pl=[Jt,fa,Gv,Vv,Yu,s_,l_,f_,KP,XP,JP,sF,lF,fF,IN,PN,MN,gn,xc,ff,X0,ai,Mv,Nc,s1,Wd,xl,am,Cm,Vc,$c,yp,_g,Zc,Lg,Wg,n_,S_,N_,Y_,s4,Et,Ek,bk,nA,mA,MA,g0,fO,TO,HO,lI,SI,HI,eP,rP,wP,SP,qP,ZP,nM,yM,BM,m1,_R,KR,cL,TL,$L,fN,wN,SN,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt,Jt],Ml=[Q1,za,Wa,Yf,cu,io,Ha,Ns,Ga,Oc,Ic,Pc,uo,De,je,wt,en,er,fn,Qf,gd,xd,Gk,oA,dI,DR,GM,D8,Q1,Q1,Q1,Q1],ac=[$o,sB,ba,h,H,Q,Ve,Je,ot,Tn,Mr,di,kv,Ya,Ja,LA,kI,EM,TR,Go,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o,$o],tD=[pj,Sd],xj=[hj,WP],dh=[vj,L8,lB,aB,bm,k_,pO,OL],kj=[mj,Op],nD=[cc,pi,Pe,or,Cd,so,js,Qa,Td,Bc,cc,cc,cc,cc,cc,cc],Aj=[gj,JI],Y4=[Z1,MB,md,Wc,hm,eg,fg,o_,U_,wA,Wu,hL,Z1,Z1,Z1,Z1],Oj=[_j,em],Ij=[yj,QL],rD=[V4,Br,Za,kd,e1,Yg,V4,V4],ph=[wj,t1,$0,m0,sP,kP,uM,kN],iD=[Dj,Qn],Pj=[Ej,a4],oD=[Sj,Rc],e2=[ah,S,T0,Un,J0,Am,Dg,sn,xk,ro,WF,ZR,pN,ah,ah,ah],uD=[Cj],sD=[aa,kc,fu,Ac,Gu,Jf,C0,m,V1,OO,YI,aa,aa,aa,aa,aa],Mj=[Tj,YP],$4=[da,Og,WA,$O,NI,pP,FP,pM,zM,PR,jN,da,da,da,da,da];return{_llvm_bswap_i32:X8,dynCall_idd:lj,dynCall_i:tj,_i64Subtract:fh,___udivdi3:H4,dynCall_vif:UB,setThrew:al,dynCall_viii:oj,_bitshift64Lshr:ch,_bitshift64Shl:Y8,dynCall_vi:zB,dynCall_viiddi:QB,dynCall_diii:$B,dynCall_iii:JB,_memset:ca,_sbrk:Ef,_memcpy:cn,__GLOBAL__sub_I_Yoga_cpp:Zr,dynCall_vii:WB,___uremdi3:G4,dynCall_vid:qB,stackAlloc:Li,_nbind_init:KN,getTempRet0:nu,dynCall_di:KB,dynCall_iid:XB,setTempRet0:dl,_i64Add:W4,dynCall_fiff:bB,dynCall_iiii:YB,_emscripten_get_global_libc:uB,dynCall_viid:sj,dynCall_viiid:rj,dynCall_viififi:ij,dynCall_ii:HB,__GLOBAL__sub_I_Binding_cc:cR,dynCall_viiii:fj,dynCall_iiiiii:nj,stackSave:tu,dynCall_viiiii:jB,__GLOBAL__sub_I_nbind_cc:Us,dynCall_vidd:VB,_free:sh,runPostSets:BB,dynCall_viiiiii:ZB,establishStackSpace:x0,_memmove:J1,stackRestore:No,_malloc:uh,__GLOBAL__sub_I_common_cc:IM,dynCall_viddi:GB,dynCall_dii:ej,dynCall_v:uj}}(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(u){u=u||[],ensureInitRuntime();var f=u.length+1;function a(){for(var k=0;k<4-1;k++)g.push(0)}var g=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];a();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function u(){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),u()},1)):u()}Module.run=Module.run=run;function exit(i,u){u&&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 u=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+u;throw abortDecorators&&abortDecorators.forEach(function(a){f=a(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 vc=Z((dne,x5)=>{"use strict";var P$=C5(),M$=T5(),ow=!1,uw=null;M$({},function(i,u){if(!ow){if(ow=!0,i)throw i;uw=u}});if(!ow)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");x5.exports=P$(uw.bind,uw.lib)});var A5=Z((pne,k5)=>{"use strict";k5.exports=({onlyFirst:i=!1}={})=>{let u=["[\\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(u,i?void 0:"g")}});var sw=Z((hne,O5)=>{"use strict";var F$=A5();O5.exports=i=>typeof i=="string"?i.replace(F$(),""):i});var fw=Z((vne,lw)=>{"use strict";var I5=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);lw.exports=I5;lw.exports.default=I5});var M5=Z((mne,P5)=>{"use strict";P5.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 Kh=Z((gne,cw)=>{"use strict";var R$=sw(),L$=fw(),N$=M5(),F5=i=>{if(i=i.replace(N$()," "),typeof i!="string"||i.length===0)return 0;i=R$(i);let u=0;for(let f=0;f=127&&a<=159||a>=768&&a<=879||(a>65535&&f++,u+=L$(a)?2:1)}return u};cw.exports=F5;cw.exports.default=F5});var dw=Z((_ne,aw)=>{"use strict";var B$=Kh(),R5=i=>{let u=0;for(let f of i.split(` +`))u=Math.max(u,B$(f));return u};aw.exports=R5;aw.exports.default=R5});var L5=Z(A2=>{"use strict";var j$=A2&&A2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(A2,"__esModule",{value:!0});var U$=j$(dw()),pw={};A2.default=i=>{if(i.length===0)return{width:0,height:0};if(pw[i])return pw[i];let u=U$.default(i),f=i.split(` +`).length;return pw[i]={width:u,height:f},{width:u,height:f}}});var N5=Z(O2=>{"use strict";var q$=O2&&O2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(O2,"__esModule",{value:!0});var sr=q$(vc()),b$=(i,u)=>{"position"in u&&i.setPositionType(u.position==="absolute"?sr.default.POSITION_TYPE_ABSOLUTE:sr.default.POSITION_TYPE_RELATIVE)},z$=(i,u)=>{"marginLeft"in u&&i.setMargin(sr.default.EDGE_START,u.marginLeft||0),"marginRight"in u&&i.setMargin(sr.default.EDGE_END,u.marginRight||0),"marginTop"in u&&i.setMargin(sr.default.EDGE_TOP,u.marginTop||0),"marginBottom"in u&&i.setMargin(sr.default.EDGE_BOTTOM,u.marginBottom||0)},W$=(i,u)=>{"paddingLeft"in u&&i.setPadding(sr.default.EDGE_LEFT,u.paddingLeft||0),"paddingRight"in u&&i.setPadding(sr.default.EDGE_RIGHT,u.paddingRight||0),"paddingTop"in u&&i.setPadding(sr.default.EDGE_TOP,u.paddingTop||0),"paddingBottom"in u&&i.setPadding(sr.default.EDGE_BOTTOM,u.paddingBottom||0)},H$=(i,u)=>{var f;"flexGrow"in u&&i.setFlexGrow((f=u.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in u&&i.setFlexShrink(typeof u.flexShrink=="number"?u.flexShrink:1),"flexDirection"in u&&(u.flexDirection==="row"&&i.setFlexDirection(sr.default.FLEX_DIRECTION_ROW),u.flexDirection==="row-reverse"&&i.setFlexDirection(sr.default.FLEX_DIRECTION_ROW_REVERSE),u.flexDirection==="column"&&i.setFlexDirection(sr.default.FLEX_DIRECTION_COLUMN),u.flexDirection==="column-reverse"&&i.setFlexDirection(sr.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in u&&(typeof u.flexBasis=="number"?i.setFlexBasis(u.flexBasis):typeof u.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(u.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in u&&((u.alignItems==="stretch"||!u.alignItems)&&i.setAlignItems(sr.default.ALIGN_STRETCH),u.alignItems==="flex-start"&&i.setAlignItems(sr.default.ALIGN_FLEX_START),u.alignItems==="center"&&i.setAlignItems(sr.default.ALIGN_CENTER),u.alignItems==="flex-end"&&i.setAlignItems(sr.default.ALIGN_FLEX_END)),"alignSelf"in u&&((u.alignSelf==="auto"||!u.alignSelf)&&i.setAlignSelf(sr.default.ALIGN_AUTO),u.alignSelf==="flex-start"&&i.setAlignSelf(sr.default.ALIGN_FLEX_START),u.alignSelf==="center"&&i.setAlignSelf(sr.default.ALIGN_CENTER),u.alignSelf==="flex-end"&&i.setAlignSelf(sr.default.ALIGN_FLEX_END)),"justifyContent"in u&&((u.justifyContent==="flex-start"||!u.justifyContent)&&i.setJustifyContent(sr.default.JUSTIFY_FLEX_START),u.justifyContent==="center"&&i.setJustifyContent(sr.default.JUSTIFY_CENTER),u.justifyContent==="flex-end"&&i.setJustifyContent(sr.default.JUSTIFY_FLEX_END),u.justifyContent==="space-between"&&i.setJustifyContent(sr.default.JUSTIFY_SPACE_BETWEEN),u.justifyContent==="space-around"&&i.setJustifyContent(sr.default.JUSTIFY_SPACE_AROUND))},G$=(i,u)=>{var f,a;"width"in u&&(typeof u.width=="number"?i.setWidth(u.width):typeof u.width=="string"?i.setWidthPercent(Number.parseInt(u.width,10)):i.setWidthAuto()),"height"in u&&(typeof u.height=="number"?i.setHeight(u.height):typeof u.height=="string"?i.setHeightPercent(Number.parseInt(u.height,10)):i.setHeightAuto()),"minWidth"in u&&(typeof u.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(u.minWidth,10)):i.setMinWidth((f=u.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in u&&(typeof u.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(u.minHeight,10)):i.setMinHeight((a=u.minHeight)!==null&&a!==void 0?a:0))},V$=(i,u)=>{"display"in u&&i.setDisplay(u.display==="flex"?sr.default.DISPLAY_FLEX:sr.default.DISPLAY_NONE)},Y$=(i,u)=>{if("borderStyle"in u){let f=typeof u.borderStyle=="string"?1:0;i.setBorder(sr.default.EDGE_TOP,f),i.setBorder(sr.default.EDGE_BOTTOM,f),i.setBorder(sr.default.EDGE_LEFT,f),i.setBorder(sr.default.EDGE_RIGHT,f)}};O2.default=(i,u={})=>{b$(i,u),z$(i,u),W$(i,u),H$(i,u),G$(i,u),V$(i,u),Y$(i,u)}});var j5=Z((Dne,B5)=>{"use strict";B5.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 hw=Z((Ene,U5)=>{var I2=j5(),q5={};for(let i of Object.keys(I2))q5[I2[i]]=i;var Vt={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"]}};U5.exports=Vt;for(let i of Object.keys(Vt)){if(!("channels"in Vt[i]))throw new Error("missing channels property: "+i);if(!("labels"in Vt[i]))throw new Error("missing channel labels property: "+i);if(Vt[i].labels.length!==Vt[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:u,labels:f}=Vt[i];delete Vt[i].channels,delete Vt[i].labels,Object.defineProperty(Vt[i],"channels",{value:u}),Object.defineProperty(Vt[i],"labels",{value:f})}Vt.rgb.hsl=function(i){let u=i[0]/255,f=i[1]/255,a=i[2]/255,g=Math.min(u,f,a),t=Math.max(u,f,a),x=t-g,A,k;t===g?A=0:u===t?A=(f-a)/x:f===t?A=2+(a-u)/x:a===t&&(A=4+(u-f)/x),A=Math.min(A*60,360),A<0&&(A+=360);let D=(g+t)/2;return t===g?k=0:D<=.5?k=x/(t+g):k=x/(2-t-g),[A,k*100,D*100]};Vt.rgb.hsv=function(i){let u,f,a,g,t,x=i[0]/255,A=i[1]/255,k=i[2]/255,D=Math.max(x,A,k),L=D-Math.min(x,A,k),B=function(b){return(D-b)/6/L+1/2};return L===0?(g=0,t=0):(t=L/D,u=B(x),f=B(A),a=B(k),x===D?g=a-f:A===D?g=1/3+u-a:k===D&&(g=2/3+f-u),g<0?g+=1:g>1&&(g-=1)),[g*360,t*100,D*100]};Vt.rgb.hwb=function(i){let u=i[0],f=i[1],a=i[2],g=Vt.rgb.hsl(i)[0],t=1/255*Math.min(u,Math.min(f,a));return a=1-1/255*Math.max(u,Math.max(f,a)),[g,t*100,a*100]};Vt.rgb.cmyk=function(i){let u=i[0]/255,f=i[1]/255,a=i[2]/255,g=Math.min(1-u,1-f,1-a),t=(1-u-g)/(1-g)||0,x=(1-f-g)/(1-g)||0,A=(1-a-g)/(1-g)||0;return[t*100,x*100,A*100,g*100]};function $$(i,u){return(i[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2}Vt.rgb.keyword=function(i){let u=q5[i];if(u)return u;let f=Infinity,a;for(let g of Object.keys(I2)){let t=I2[g],x=$$(i,t);x.04045?((u+.055)/1.055)**2.4:u/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let g=u*.4124+f*.3576+a*.1805,t=u*.2126+f*.7152+a*.0722,x=u*.0193+f*.1192+a*.9505;return[g*100,t*100,x*100]};Vt.rgb.lab=function(i){let u=Vt.rgb.xyz(i),f=u[0],a=u[1],g=u[2];f/=95.047,a/=100,g/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,g=g>.008856?g**(1/3):7.787*g+16/116;let t=116*a-16,x=500*(f-a),A=200*(a-g);return[t,x,A]};Vt.hsl.rgb=function(i){let u=i[0]/360,f=i[1]/100,a=i[2]/100,g,t,x;if(f===0)return x=a*255,[x,x,x];a<.5?g=a*(1+f):g=a+f-a*f;let A=2*a-g,k=[0,0,0];for(let D=0;D<3;D++)t=u+1/3*-(D-1),t<0&&t++,t>1&&t--,6*t<1?x=A+(g-A)*6*t:2*t<1?x=g:3*t<2?x=A+(g-A)*(2/3-t)*6:x=A,k[D]=x*255;return k};Vt.hsl.hsv=function(i){let u=i[0],f=i[1]/100,a=i[2]/100,g=f,t=Math.max(a,.01);a*=2,f*=a<=1?a:2-a,g*=t<=1?t:2-t;let x=(a+f)/2,A=a===0?2*g/(t+g):2*f/(a+f);return[u,A*100,x*100]};Vt.hsv.rgb=function(i){let u=i[0]/60,f=i[1]/100,a=i[2]/100,g=Math.floor(u)%6,t=u-Math.floor(u),x=255*a*(1-f),A=255*a*(1-f*t),k=255*a*(1-f*(1-t));switch(a*=255,g){case 0:return[a,k,x];case 1:return[A,a,x];case 2:return[x,a,k];case 3:return[x,A,a];case 4:return[k,x,a];case 5:return[a,x,A]}};Vt.hsv.hsl=function(i){let u=i[0],f=i[1]/100,a=i[2]/100,g=Math.max(a,.01),t,x;x=(2-f)*a;let A=(2-f)*g;return t=f*g,t/=A<=1?A:2-A,t=t||0,x/=2,[u,t*100,x*100]};Vt.hwb.rgb=function(i){let u=i[0]/360,f=i[1]/100,a=i[2]/100,g=f+a,t;g>1&&(f/=g,a/=g);let x=Math.floor(6*u),A=1-a;t=6*u-x,(x&1)!=0&&(t=1-t);let k=f+t*(A-f),D,L,B;switch(x){default:case 6:case 0:D=A,L=k,B=f;break;case 1:D=k,L=A,B=f;break;case 2:D=f,L=A,B=k;break;case 3:D=f,L=k,B=A;break;case 4:D=k,L=f,B=A;break;case 5:D=A,L=f,B=k;break}return[D*255,L*255,B*255]};Vt.cmyk.rgb=function(i){let u=i[0]/100,f=i[1]/100,a=i[2]/100,g=i[3]/100,t=1-Math.min(1,u*(1-g)+g),x=1-Math.min(1,f*(1-g)+g),A=1-Math.min(1,a*(1-g)+g);return[t*255,x*255,A*255]};Vt.xyz.rgb=function(i){let u=i[0]/100,f=i[1]/100,a=i[2]/100,g,t,x;return g=u*3.2406+f*-1.5372+a*-.4986,t=u*-.9689+f*1.8758+a*.0415,x=u*.0557+f*-.204+a*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,x=x>.0031308?1.055*x**(1/2.4)-.055:x*12.92,g=Math.min(Math.max(0,g),1),t=Math.min(Math.max(0,t),1),x=Math.min(Math.max(0,x),1),[g*255,t*255,x*255]};Vt.xyz.lab=function(i){let u=i[0],f=i[1],a=i[2];u/=95.047,f/=100,a/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let g=116*f-16,t=500*(u-f),x=200*(f-a);return[g,t,x]};Vt.lab.xyz=function(i){let u=i[0],f=i[1],a=i[2],g,t,x;t=(u+16)/116,g=f/500+t,x=t-a/200;let A=t**3,k=g**3,D=x**3;return t=A>.008856?A:(t-16/116)/7.787,g=k>.008856?k:(g-16/116)/7.787,x=D>.008856?D:(x-16/116)/7.787,g*=95.047,t*=100,x*=108.883,[g,t,x]};Vt.lab.lch=function(i){let u=i[0],f=i[1],a=i[2],g;g=Math.atan2(a,f)*360/2/Math.PI,g<0&&(g+=360);let x=Math.sqrt(f*f+a*a);return[u,x,g]};Vt.lch.lab=function(i){let u=i[0],f=i[1],g=i[2]/360*2*Math.PI,t=f*Math.cos(g),x=f*Math.sin(g);return[u,t,x]};Vt.rgb.ansi16=function(i,u=null){let[f,a,g]=i,t=u===null?Vt.rgb.hsv(i)[2]:u;if(t=Math.round(t/50),t===0)return 30;let x=30+(Math.round(g/255)<<2|Math.round(a/255)<<1|Math.round(f/255));return t===2&&(x+=60),x};Vt.hsv.ansi16=function(i){return Vt.rgb.ansi16(Vt.hsv.rgb(i),i[2])};Vt.rgb.ansi256=function(i){let u=i[0],f=i[1],a=i[2];return u===f&&f===a?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(f/255*5)+Math.round(a/255*5)};Vt.ansi16.rgb=function(i){let u=i%10;if(u===0||u===7)return i>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let f=(~~(i>50)+1)*.5,a=(u&1)*f*255,g=(u>>1&1)*f*255,t=(u>>2&1)*f*255;return[a,g,t]};Vt.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let u,f=Math.floor(i/36)/5*255,a=Math.floor((u=i%36)/6)/5*255,g=u%6/5*255;return[f,a,g]};Vt.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};Vt.hex.rgb=function(i){let u=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let f=u[0];u[0].length===3&&(f=f.split("").map(A=>A+A).join(""));let a=parseInt(f,16),g=a>>16&255,t=a>>8&255,x=a&255;return[g,t,x]};Vt.rgb.hcg=function(i){let u=i[0]/255,f=i[1]/255,a=i[2]/255,g=Math.max(Math.max(u,f),a),t=Math.min(Math.min(u,f),a),x=g-t,A,k;return x<1?A=t/(1-x):A=0,x<=0?k=0:g===u?k=(f-a)/x%6:g===f?k=2+(a-u)/x:k=4+(u-f)/x,k/=6,k%=1,[k*360,x*100,A*100]};Vt.hsl.hcg=function(i){let u=i[1]/100,f=i[2]/100,a=f<.5?2*u*f:2*u*(1-f),g=0;return a<1&&(g=(f-.5*a)/(1-a)),[i[0],a*100,g*100]};Vt.hsv.hcg=function(i){let u=i[1]/100,f=i[2]/100,a=u*f,g=0;return a<1&&(g=(f-a)/(1-a)),[i[0],a*100,g*100]};Vt.hcg.rgb=function(i){let u=i[0]/360,f=i[1]/100,a=i[2]/100;if(f===0)return[a*255,a*255,a*255];let g=[0,0,0],t=u%1*6,x=t%1,A=1-x,k=0;switch(Math.floor(t)){case 0:g[0]=1,g[1]=x,g[2]=0;break;case 1:g[0]=A,g[1]=1,g[2]=0;break;case 2:g[0]=0,g[1]=1,g[2]=x;break;case 3:g[0]=0,g[1]=A,g[2]=1;break;case 4:g[0]=x,g[1]=0,g[2]=1;break;default:g[0]=1,g[1]=0,g[2]=A}return k=(1-f)*a,[(f*g[0]+k)*255,(f*g[1]+k)*255,(f*g[2]+k)*255]};Vt.hcg.hsv=function(i){let u=i[1]/100,f=i[2]/100,a=u+f*(1-u),g=0;return a>0&&(g=u/a),[i[0],g*100,a*100]};Vt.hcg.hsl=function(i){let u=i[1]/100,a=i[2]/100*(1-u)+.5*u,g=0;return a>0&&a<.5?g=u/(2*a):a>=.5&&a<1&&(g=u/(2*(1-a))),[i[0],g*100,a*100]};Vt.hcg.hwb=function(i){let u=i[1]/100,f=i[2]/100,a=u+f*(1-u);return[i[0],(a-u)*100,(1-a)*100]};Vt.hwb.hcg=function(i){let u=i[1]/100,f=i[2]/100,a=1-f,g=a-u,t=0;return g<1&&(t=(a-g)/(1-g)),[i[0],g*100,t*100]};Vt.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};Vt.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};Vt.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};Vt.gray.hsl=function(i){return[0,0,i[0]]};Vt.gray.hsv=Vt.gray.hsl;Vt.gray.hwb=function(i){return[0,100,i[0]]};Vt.gray.cmyk=function(i){return[0,0,0,i[0]]};Vt.gray.lab=function(i){return[i[0],0,0]};Vt.gray.hex=function(i){let u=Math.round(i[0]/100*255)&255,a=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(a.length)+a};Vt.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var z5=Z((Sne,b5)=>{var Xh=hw();function K$(){let i={},u=Object.keys(Xh);for(let f=u.length,a=0;a{var vw=hw(),Z$=z5(),Ra={},eK=Object.keys(vw);function tK(i){let u=function(...f){let a=f[0];return a==null?a:(a.length>1&&(f=a),i(f))};return"conversion"in i&&(u.conversion=i.conversion),u}function nK(i){let u=function(...f){let a=f[0];if(a==null)return a;a.length>1&&(f=a);let g=i(f);if(typeof g=="object")for(let t=g.length,x=0;x{Ra[i]={},Object.defineProperty(Ra[i],"channels",{value:vw[i].channels}),Object.defineProperty(Ra[i],"labels",{value:vw[i].labels});let u=Z$(i);Object.keys(u).forEach(a=>{let g=u[a];Ra[i][a]=nK(g),Ra[i][a].raw=tK(g)})});W5.exports=Ra});var Qh=Z((Tne,G5)=>{"use strict";var V5=(i,u)=>(...f)=>`[${i(...f)+u}m`,Y5=(i,u)=>(...f)=>{let a=i(...f);return`[${38+u};5;${a}m`},$5=(i,u)=>(...f)=>{let a=i(...f);return`[${38+u};2;${a[0]};${a[1]};${a[2]}m`},Jh=i=>i,K5=(i,u,f)=>[i,u,f],La=(i,u,f)=>{Object.defineProperty(i,u,{get:()=>{let a=f();return Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0}),a},enumerable:!0,configurable:!0})},mw,Na=(i,u,f,a)=>{mw===void 0&&(mw=H5());let g=a?10:0,t={};for(let[x,A]of Object.entries(mw)){let k=x==="ansi16"?"ansi":x;x===u?t[k]=i(f,g):typeof A=="object"&&(t[k]=i(A[u],g))}return t};function rK(){let i=new Map,u={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]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[f,a]of Object.entries(u)){for(let[g,t]of Object.entries(a))u[g]={open:`[${t[0]}m`,close:`[${t[1]}m`},a[g]=u[g],i.set(t[0],t[1]);Object.defineProperty(u,f,{value:a,enumerable:!1})}return Object.defineProperty(u,"codes",{value:i,enumerable:!1}),u.color.close="",u.bgColor.close="",La(u.color,"ansi",()=>Na(V5,"ansi16",Jh,!1)),La(u.color,"ansi256",()=>Na(Y5,"ansi256",Jh,!1)),La(u.color,"ansi16m",()=>Na($5,"rgb",K5,!1)),La(u.bgColor,"ansi",()=>Na(V5,"ansi16",Jh,!0)),La(u.bgColor,"ansi256",()=>Na(Y5,"ansi256",Jh,!0)),La(u.bgColor,"ansi16m",()=>Na($5,"rgb",K5,!0)),u}Object.defineProperty(G5,"exports",{enumerable:!0,get:rK})});var Q5=Z((xne,X5)=>{"use strict";var P2=Kh(),iK=sw(),oK=Qh(),gw=new Set(["","\x9B"]),uK=39,J5=i=>`${gw.values().next().value}[${i}m`,sK=i=>i.split(" ").map(u=>P2(u)),_w=(i,u,f)=>{let a=[...u],g=!1,t=P2(iK(i[i.length-1]));for(let[x,A]of a.entries()){let k=P2(A);if(t+k<=f?i[i.length-1]+=A:(i.push(A),t=0),gw.has(A))g=!0;else if(g&&A==="m"){g=!1;continue}g||(t+=k,t===f&&x0&&i.length>1&&(i[i.length-2]+=i.pop())},lK=i=>{let u=i.split(" "),f=u.length;for(;f>0&&!(P2(u[f-1])>0);)f--;return f===u.length?i:u.slice(0,f).join(" ")+u.slice(f).join("")},fK=(i,u,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let a="",g="",t,x=sK(i),A=[""];for(let[k,D]of i.split(" ").entries()){f.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let L=P2(A[A.length-1]);if(k!==0&&(L>=u&&(f.wordWrap===!1||f.trim===!1)&&(A.push(""),L=0),(L>0||f.trim===!1)&&(A[A.length-1]+=" ",L++)),f.hard&&x[k]>u){let B=u-L,b=1+Math.floor((x[k]-B-1)/u);Math.floor((x[k]-1)/u)u&&L>0&&x[k]>0){if(f.wordWrap===!1&&Lu&&f.wordWrap===!1){_w(A,D,u);continue}A[A.length-1]+=D}f.trim!==!1&&(A=A.map(lK)),a=A.join(` +`);for(let[k,D]of[...a].entries()){if(g+=D,gw.has(D)){let B=parseFloat(/\d[^m]*/.exec(a.slice(k,k+4)));t=B===uK?null:B}let L=oK.codes.get(Number(t));t&&L&&(a[k+1]===` +`?g+=J5(L):D===` +`&&(g+=J5(t)))}return g};X5.exports=(i,u,f)=>String(i).normalize().replace(/\r\n/g,` +`).split(` +`).map(a=>fK(a,u,f)).join(` +`)});var t9=Z((kne,Z5)=>{"use strict";var e9="[\uD800-\uDBFF][\uDC00-\uDFFF]",cK=i=>i&&i.exact?new RegExp(`^${e9}$`):new RegExp(e9,"g");Z5.exports=cK});var yw=Z((Ane,n9)=>{"use strict";var aK=fw(),dK=t9(),r9=Qh(),i9=["","\x9B"],Zh=i=>`${i9[0]}[${i}m`,o9=(i,u,f)=>{let a=[];i=[...i];for(let g of i){let t=g;g.match(";")&&(g=g.split(";")[0][0]+"0");let x=r9.codes.get(parseInt(g,10));if(x){let A=i.indexOf(x.toString());A>=0?i.splice(A,1):a.push(Zh(u?x:t))}else if(u){a.push(Zh(0));break}else a.push(Zh(t))}if(u&&(a=a.filter((g,t)=>a.indexOf(g)===t),f!==void 0)){let g=Zh(r9.codes.get(parseInt(f,10)));a=a.reduce((t,x)=>x===g?[x,...t]:[...t,x],[])}return a.join("")};n9.exports=(i,u,f)=>{let a=[...i.normalize()],g=[];f=typeof f=="number"?f:a.length;let t=!1,x,A=0,k="";for(let[D,L]of a.entries()){let B=!1;if(i9.includes(L)){let b=/\d[^m]*/.exec(i.slice(D,D+18));x=b&&b.length>0?b[0]:void 0,Au&&A<=f)k+=L;else if(A===u&&!t&&x!==void 0)k=o9(g);else if(A>=f){k+=o9(g,!0,x);break}}return k}});var s9=Z((One,u9)=>{"use strict";var jf=yw(),pK=Kh();function ev(i,u,f){if(i.charAt(u)===" ")return u;for(let a=1;a<=3;a++)if(f){if(i.charAt(u+a)===" ")return u+a}else if(i.charAt(u-a)===" ")return u-a;return u}u9.exports=(i,u,f)=>{f=t0({position:"end",preferTruncationOnSpace:!1},f);let{position:a,space:g,preferTruncationOnSpace:t}=f,x="\u2026",A=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof u!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof u}`);if(u<1)return"";if(u===1)return x;let k=pK(i);if(k<=u)return i;if(a==="start"){if(t){let D=ev(i,k-u+1,!0);return x+jf(i,D,k).trim()}return g===!0&&(x+=" ",A=2),x+jf(i,k-u+A,k)}if(a==="middle"){g===!0&&(x=" "+x+" ",A=3);let D=Math.floor(u/2);if(t){let L=ev(i,D),B=ev(i,k-(u-D)+1,!0);return jf(i,0,L)+x+jf(i,B,k).trim()}return jf(i,0,D)+x+jf(i,k-(u-D)+A,k)}if(a==="end"){if(t){let D=ev(i,u-1);return jf(i,0,D)+x}return g===!0&&(x=" "+x,A=2),jf(i,0,u-A)+x}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${a}`)}});var Dw=Z(M2=>{"use strict";var l9=M2&&M2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(M2,"__esModule",{value:!0});var hK=l9(Q5()),vK=l9(s9()),ww={};M2.default=(i,u,f)=>{let a=i+String(u)+String(f);if(ww[a])return ww[a];let g=i;if(f==="wrap"&&(g=hK.default(i,u,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),g=vK.default(i,u,{position:t})}return ww[a]=g,g}});var Sw=Z(Ew=>{"use strict";Object.defineProperty(Ew,"__esModule",{value:!0});var f9=i=>{let u="";if(i.childNodes.length>0)for(let f of i.childNodes){let a="";f.nodeName==="#text"?a=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(a=f9(f)),a.length>0&&typeof f.internal_transform=="function"&&(a=f.internal_transform(a))),u+=a}return u};Ew.default=f9});var Cw=Z(Xr=>{"use strict";var F2=Xr&&Xr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.setTextNodeValue=Xr.createTextNode=Xr.setStyle=Xr.setAttribute=Xr.removeChildNode=Xr.insertBeforeNode=Xr.appendChildNode=Xr.createNode=Xr.TEXT_NAME=void 0;var mK=F2(vc()),c9=F2(L5()),gK=F2(N5()),_K=F2(Dw()),yK=F2(Sw());Xr.TEXT_NAME="#text";Xr.createNode=i=>{var u;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:mK.default.Node.create()};return i==="ink-text"&&((u=f.yogaNode)===null||u===void 0||u.setMeasureFunc(wK.bind(null,f))),f};Xr.appendChildNode=(i,u)=>{var f;u.parentNode&&Xr.removeChildNode(u.parentNode,u),u.parentNode=i,i.childNodes.push(u),u.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&tv(i)};Xr.insertBeforeNode=(i,u,f)=>{var a,g;u.parentNode&&Xr.removeChildNode(u.parentNode,u),u.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,u),u.yogaNode&&((a=i.yogaNode)===null||a===void 0||a.insertChild(u.yogaNode,t));return}i.childNodes.push(u),u.yogaNode&&((g=i.yogaNode)===null||g===void 0||g.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&tv(i)};Xr.removeChildNode=(i,u)=>{var f,a;u.yogaNode&&((a=(f=u.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||a===void 0||a.removeChild(u.yogaNode)),u.parentNode=null;let g=i.childNodes.indexOf(u);g>=0&&i.childNodes.splice(g,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&tv(i)};Xr.setAttribute=(i,u,f)=>{i.attributes[u]=f};Xr.setStyle=(i,u)=>{i.style=u,i.yogaNode&&gK.default(i.yogaNode,u)};Xr.createTextNode=i=>{let u={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return Xr.setTextNodeValue(u,i),u};var wK=function(i,u){var f,a;let g=i.nodeName==="#text"?i.nodeValue:yK.default(i),t=c9.default(g);if(t.width<=u||t.width>=1&&u>0&&u<1)return t;let x=(a=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&a!==void 0?a:"wrap",A=_K.default(g,u,x);return c9.default(A)},a9=i=>{var u;if(!(!i||!i.parentNode))return(u=i.yogaNode)!==null&&u!==void 0?u:a9(i.parentNode)},tv=i=>{let u=a9(i);u==null||u.markDirty()};Xr.setTextNodeValue=(i,u)=>{typeof u!="string"&&(u=String(u)),i.nodeValue=u,tv(i)}});var mc=Z((Fne,d9)=>{"use strict";d9.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 R2=Z((Rne,Tw)=>{"use strict";var{EMPTY_BUFFER:DK}=mc();function p9(i,u){if(i.length===0)return DK;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(u),a=0;for(let g=0;g{"use strict";var _9=Symbol("kDone"),xw=Symbol("kRun"),y9=class{constructor(u){this[_9]=()=>{this.pending--,this[xw]()},this.concurrency=u||Infinity,this.jobs=[],this.pending=0}add(u){this.jobs.push(u),this[xw]()}[xw](){if(this.pending!==this.concurrency&&this.jobs.length){let u=this.jobs.shift();this.pending++,u(this[_9])}}};g9.exports=y9});var B2=Z((Nne,D9)=>{"use strict";var L2=require("zlib"),E9=R2(),EK=w9(),{kStatusCode:S9,NOOP:SK}=mc(),CK=Buffer.from([0,0,255,255]),rv=Symbol("permessage-deflate"),Yl=Symbol("total-length"),N2=Symbol("callback"),Uf=Symbol("buffers"),kw=Symbol("error"),iv,C9=class{constructor(u,f,a){if(this._maxPayload=a|0,this._options=u||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!iv){let g=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;iv=new EK(g)}}static get extensionName(){return"permessage-deflate"}offer(){let u={};return this._options.serverNoContextTakeover&&(u.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(u.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(u.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?u.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(u.client_max_window_bits=!0),u}accept(u){return u=this.normalizeParams(u),this.params=this._isServer?this.acceptAsServer(u):this.acceptAsClient(u),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let u=this._deflate[N2];this._deflate.close(),this._deflate=null,u&&u(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(u){let f=this._options,a=u.find(g=>!(f.serverNoContextTakeover===!1&&g.server_no_context_takeover||g.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>g.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!g.client_max_window_bits));if(!a)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(a.server_no_context_takeover=!0),f.clientNoContextTakeover&&(a.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(a.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?a.client_max_window_bits=f.clientMaxWindowBits:(a.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete a.client_max_window_bits,a}acceptAsClient(u){let f=u[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(u){return u.forEach(f=>{Object.keys(f).forEach(a=>{let g=f[a];if(g.length>1)throw new Error(`Parameter "${a}" must have only a single value`);if(g=g[0],a==="client_max_window_bits"){if(g!==!0){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${a}": ${g}`);g=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${a}": ${g}`)}else if(a==="server_max_window_bits"){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${a}": ${g}`);g=t}else if(a==="client_no_context_takeover"||a==="server_no_context_takeover"){if(g!==!0)throw new TypeError(`Invalid value for parameter "${a}": ${g}`)}else throw new Error(`Unknown parameter "${a}"`);f[a]=g})}),u}decompress(u,f,a){iv.add(g=>{this._decompress(u,f,(t,x)=>{g(),a(t,x)})})}compress(u,f,a){iv.add(g=>{this._compress(u,f,(t,x)=>{g(),a(t,x)})})}_decompress(u,f,a){let g=this._isServer?"client":"server";if(!this._inflate){let t=`${g}_max_window_bits`,x=typeof this.params[t]!="number"?L2.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=L2.createInflateRaw(is(t0({},this._options.zlibInflateOptions),{windowBits:x})),this._inflate[rv]=this,this._inflate[Yl]=0,this._inflate[Uf]=[],this._inflate.on("error",xK),this._inflate.on("data",T9)}this._inflate[N2]=a,this._inflate.write(u),f&&this._inflate.write(CK),this._inflate.flush(()=>{let t=this._inflate[kw];if(t){this._inflate.close(),this._inflate=null,a(t);return}let x=E9.concat(this._inflate[Uf],this._inflate[Yl]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Yl]=0,this._inflate[Uf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._inflate.reset()),a(null,x)})}_compress(u,f,a){let g=this._isServer?"server":"client";if(!this._deflate){let t=`${g}_max_window_bits`,x=typeof this.params[t]!="number"?L2.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=L2.createDeflateRaw(is(t0({},this._options.zlibDeflateOptions),{windowBits:x})),this._deflate[Yl]=0,this._deflate[Uf]=[],this._deflate.on("error",SK),this._deflate.on("data",TK)}this._deflate[N2]=a,this._deflate.write(u),this._deflate.flush(L2.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=E9.concat(this._deflate[Uf],this._deflate[Yl]);f&&(t=t.slice(0,t.length-4)),this._deflate[N2]=null,this._deflate[Yl]=0,this._deflate[Uf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._deflate.reset(),a(null,t)})}};D9.exports=C9;function TK(i){this[Uf].push(i),this[Yl]+=i.length}function T9(i){if(this[Yl]+=i.length,this[rv]._maxPayload<1||this[Yl]<=this[rv]._maxPayload){this[Uf].push(i);return}this[kw]=new RangeError("Max payload size exceeded"),this[kw][S9]=1009,this.removeListener("data",T9),this.reset()}function xK(i){this[rv]._inflate=null,i[S9]=1007,this[N2](i)}});var Ow=Z((Bne,Aw)=>{"use strict";function x9(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function k9(i){let u=i.length,f=0;for(;f=u||(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>=u||(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),Aw.exports={isValidStatusCode:x9,isValidUTF8(u){return u.length<150?k9(u):i(u)}}}catch(i){Aw.exports={isValidStatusCode:x9,isValidUTF8:k9}}});var Mw=Z((jne,A9)=>{"use strict";var{Writable:kK}=require("stream"),O9=B2(),{BINARY_TYPES:AK,EMPTY_BUFFER:OK,kStatusCode:IK,kWebSocket:PK}=mc(),{concat:Iw,toArrayBuffer:MK,unmask:FK}=R2(),{isValidStatusCode:RK,isValidUTF8:I9}=Ow(),j2=0,P9=1,M9=2,F9=3,Pw=4,LK=5,R9=class extends kK{constructor(u,f,a,g){super();this._binaryType=u||AK[0],this[PK]=void 0,this._extensions=f||{},this._isServer=!!a,this._maxPayload=g|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=j2,this._loop=!1}_write(u,f,a){if(this._opcode===8&&this._state==j2)return a();this._bufferedBytes+=u.length,this._buffers.push(u),this.startLoop(a)}consume(u){if(this._bufferedBytes-=u,u===this._buffers[0].length)return this._buffers.shift();if(u=a.length?f.set(this._buffers.shift(),g):(f.set(new Uint8Array(a.buffer,a.byteOffset,u),g),this._buffers[0]=a.slice(u)),u-=a.length}while(u>0);return f}startLoop(u){let f;this._loop=!0;do switch(this._state){case j2:f=this.getInfo();break;case P9:f=this.getPayloadLength16();break;case M9:f=this.getPayloadLength64();break;case F9:this.getMask();break;case Pw:f=this.getData(u);break;default:this._loop=!1;return}while(this._loop);u(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let u=this.consume(2);if((u[0]&48)!=0)return this._loop=!1,Z0(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(u[0]&64)==64;if(f&&!this._extensions[O9.extensionName])return this._loop=!1,Z0(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(u[0]&128)==128,this._opcode=u[0]&15,this._payloadLength=u[1]&127,this._opcode===0){if(f)return this._loop=!1,Z0(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Z0(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,Z0(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,Z0(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,Z0(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Z0(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Z0(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(u[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Z0(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Z0(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=P9;else if(this._payloadLength===127)this._state=M9;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 u=this.consume(8),f=u.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,Z0(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+u.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,Z0(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=F9:this._state=Pw}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Pw}getData(u){let f=OK;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=LK,this.decompress(f,u);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(u,f){this._extensions[O9.extensionName].decompress(u,this._fin,(g,t)=>{if(g)return f(g);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(Z0(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let x=this.dataMessage();if(x)return f(x);this.startLoop(f)})}dataMessage(){if(this._fin){let u=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let a;this._binaryType==="nodebuffer"?a=Iw(f,u):this._binaryType==="arraybuffer"?a=MK(Iw(f,u)):a=f,this.emit("message",a)}else{let a=Iw(f,u);if(!I9(a))return this._loop=!1,Z0(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",a.toString())}}this._state=j2}controlMessage(u){if(this._opcode===8)if(this._loop=!1,u.length===0)this.emit("conclude",1005,""),this.end();else{if(u.length===1)return Z0(RangeError,"invalid payload length 1",!0,1002);{let f=u.readUInt16BE(0);if(!RK(f))return Z0(RangeError,`invalid status code ${f}`,!0,1002);let a=u.slice(2);if(!I9(a))return Z0(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,a.toString()),this.end()}}else this._opcode===9?this.emit("ping",u):this.emit("pong",u);this._state=j2}};A9.exports=R9;function Z0(i,u,f,a){let g=new i(f?`Invalid WebSocket frame: ${u}`:u);return Error.captureStackTrace(g,Z0),g[IK]=a,g}});var Fw=Z((Une,L9)=>{"use strict";var{randomFillSync:NK}=require("crypto"),N9=B2(),{EMPTY_BUFFER:BK}=mc(),{isValidStatusCode:jK}=Ow(),{mask:B9,toBuffer:$l}=R2(),gc=Buffer.alloc(4),Kl=class{constructor(u,f){this._extensions=f||{},this._socket=u,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(u,f){let a=f.mask&&f.readOnly,g=f.mask?6:2,t=u.length;u.length>=65536?(g+=8,t=127):u.length>125&&(g+=2,t=126);let x=Buffer.allocUnsafe(a?u.length+g:g);return x[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(x[0]|=64),x[1]=t,t===126?x.writeUInt16BE(u.length,2):t===127&&(x.writeUInt32BE(0,2),x.writeUInt32BE(u.length,6)),f.mask?(NK(gc,0,4),x[1]|=128,x[g-4]=gc[0],x[g-3]=gc[1],x[g-2]=gc[2],x[g-1]=gc[3],a?(B9(u,gc,x,g,u.length),[x]):(B9(u,gc,u,0,u.length),[x,u])):[x,u]}close(u,f,a,g){let t;if(u===void 0)t=BK;else{if(typeof u!="number"||!jK(u))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(u,0);else{let x=Buffer.byteLength(f);if(x>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+x),t.writeUInt16BE(u,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,a,g]):this.doClose(t,a,g)}doClose(u,f,a){this.sendFrame(Kl.frame(u,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),a)}ping(u,f,a){let g=$l(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,g,f,$l.readOnly,a]):this.doPing(g,f,$l.readOnly,a)}doPing(u,f,a,g){this.sendFrame(Kl.frame(u,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:a}),g)}pong(u,f,a){let g=$l(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,g,f,$l.readOnly,a]):this.doPong(g,f,$l.readOnly,a)}doPong(u,f,a,g){this.sendFrame(Kl.frame(u,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:a}),g)}send(u,f,a){let g=$l(u),t=this._extensions[N9.extensionName],x=f.binary?2:1,A=f.compress;if(this._firstFragment?(this._firstFragment=!1,A&&t&&(A=g.length>=t._threshold),this._compress=A):(A=!1,x=0),f.fin&&(this._firstFragment=!0),t){let k={fin:f.fin,rsv1:A,opcode:x,mask:f.mask,readOnly:$l.readOnly};this._deflating?this.enqueue([this.dispatch,g,this._compress,k,a]):this.dispatch(g,this._compress,k,a)}else this.sendFrame(Kl.frame(g,{fin:f.fin,rsv1:!1,opcode:x,mask:f.mask,readOnly:$l.readOnly}),a)}dispatch(u,f,a,g){if(!f){this.sendFrame(Kl.frame(u,a),g);return}let t=this._extensions[N9.extensionName];this._bufferedBytes+=u.length,this._deflating=!0,t.compress(u,a.fin,(x,A)=>{if(this._socket.destroyed){let k=new Error("The socket was closed while data was being compressed");typeof g=="function"&&g(k);for(let D=0;D{"use strict";var U2=class{constructor(u,f){this.target=f,this.type=u}},U9=class extends U2{constructor(u,f){super("message",f);this.data=u}},q9=class extends U2{constructor(u,f,a){super("close",a);this.wasClean=a._closeFrameReceived&&a._closeFrameSent,this.reason=f,this.code=u}},b9=class extends U2{constructor(u){super("open",u)}},z9=class extends U2{constructor(u,f){super("error",f);this.message=u.message,this.error=u}},UK={addEventListener(i,u,f){if(typeof u!="function")return;function a(k){u.call(this,new U9(k,this))}function g(k,D){u.call(this,new q9(k,D,this))}function t(k){u.call(this,new z9(k,this))}function x(){u.call(this,new b9(this))}let A=f&&f.once?"once":"on";i==="message"?(a._listener=u,this[A](i,a)):i==="close"?(g._listener=u,this[A](i,g)):i==="error"?(t._listener=u,this[A](i,t)):i==="open"?(x._listener=u,this[A](i,x)):this[A](i,u)},removeEventListener(i,u){let f=this.listeners(i);for(let a=0;a{"use strict";var q2=[0,0,0,0,0,0,0,0,0,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 Js(i,u,f){i[u]===void 0?i[u]=[f]:i[u].push(f)}function qK(i){let u=Object.create(null);if(i===void 0||i==="")return u;let f=Object.create(null),a=!1,g=!1,t=!1,x,A,k=-1,D=-1,L=0;for(;L{let f=i[u];return Array.isArray(f)||(f=[f]),f.map(a=>[u].concat(Object.keys(a).map(g=>{let t=a[g];return Array.isArray(t)||(t=[t]),t.map(x=>x===!0?g:`${g}=${x}`).join("; ")})).join("; ")).join(", ")}).join(", ")}H9.exports={format:bK,parse:qK}});var Uw=Z((zne,G9)=>{"use strict";var zK=require("events"),WK=require("https"),HK=require("http"),V9=require("net"),GK=require("tls"),{randomBytes:VK,createHash:YK}=require("crypto"),{URL:Lw}=require("url"),qf=B2(),$K=Mw(),KK=Fw(),{BINARY_TYPES:Y9,EMPTY_BUFFER:Nw,GUID:XK,kStatusCode:JK,kWebSocket:Io,NOOP:$9}=mc(),{addEventListener:QK,removeEventListener:ZK}=W9(),{format:eX,parse:tX}=Rw(),{toBuffer:nX}=R2(),K9=["CONNECTING","OPEN","CLOSING","CLOSED"],Bw=[8,13],rX=30*1e3,lr=class extends zK{constructor(u,f,a){super();this._binaryType=Y9[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=lr.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,u!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(a=f,f=void 0),X9(this,u,f,a)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(u){!Y9.includes(u)||(this._binaryType=u,this._receiver&&(this._receiver._binaryType=u))}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(u,f,a){let g=new $K(this.binaryType,this._extensions,this._isServer,a);this._sender=new KK(u,this._extensions),this._receiver=g,this._socket=u,g[Io]=this,u[Io]=this,g.on("conclude",iX),g.on("drain",oX),g.on("error",uX),g.on("message",sX),g.on("ping",lX),g.on("pong",fX),u.setTimeout(0),u.setNoDelay(),f.length>0&&u.unshift(f),u.on("close",J9),u.on("data",ov),u.on("end",Q9),u.on("error",Z9),this._readyState=lr.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=lr.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[qf.extensionName]&&this._extensions[qf.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=lr.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(u,f){if(this.readyState!==lr.CLOSED){if(this.readyState===lr.CONNECTING){let a="WebSocket was closed before the connection was established";return Xl(this,this._req,a)}if(this.readyState===lr.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=lr.CLOSING,this._sender.close(u,f,!this._isServer,a=>{a||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),rX)}}ping(u,f,a){if(this.readyState===lr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(a=u,u=f=void 0):typeof f=="function"&&(a=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==lr.OPEN){jw(this,u,a);return}f===void 0&&(f=!this._isServer),this._sender.ping(u||Nw,f,a)}pong(u,f,a){if(this.readyState===lr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(a=u,u=f=void 0):typeof f=="function"&&(a=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==lr.OPEN){jw(this,u,a);return}f===void 0&&(f=!this._isServer),this._sender.pong(u||Nw,f,a)}send(u,f,a){if(this.readyState===lr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(a=f,f={}),typeof u=="number"&&(u=u.toString()),this.readyState!==lr.OPEN){jw(this,u,a);return}let g=t0({binary:typeof u!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[qf.extensionName]||(g.compress=!1),this._sender.send(u||Nw,g,a)}terminate(){if(this.readyState!==lr.CLOSED){if(this.readyState===lr.CONNECTING){let u="WebSocket was closed before the connection was established";return Xl(this,this._req,u)}this._socket&&(this._readyState=lr.CLOSING,this._socket.destroy())}}};K9.forEach((i,u)=>{let f={enumerable:!0,value:u};Object.defineProperty(lr.prototype,i,f),Object.defineProperty(lr,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(lr.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(lr.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let u=this.listeners(i);for(let f=0;f{Xl(i,b,"Opening handshake has timed out")}),b.on("error",$=>{b===null||b.aborted||(b=i._req=null,i._readyState=lr.CLOSING,i.emit("error",$),i.emitClose())}),b.on("response",$=>{let v=$.headers.location,ve=$.statusCode;if(v&&g.followRedirects&&ve>=300&&ve<400){if(++i._redirects>g.maxRedirects){Xl(i,b,"Maximum redirects exceeded");return}b.abort();let he=new Lw(v,u);X9(i,he,f,a)}else i.emit("unexpected-response",b,$)||Xl(i,b,`Unexpected server response: ${$.statusCode}`)}),b.on("upgrade",($,v,ve)=>{if(i.emit("upgrade",$),i.readyState!==lr.CONNECTING)return;b=i._req=null;let he=YK("sha1").update(D+XK).digest("base64");if($.headers["sec-websocket-accept"]!==he){Xl(i,v,"Invalid Sec-WebSocket-Accept header");return}let ue=$.headers["sec-websocket-protocol"],Se=(f||"").split(/, */),ze;if(!f&&ue?ze="Server sent a subprotocol but none was requested":f&&!ue?ze="Server sent no subprotocol":ue&&!Se.includes(ue)&&(ze="Server sent an invalid subprotocol"),ze){Xl(i,v,ze);return}if(ue&&(i._protocol=ue),B)try{let Te=tX($.headers["sec-websocket-extensions"]);Te[qf.extensionName]&&(B.accept(Te[qf.extensionName]),i._extensions[qf.extensionName]=B)}catch(Te){Xl(i,v,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(v,ve,g.maxPayload)})}function cX(i){return i.path=i.socketPath,V9.connect(i)}function aX(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=V9.isIP(i.host)?"":i.host),GK.connect(i)}function Xl(i,u,f){i._readyState=lr.CLOSING;let a=new Error(f);Error.captureStackTrace(a,Xl),u.setHeader?(u.abort(),u.socket&&!u.socket.destroyed&&u.socket.destroy(),u.once("abort",i.emitClose.bind(i)),i.emit("error",a)):(u.destroy(a),u.once("error",i.emit.bind(i,"error")),u.once("close",i.emitClose.bind(i)))}function jw(i,u,f){if(u){let a=nX(u).length;i._socket?i._sender._bufferedBytes+=a:i._bufferedAmount+=a}if(f){let a=new Error(`WebSocket is not open: readyState ${i.readyState} (${K9[i.readyState]})`);f(a)}}function iX(i,u){let f=this[Io];f._socket.removeListener("data",ov),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=u,f._closeCode=i,i===1005?f.close():f.close(i,u)}function oX(){this[Io]._socket.resume()}function uX(i){let u=this[Io];u._socket.removeListener("data",ov),u._readyState=lr.CLOSING,u._closeCode=i[JK],u.emit("error",i),u._socket.destroy()}function ex(){this[Io].emitClose()}function sX(i){this[Io].emit("message",i)}function lX(i){let u=this[Io];u.pong(i,!u._isServer,$9),u.emit("ping",i)}function fX(i){this[Io].emit("pong",i)}function J9(){let i=this[Io];this.removeListener("close",J9),this.removeListener("end",Q9),i._readyState=lr.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",ov),this[Io]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",ex),i._receiver.on("finish",ex))}function ov(i){this[Io]._receiver.write(i)||this.pause()}function Q9(){let i=this[Io];i._readyState=lr.CLOSING,i._receiver.end(),this.end()}function Z9(){let i=this[Io];this.removeListener("error",Z9),this.on("error",$9),i&&(i._readyState=lr.CLOSING,this.destroy())}});var ix=Z((Wne,tx)=>{"use strict";var{Duplex:dX}=require("stream");function nx(i){i.emit("close")}function pX(){!this.destroyed&&this._writableState.finished&&this.destroy()}function rx(i){this.removeListener("error",rx),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function hX(i,u){let f=!0;function a(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",a)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",a));let g=new dX(is(t0({},u),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(x){g.push(x)||(f=!1,i._socket.pause())}),i.once("error",function(x){g.destroyed||g.destroy(x)}),i.once("close",function(){g.destroyed||g.push(null)}),g._destroy=function(t,x){if(i.readyState===i.CLOSED){x(t),process.nextTick(nx,g);return}let A=!1;i.once("error",function(D){A=!0,x(D)}),i.once("close",function(){A||x(t),process.nextTick(nx,g)}),i.terminate()},g._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){g._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),g._readableState.endEmitted&&g.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},g._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},g._write=function(t,x,A){if(i.readyState===i.CONNECTING){i.once("open",function(){g._write(t,x,A)});return}i.send(t,A)},g.on("end",pX),g.on("error",rx),g}tx.exports=hX});var sx=Z((Hne,ox)=>{"use strict";var vX=require("events"),{createHash:mX}=require("crypto"),{createServer:gX,STATUS_CODES:qw}=require("http"),_c=B2(),_X=Uw(),{format:yX,parse:wX}=Rw(),{GUID:DX,kWebSocket:EX}=mc(),SX=/^[+/0-9A-Za-z]{22}==$/,ux=class extends vX{constructor(u,f){super();if(u=t0({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},u),u.port==null&&!u.server&&!u.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(u.port!=null?(this._server=gX((a,g)=>{let t=qw[426];g.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),g.end(t)}),this._server.listen(u.port,u.host,u.backlog,f)):u.server&&(this._server=u.server),this._server){let a=this.emit.bind(this,"connection");this._removeListeners=CX(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(g,t,x)=>{this.handleUpgrade(g,t,x,a)}})}u.perMessageDeflate===!0&&(u.perMessageDeflate={}),u.clientTracking&&(this.clients=new Set),this.options=u}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(u){if(u&&this.once("close",u),this.clients)for(let a of this.clients)a.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(TX,this)}shouldHandle(u){if(this.options.path){let f=u.url.indexOf("?");if((f!==-1?u.url.slice(0,f):u.url)!==this.options.path)return!1}return!0}handleUpgrade(u,f,a,g){f.on("error",bw);let t=u.headers["sec-websocket-key"]!==void 0?u.headers["sec-websocket-key"].trim():!1,x=+u.headers["sec-websocket-version"],A={};if(u.method!=="GET"||u.headers.upgrade.toLowerCase()!=="websocket"||!t||!SX.test(t)||x!==8&&x!==13||!this.shouldHandle(u))return uv(f,400);if(this.options.perMessageDeflate){let k=new _c(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let D=wX(u.headers["sec-websocket-extensions"]);D[_c.extensionName]&&(k.accept(D[_c.extensionName]),A[_c.extensionName]=k)}catch(D){return uv(f,400)}}if(this.options.verifyClient){let k={origin:u.headers[`${x===8?"sec-websocket-origin":"origin"}`],secure:!!(u.socket.authorized||u.socket.encrypted),req:u};if(this.options.verifyClient.length===2){this.options.verifyClient(k,(D,L,B,b)=>{if(!D)return uv(f,L||401,B,b);this.completeUpgrade(t,A,u,f,a,g)});return}if(!this.options.verifyClient(k))return uv(f,401)}this.completeUpgrade(t,A,u,f,a,g)}completeUpgrade(u,f,a,g,t,x){if(!g.readable||!g.writable)return g.destroy();if(g[EX])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let A=mX("sha1").update(u+DX).digest("base64"),k=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${A}`],D=new _X(null),L=a.headers["sec-websocket-protocol"];if(L&&(L=L.split(",").map(xX),this.options.handleProtocols?L=this.options.handleProtocols(L,a):L=L[0],L&&(k.push(`Sec-WebSocket-Protocol: ${L}`),D._protocol=L)),f[_c.extensionName]){let B=f[_c.extensionName].params,b=yX({[_c.extensionName]:[B]});k.push(`Sec-WebSocket-Extensions: ${b}`),D._extensions=f}this.emit("headers",k,a),g.write(k.concat(`\r +`).join(`\r +`)),g.removeListener("error",bw),D.setSocket(g,t,this.options.maxPayload),this.clients&&(this.clients.add(D),D.on("close",()=>this.clients.delete(D))),x(D,a)}};ox.exports=ux;function CX(i,u){for(let f of Object.keys(u))i.on(f,u[f]);return function(){for(let a of Object.keys(u))i.removeListener(a,u[a])}}function TX(i){i.emit("close")}function bw(){this.destroy()}function uv(i,u,f,a){i.writable&&(f=f||qw[u],a=t0({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},a),i.write(`HTTP/1.1 ${u} ${qw[u]}\r +`+Object.keys(a).map(g=>`${g}: ${a[g]}`).join(`\r +`)+`\r +\r +`+f)),i.removeListener("error",bw),i.destroy()}function xX(i){return i.trim()}});var fx=Z((Gne,lx)=>{"use strict";var b2=Uw();b2.createWebSocketStream=ix();b2.Server=sx();b2.Receiver=Mw();b2.Sender=Fw();lx.exports=b2});var cx=Z(sv=>{"use strict";var kX=sv&&sv.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sv,"__esModule",{value:!0});var AX=kX(fx()),z2=global;z2.WebSocket||(z2.WebSocket=AX.default);z2.window||(z2.window=global);z2.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 ax=Z((lv,zw)=>{(function(i,u){typeof lv=="object"&&typeof zw=="object"?zw.exports=u():typeof define=="function"&&define.amd?define([],u):typeof lv=="object"?lv.ReactDevToolsBackend=u():i.ReactDevToolsBackend=u()})(window,function(){return function(i){var u={};function f(a){if(u[a])return u[a].exports;var g=u[a]={i:a,l:!1,exports:{}};return i[a].call(g.exports,g,g.exports,f),g.l=!0,g.exports}return f.m=i,f.c=u,f.d=function(a,g,t){f.o(a,g)||Object.defineProperty(a,g,{enumerable:!0,get:t})},f.r=function(a){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},f.t=function(a,g){if(1&g&&(a=f(a)),8&g||4&g&&typeof a=="object"&&a&&a.__esModule)return a;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:a}),2&g&&typeof a!="string")for(var x in a)f.d(t,x,function(A){return a[A]}.bind(null,x));return t},f.n=function(a){var g=a&&a.__esModule?function(){return a.default}:function(){return a};return f.d(g,"a",g),g},f.o=function(a,g){return Object.prototype.hasOwnProperty.call(a,g)},f.p="",f(f.s=20)}([function(i,u,f){"use strict";i.exports=f(12)},function(i,u,f){"use strict";var a=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function x(A){if(A==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(A)}i.exports=function(){try{if(!Object.assign)return!1;var A=new String("abc");if(A[5]="de",Object.getOwnPropertyNames(A)[0]==="5")return!1;for(var k={},D=0;D<10;D++)k["_"+String.fromCharCode(D)]=D;if(Object.getOwnPropertyNames(k).map(function(B){return k[B]}).join("")!=="0123456789")return!1;var L={};return"abcdefghijklmnopqrst".split("").forEach(function(B){L[B]=B}),Object.keys(Object.assign({},L)).join("")==="abcdefghijklmnopqrst"}catch(B){return!1}}()?Object.assign:function(A,k){for(var D,L,B=x(A),b=1;b=ne||kt<0||zt&&it-Mt>=dt}function J(){var it=he();if(me(it))return xe(it);qe=setTimeout(J,function(kt){var Rt=ne-(kt-Ge);return zt?ve(Rt,dt-(kt-Mt)):Rt}(it))}function xe(it){return qe=void 0,tt&&Ne?V(it):(Ne=et=void 0,ct)}function ft(){var it=he(),kt=me(it);if(Ne=arguments,et=this,Ge=it,kt){if(qe===void 0)return te(Ge);if(zt)return qe=setTimeout(J,ne),V(Ge)}return qe===void 0&&(qe=setTimeout(J,ne)),ct}return ne=Te(ne)||0,Se(Ie)&&(Ot=!!Ie.leading,dt=(zt="maxWait"in Ie)?v(Te(Ie.maxWait)||0,ne):dt,tt="trailing"in Ie?!!Ie.trailing:tt),ft.cancel=function(){qe!==void 0&&clearTimeout(qe),Mt=0,Ne=Ge=et=qe=void 0},ft.flush=function(){return qe===void 0?ct:xe(he())},ft}function Se(Me){var ne=g(Me);return!!Me&&(ne=="object"||ne=="function")}function ze(Me){return g(Me)=="symbol"||function(ne){return!!ne&&g(ne)=="object"}(Me)&&$.call(Me)=="[object Symbol]"}function Te(Me){if(typeof Me=="number")return Me;if(ze(Me))return NaN;if(Se(Me)){var ne=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=Se(ne)?ne+"":ne}if(typeof Me!="string")return Me===0?Me:+Me;Me=Me.replace(t,"");var Ie=A.test(Me);return Ie||k.test(Me)?D(Me.slice(2),Ie?2:8):x.test(Me)?NaN:+Me}i.exports=function(Me,ne,Ie){var Ne=!0,et=!0;if(typeof Me!="function")throw new TypeError("Expected a function");return Se(Ie)&&(Ne="leading"in Ie?!!Ie.leading:Ne,et="trailing"in Ie?!!Ie.trailing:et),ue(Me,ne,{leading:Ne,maxWait:ne,trailing:et})}}).call(this,f(4))},function(i,u,f){(function(a){function g(V){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(te){return typeof te}:function(te){return te&&typeof Symbol=="function"&&te.constructor===Symbol&&te!==Symbol.prototype?"symbol":typeof te})(V)}var t;u=i.exports=v,t=(a===void 0?"undefined":g(a))==="object"&&a.env&&a.env.NODE_DEBUG&&/\bsemver\b/i.test(a.env.NODE_DEBUG)?function(){var V=Array.prototype.slice.call(arguments,0);V.unshift("SEMVER"),console.log.apply(console,V)}:function(){},u.SEMVER_SPEC_VERSION="2.0.0";var x=Number.MAX_SAFE_INTEGER||9007199254740991,A=u.re=[],k=u.src=[],D=u.tokens={},L=0;function B(V){D[V]=L++}B("NUMERICIDENTIFIER"),k[D.NUMERICIDENTIFIER]="0|[1-9]\\d*",B("NUMERICIDENTIFIERLOOSE"),k[D.NUMERICIDENTIFIERLOOSE]="[0-9]+",B("NONNUMERICIDENTIFIER"),k[D.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",B("MAINVERSION"),k[D.MAINVERSION]="("+k[D.NUMERICIDENTIFIER]+")\\.("+k[D.NUMERICIDENTIFIER]+")\\.("+k[D.NUMERICIDENTIFIER]+")",B("MAINVERSIONLOOSE"),k[D.MAINVERSIONLOOSE]="("+k[D.NUMERICIDENTIFIERLOOSE]+")\\.("+k[D.NUMERICIDENTIFIERLOOSE]+")\\.("+k[D.NUMERICIDENTIFIERLOOSE]+")",B("PRERELEASEIDENTIFIER"),k[D.PRERELEASEIDENTIFIER]="(?:"+k[D.NUMERICIDENTIFIER]+"|"+k[D.NONNUMERICIDENTIFIER]+")",B("PRERELEASEIDENTIFIERLOOSE"),k[D.PRERELEASEIDENTIFIERLOOSE]="(?:"+k[D.NUMERICIDENTIFIERLOOSE]+"|"+k[D.NONNUMERICIDENTIFIER]+")",B("PRERELEASE"),k[D.PRERELEASE]="(?:-("+k[D.PRERELEASEIDENTIFIER]+"(?:\\."+k[D.PRERELEASEIDENTIFIER]+")*))",B("PRERELEASELOOSE"),k[D.PRERELEASELOOSE]="(?:-?("+k[D.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+k[D.PRERELEASEIDENTIFIERLOOSE]+")*))",B("BUILDIDENTIFIER"),k[D.BUILDIDENTIFIER]="[0-9A-Za-z-]+",B("BUILD"),k[D.BUILD]="(?:\\+("+k[D.BUILDIDENTIFIER]+"(?:\\."+k[D.BUILDIDENTIFIER]+")*))",B("FULL"),B("FULLPLAIN"),k[D.FULLPLAIN]="v?"+k[D.MAINVERSION]+k[D.PRERELEASE]+"?"+k[D.BUILD]+"?",k[D.FULL]="^"+k[D.FULLPLAIN]+"$",B("LOOSEPLAIN"),k[D.LOOSEPLAIN]="[v=\\s]*"+k[D.MAINVERSIONLOOSE]+k[D.PRERELEASELOOSE]+"?"+k[D.BUILD]+"?",B("LOOSE"),k[D.LOOSE]="^"+k[D.LOOSEPLAIN]+"$",B("GTLT"),k[D.GTLT]="((?:<|>)?=?)",B("XRANGEIDENTIFIERLOOSE"),k[D.XRANGEIDENTIFIERLOOSE]=k[D.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",B("XRANGEIDENTIFIER"),k[D.XRANGEIDENTIFIER]=k[D.NUMERICIDENTIFIER]+"|x|X|\\*",B("XRANGEPLAIN"),k[D.XRANGEPLAIN]="[v=\\s]*("+k[D.XRANGEIDENTIFIER]+")(?:\\.("+k[D.XRANGEIDENTIFIER]+")(?:\\.("+k[D.XRANGEIDENTIFIER]+")(?:"+k[D.PRERELEASE]+")?"+k[D.BUILD]+"?)?)?",B("XRANGEPLAINLOOSE"),k[D.XRANGEPLAINLOOSE]="[v=\\s]*("+k[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+k[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+k[D.XRANGEIDENTIFIERLOOSE]+")(?:"+k[D.PRERELEASELOOSE]+")?"+k[D.BUILD]+"?)?)?",B("XRANGE"),k[D.XRANGE]="^"+k[D.GTLT]+"\\s*"+k[D.XRANGEPLAIN]+"$",B("XRANGELOOSE"),k[D.XRANGELOOSE]="^"+k[D.GTLT]+"\\s*"+k[D.XRANGEPLAINLOOSE]+"$",B("COERCE"),k[D.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",B("COERCERTL"),A[D.COERCERTL]=new RegExp(k[D.COERCE],"g"),B("LONETILDE"),k[D.LONETILDE]="(?:~>?)",B("TILDETRIM"),k[D.TILDETRIM]="(\\s*)"+k[D.LONETILDE]+"\\s+",A[D.TILDETRIM]=new RegExp(k[D.TILDETRIM],"g"),B("TILDE"),k[D.TILDE]="^"+k[D.LONETILDE]+k[D.XRANGEPLAIN]+"$",B("TILDELOOSE"),k[D.TILDELOOSE]="^"+k[D.LONETILDE]+k[D.XRANGEPLAINLOOSE]+"$",B("LONECARET"),k[D.LONECARET]="(?:\\^)",B("CARETTRIM"),k[D.CARETTRIM]="(\\s*)"+k[D.LONECARET]+"\\s+",A[D.CARETTRIM]=new RegExp(k[D.CARETTRIM],"g"),B("CARET"),k[D.CARET]="^"+k[D.LONECARET]+k[D.XRANGEPLAIN]+"$",B("CARETLOOSE"),k[D.CARETLOOSE]="^"+k[D.LONECARET]+k[D.XRANGEPLAINLOOSE]+"$",B("COMPARATORLOOSE"),k[D.COMPARATORLOOSE]="^"+k[D.GTLT]+"\\s*("+k[D.LOOSEPLAIN]+")$|^$",B("COMPARATOR"),k[D.COMPARATOR]="^"+k[D.GTLT]+"\\s*("+k[D.FULLPLAIN]+")$|^$",B("COMPARATORTRIM"),k[D.COMPARATORTRIM]="(\\s*)"+k[D.GTLT]+"\\s*("+k[D.LOOSEPLAIN]+"|"+k[D.XRANGEPLAIN]+")",A[D.COMPARATORTRIM]=new RegExp(k[D.COMPARATORTRIM],"g"),B("HYPHENRANGE"),k[D.HYPHENRANGE]="^\\s*("+k[D.XRANGEPLAIN]+")\\s+-\\s+("+k[D.XRANGEPLAIN]+")\\s*$",B("HYPHENRANGELOOSE"),k[D.HYPHENRANGELOOSE]="^\\s*("+k[D.XRANGEPLAINLOOSE]+")\\s+-\\s+("+k[D.XRANGEPLAINLOOSE]+")\\s*$",B("STAR"),k[D.STAR]="(<|>)?=?\\s*\\*";for(var b=0;b256||!(te.loose?A[D.LOOSE]:A[D.FULL]).test(V))return null;try{return new v(V,te)}catch(me){return null}}function v(V,te){if(te&&g(te)==="object"||(te={loose:!!te,includePrerelease:!1}),V instanceof v){if(V.loose===te.loose)return V;V=V.version}else if(typeof V!="string")throw new TypeError("Invalid Version: "+V);if(V.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof v))return new v(V,te);t("SemVer",V,te),this.options=te,this.loose=!!te.loose;var me=V.trim().match(te.loose?A[D.LOOSE]:A[D.FULL]);if(!me)throw new TypeError("Invalid Version: "+V);if(this.raw=V,this.major=+me[1],this.minor=+me[2],this.patch=+me[3],this.major>x||this.major<0)throw new TypeError("Invalid major version");if(this.minor>x||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>x||this.patch<0)throw new TypeError("Invalid patch version");me[4]?this.prerelease=me[4].split(".").map(function(J){if(/^[0-9]+$/.test(J)){var xe=+J;if(xe>=0&&xe=0;)typeof this.prerelease[me]=="number"&&(this.prerelease[me]++,me=-2);me===-1&&this.prerelease.push(0)}te&&(this.prerelease[0]===te?isNaN(this.prerelease[1])&&(this.prerelease=[te,0]):this.prerelease=[te,0]);break;default:throw new Error("invalid increment argument: "+V)}return this.format(),this.raw=this.version,this},u.inc=function(V,te,me,J){typeof me=="string"&&(J=me,me=void 0);try{return new v(V,me).inc(te,J).version}catch(xe){return null}},u.diff=function(V,te){if(Te(V,te))return null;var me=$(V),J=$(te),xe="";if(me.prerelease.length||J.prerelease.length){xe="pre";var ft="prerelease"}for(var it in me)if((it==="major"||it==="minor"||it==="patch")&&me[it]!==J[it])return xe+it;return ft},u.compareIdentifiers=he;var ve=/^[0-9]+$/;function he(V,te){var me=ve.test(V),J=ve.test(te);return me&&J&&(V=+V,te=+te),V===te?0:me&&!J?-1:J&&!me?1:V0}function ze(V,te,me){return ue(V,te,me)<0}function Te(V,te,me){return ue(V,te,me)===0}function Me(V,te,me){return ue(V,te,me)!==0}function ne(V,te,me){return ue(V,te,me)>=0}function Ie(V,te,me){return ue(V,te,me)<=0}function Ne(V,te,me,J){switch(te){case"===":return g(V)==="object"&&(V=V.version),g(me)==="object"&&(me=me.version),V===me;case"!==":return g(V)==="object"&&(V=V.version),g(me)==="object"&&(me=me.version),V!==me;case"":case"=":case"==":return Te(V,me,J);case"!=":return Me(V,me,J);case">":return Se(V,me,J);case">=":return ne(V,me,J);case"<":return ze(V,me,J);case"<=":return Ie(V,me,J);default:throw new TypeError("Invalid operator: "+te)}}function et(V,te){if(te&&g(te)==="object"||(te={loose:!!te,includePrerelease:!1}),V instanceof et){if(V.loose===!!te.loose)return V;V=V.value}if(!(this instanceof et))return new et(V,te);t("comparator",V,te),this.options=te,this.loose=!!te.loose,this.parse(V),this.semver===dt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}u.rcompareIdentifiers=function(V,te){return he(te,V)},u.major=function(V,te){return new v(V,te).major},u.minor=function(V,te){return new v(V,te).minor},u.patch=function(V,te){return new v(V,te).patch},u.compare=ue,u.compareLoose=function(V,te){return ue(V,te,!0)},u.compareBuild=function(V,te,me){var J=new v(V,me),xe=new v(te,me);return J.compare(xe)||J.compareBuild(xe)},u.rcompare=function(V,te,me){return ue(te,V,me)},u.sort=function(V,te){return V.sort(function(me,J){return u.compareBuild(me,J,te)})},u.rsort=function(V,te){return V.sort(function(me,J){return u.compareBuild(J,me,te)})},u.gt=Se,u.lt=ze,u.eq=Te,u.neq=Me,u.gte=ne,u.lte=Ie,u.cmp=Ne,u.Comparator=et;var dt={};function ct(V,te){if(te&&g(te)==="object"||(te={loose:!!te,includePrerelease:!1}),V instanceof ct)return V.loose===!!te.loose&&V.includePrerelease===!!te.includePrerelease?V:new ct(V.raw,te);if(V instanceof et)return new ct(V.value,te);if(!(this instanceof ct))return new ct(V,te);if(this.options=te,this.loose=!!te.loose,this.includePrerelease=!!te.includePrerelease,this.raw=V,this.set=V.split(/\s*\|\|\s*/).map(function(me){return this.parseRange(me.trim())},this).filter(function(me){return me.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+V);this.format()}function qe(V,te){for(var me=!0,J=V.slice(),xe=J.pop();me&&J.length;)me=J.every(function(ft){return xe.intersects(ft,te)}),xe=J.pop();return me}function Ge(V){return!V||V.toLowerCase()==="x"||V==="*"}function Mt(V,te,me,J,xe,ft,it,kt,Rt,ln,Fn,Yt,Wt){return((te=Ge(me)?"":Ge(J)?">="+me+".0.0":Ge(xe)?">="+me+"."+J+".0":">="+te)+" "+(kt=Ge(Rt)?"":Ge(ln)?"<"+(+Rt+1)+".0.0":Ge(Fn)?"<"+Rt+"."+(+ln+1)+".0":Yt?"<="+Rt+"."+ln+"."+Fn+"-"+Yt:"<="+kt)).trim()}function Ot(V,te,me){for(var J=0;J0){var xe=V[J].semver;if(xe.major===te.major&&xe.minor===te.minor&&xe.patch===te.patch)return!0}return!1}return!0}function zt(V,te,me){try{te=new ct(te,me)}catch(J){return!1}return te.test(V)}function tt(V,te,me,J){var xe,ft,it,kt,Rt;switch(V=new v(V,J),te=new ct(te,J),me){case">":xe=Se,ft=Ie,it=ze,kt=">",Rt=">=";break;case"<":xe=ze,ft=ne,it=Se,kt="<",Rt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(zt(V,te,J))return!1;for(var ln=0;ln=0.0.0")),Yt=Yt||nr,Wt=Wt||nr,xe(nr.semver,Yt.semver,J)?Yt=nr:it(nr.semver,Wt.semver,J)&&(Wt=nr)}),Yt.operator===kt||Yt.operator===Rt||(!Wt.operator||Wt.operator===kt)&&ft(V,Wt.semver)||Wt.operator===Rt&&it(V,Wt.semver))return!1}return!0}et.prototype.parse=function(V){var te=this.options.loose?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],me=V.match(te);if(!me)throw new TypeError("Invalid comparator: "+V);this.operator=me[1]!==void 0?me[1]:"",this.operator==="="&&(this.operator=""),me[2]?this.semver=new v(me[2],this.options.loose):this.semver=dt},et.prototype.toString=function(){return this.value},et.prototype.test=function(V){if(t("Comparator.test",V,this.options.loose),this.semver===dt||V===dt)return!0;if(typeof V=="string")try{V=new v(V,this.options)}catch(te){return!1}return Ne(V,this.operator,this.semver,this.options)},et.prototype.intersects=function(V,te){if(!(V instanceof et))throw new TypeError("a Comparator is required");var me;if(te&&g(te)==="object"||(te={loose:!!te,includePrerelease:!1}),this.operator==="")return this.value===""||(me=new ct(V.value,te),zt(this.value,me,te));if(V.operator==="")return V.value===""||(me=new ct(this.value,te),zt(V.semver,me,te));var J=!(this.operator!==">="&&this.operator!==">"||V.operator!==">="&&V.operator!==">"),xe=!(this.operator!=="<="&&this.operator!=="<"||V.operator!=="<="&&V.operator!=="<"),ft=this.semver.version===V.semver.version,it=!(this.operator!==">="&&this.operator!=="<="||V.operator!==">="&&V.operator!=="<="),kt=Ne(this.semver,"<",V.semver,te)&&(this.operator===">="||this.operator===">")&&(V.operator==="<="||V.operator==="<"),Rt=Ne(this.semver,">",V.semver,te)&&(this.operator==="<="||this.operator==="<")&&(V.operator===">="||V.operator===">");return J||xe||ft&&it||kt||Rt},u.Range=ct,ct.prototype.format=function(){return this.range=this.set.map(function(V){return V.join(" ").trim()}).join("||").trim(),this.range},ct.prototype.toString=function(){return this.range},ct.prototype.parseRange=function(V){var te=this.options.loose;V=V.trim();var me=te?A[D.HYPHENRANGELOOSE]:A[D.HYPHENRANGE];V=V.replace(me,Mt),t("hyphen replace",V),V=V.replace(A[D.COMPARATORTRIM],"$1$2$3"),t("comparator trim",V,A[D.COMPARATORTRIM]),V=(V=(V=V.replace(A[D.TILDETRIM],"$1~")).replace(A[D.CARETTRIM],"$1^")).split(/\s+/).join(" ");var J=te?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],xe=V.split(" ").map(function(ft){return function(it,kt){return t("comp",it,kt),it=function(Rt,ln){return Rt.trim().split(/\s+/).map(function(Fn){return function(Yt,Wt){t("caret",Yt,Wt);var nr=Wt.loose?A[D.CARETLOOSE]:A[D.CARET];return Yt.replace(nr,function(w,at,kn,Pn,Hn){var fr;return t("caret",Yt,w,at,kn,Pn,Hn),Ge(at)?fr="":Ge(kn)?fr=">="+at+".0.0 <"+(+at+1)+".0.0":Ge(Pn)?fr=at==="0"?">="+at+"."+kn+".0 <"+at+"."+(+kn+1)+".0":">="+at+"."+kn+".0 <"+(+at+1)+".0.0":Hn?(t("replaceCaret pr",Hn),fr=at==="0"?kn==="0"?">="+at+"."+kn+"."+Pn+"-"+Hn+" <"+at+"."+kn+"."+(+Pn+1):">="+at+"."+kn+"."+Pn+"-"+Hn+" <"+at+"."+(+kn+1)+".0":">="+at+"."+kn+"."+Pn+"-"+Hn+" <"+(+at+1)+".0.0"):(t("no pr"),fr=at==="0"?kn==="0"?">="+at+"."+kn+"."+Pn+" <"+at+"."+kn+"."+(+Pn+1):">="+at+"."+kn+"."+Pn+" <"+at+"."+(+kn+1)+".0":">="+at+"."+kn+"."+Pn+" <"+(+at+1)+".0.0"),t("caret return",fr),fr})}(Fn,ln)}).join(" ")}(it,kt),t("caret",it),it=function(Rt,ln){return Rt.trim().split(/\s+/).map(function(Fn){return function(Yt,Wt){var nr=Wt.loose?A[D.TILDELOOSE]:A[D.TILDE];return Yt.replace(nr,function(w,at,kn,Pn,Hn){var fr;return t("tilde",Yt,w,at,kn,Pn,Hn),Ge(at)?fr="":Ge(kn)?fr=">="+at+".0.0 <"+(+at+1)+".0.0":Ge(Pn)?fr=">="+at+"."+kn+".0 <"+at+"."+(+kn+1)+".0":Hn?(t("replaceTilde pr",Hn),fr=">="+at+"."+kn+"."+Pn+"-"+Hn+" <"+at+"."+(+kn+1)+".0"):fr=">="+at+"."+kn+"."+Pn+" <"+at+"."+(+kn+1)+".0",t("tilde return",fr),fr})}(Fn,ln)}).join(" ")}(it,kt),t("tildes",it),it=function(Rt,ln){return t("replaceXRanges",Rt,ln),Rt.split(/\s+/).map(function(Fn){return function(Yt,Wt){Yt=Yt.trim();var nr=Wt.loose?A[D.XRANGELOOSE]:A[D.XRANGE];return Yt.replace(nr,function(w,at,kn,Pn,Hn,fr){t("xRange",Yt,w,at,kn,Pn,Hn,fr);var cr=Ge(kn),n0=cr||Ge(Pn),_i=n0||Ge(Hn),po=_i;return at==="="&&po&&(at=""),fr=Wt.includePrerelease?"-0":"",cr?w=at===">"||at==="<"?"<0.0.0-0":"*":at&&po?(n0&&(Pn=0),Hn=0,at===">"?(at=">=",n0?(kn=+kn+1,Pn=0,Hn=0):(Pn=+Pn+1,Hn=0)):at==="<="&&(at="<",n0?kn=+kn+1:Pn=+Pn+1),w=at+kn+"."+Pn+"."+Hn+fr):n0?w=">="+kn+".0.0"+fr+" <"+(+kn+1)+".0.0"+fr:_i&&(w=">="+kn+"."+Pn+".0"+fr+" <"+kn+"."+(+Pn+1)+".0"+fr),t("xRange return",w),w})}(Fn,ln)}).join(" ")}(it,kt),t("xrange",it),it=function(Rt,ln){return t("replaceStars",Rt,ln),Rt.trim().replace(A[D.STAR],"")}(it,kt),t("stars",it),it}(ft,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(xe=xe.filter(function(ft){return!!ft.match(J)})),xe=xe.map(function(ft){return new et(ft,this.options)},this)},ct.prototype.intersects=function(V,te){if(!(V instanceof ct))throw new TypeError("a Range is required");return this.set.some(function(me){return qe(me,te)&&V.set.some(function(J){return qe(J,te)&&me.every(function(xe){return J.every(function(ft){return xe.intersects(ft,te)})})})})},u.toComparators=function(V,te){return new ct(V,te).set.map(function(me){return me.map(function(J){return J.value}).join(" ").trim().split(" ")})},ct.prototype.test=function(V){if(!V)return!1;if(typeof V=="string")try{V=new v(V,this.options)}catch(me){return!1}for(var te=0;te":ft.prerelease.length===0?ft.patch++:ft.prerelease.push(0),ft.raw=ft.format();case"":case">=":me&&!Se(me,ft)||(me=ft);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+xe.operator)}});return me&&V.test(me)?me:null},u.validRange=function(V,te){try{return new ct(V,te).range||"*"}catch(me){return null}},u.ltr=function(V,te,me){return tt(V,te,"<",me)},u.gtr=function(V,te,me){return tt(V,te,">",me)},u.outside=tt,u.prerelease=function(V,te){var me=$(V,te);return me&&me.prerelease.length?me.prerelease:null},u.intersects=function(V,te,me){return V=new ct(V,me),te=new ct(te,me),V.intersects(te)},u.coerce=function(V,te){if(V instanceof v)return V;if(typeof V=="number"&&(V=String(V)),typeof V!="string")return null;var me=null;if((te=te||{}).rtl){for(var J;(J=A[D.COERCERTL].exec(V))&&(!me||me.index+me[0].length!==V.length);)me&&J.index+J[0].length===me.index+me[0].length||(me=J),A[D.COERCERTL].lastIndex=J.index+J[1].length+J[2].length;A[D.COERCERTL].lastIndex=-1}else me=V.match(A[D.COERCE]);return me===null?null:$(me[2]+"."+(me[3]||"0")+"."+(me[4]||"0"),te)}}).call(this,f(5))},function(i,u){function f(g){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})(g)}var a;a=function(){return this}();try{a=a||new Function("return this")()}catch(g){(typeof window=="undefined"?"undefined":f(window))==="object"&&(a=window)}i.exports=a},function(i,u){var f,a,g=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function x(){throw new Error("clearTimeout has not been defined")}function A(he){if(f===setTimeout)return setTimeout(he,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(he,0);try{return f(he,0)}catch(ue){try{return f.call(null,he,0)}catch(Se){return f.call(this,he,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(he){f=t}try{a=typeof clearTimeout=="function"?clearTimeout:x}catch(he){a=x}})();var k,D=[],L=!1,B=-1;function b(){L&&k&&(L=!1,k.length?D=k.concat(D):B=-1,D.length&&$())}function $(){if(!L){var he=A(b);L=!0;for(var ue=D.length;ue;){for(k=D,D=[];++B1)for(var Se=1;Sethis[x])return Me(this,this[v].get(qe)),!1;var tt=this[v].get(qe).value;return this[B]&&(this[b]||this[B](qe,tt.value)),tt.now=Ot,tt.maxAge=Mt,tt.value=Ge,this[A]+=zt-tt.length,tt.length=zt,this.get(qe),Te(this),!0}var V=new ne(qe,Ge,zt,Ot,Mt);return V.length>this[x]?(this[B]&&this[B](qe,Ge),!1):(this[A]+=V.length,this[$].unshift(V),this[v].set(qe,this[$].head),Te(this),!0)}},{key:"has",value:function(qe){if(!this[v].has(qe))return!1;var Ge=this[v].get(qe).value;return!ze(this,Ge)}},{key:"get",value:function(qe){return Se(this,qe,!0)}},{key:"peek",value:function(qe){return Se(this,qe,!1)}},{key:"pop",value:function(){var qe=this[$].tail;return qe?(Me(this,qe),qe.value):null}},{key:"del",value:function(qe){Me(this,this[v].get(qe))}},{key:"load",value:function(qe){this.reset();for(var Ge=Date.now(),Mt=qe.length-1;Mt>=0;Mt--){var Ot=qe[Mt],zt=Ot.e||0;if(zt===0)this.set(Ot.k,Ot.v);else{var tt=zt-Ge;tt>0&&this.set(Ot.k,Ot.v,tt)}}}},{key:"prune",value:function(){var qe=this;this[v].forEach(function(Ge,Mt){return Se(qe,Mt,!1)})}},{key:"max",set:function(qe){if(typeof qe!="number"||qe<0)throw new TypeError("max must be a non-negative number");this[x]=qe||1/0,Te(this)},get:function(){return this[x]}},{key:"allowStale",set:function(qe){this[D]=!!qe},get:function(){return this[D]}},{key:"maxAge",set:function(qe){if(typeof qe!="number")throw new TypeError("maxAge must be a non-negative number");this[L]=qe,Te(this)},get:function(){return this[L]}},{key:"lengthCalculator",set:function(qe){var Ge=this;typeof qe!="function"&&(qe=he),qe!==this[k]&&(this[k]=qe,this[A]=0,this[$].forEach(function(Mt){Mt.length=Ge[k](Mt.value,Mt.key),Ge[A]+=Mt.length})),Te(this)},get:function(){return this[k]}},{key:"length",get:function(){return this[A]}},{key:"itemCount",get:function(){return this[$].length}}])&&g(et.prototype,dt),ct&&g(et,ct),Ne}(),Se=function(Ne,et,dt){var ct=Ne[v].get(et);if(ct){var qe=ct.value;if(ze(Ne,qe)){if(Me(Ne,ct),!Ne[D])return}else dt&&(Ne[ve]&&(ct.value.now=Date.now()),Ne[$].unshiftNode(ct));return qe.value}},ze=function(Ne,et){if(!et||!et.maxAge&&!Ne[L])return!1;var dt=Date.now()-et.now;return et.maxAge?dt>et.maxAge:Ne[L]&&dt>Ne[L]},Te=function(Ne){if(Ne[A]>Ne[x])for(var et=Ne[$].tail;Ne[A]>Ne[x]&&et!==null;){var dt=et.prev;Me(Ne,et),et=dt}},Me=function(Ne,et){if(et){var dt=et.value;Ne[B]&&Ne[B](dt.key,dt.value),Ne[A]-=dt.length,Ne[v].delete(dt.key),Ne[$].removeNode(et)}},ne=function Ne(et,dt,ct,qe,Ge){a(this,Ne),this.key=et,this.value=dt,this.length=ct,this.now=qe,this.maxAge=Ge||0},Ie=function(Ne,et,dt,ct){var qe=dt.value;ze(Ne,qe)&&(Me(Ne,dt),Ne[D]||(qe=void 0)),qe&&et.call(ct,qe.value,qe.key,Ne)};i.exports=ue},function(i,u,f){(function(a){function g(t){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(x){return typeof x}:function(x){return x&&typeof Symbol=="function"&&x.constructor===Symbol&&x!==Symbol.prototype?"symbol":typeof x})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,x,A,k={};return k.copy=function(){var D=!1,L=null,B=!1;function b(){D=!1,L=null,B&&window.getSelection().removeAllRanges(),B=!1}return document.addEventListener("copy",function($){if(D){for(var v in L)$.clipboardData.setData(v,L[v]);$.preventDefault()}}),function($){return new Promise(function(v,ve){D=!0,typeof $=="string"?L={"text/plain":$}:$ instanceof Node?L={"text/html":new XMLSerializer().serializeToString($)}:$ instanceof Object?L=$:ve("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function he(ue){try{if(document.execCommand("copy"))b(),v();else{if(ue)throw b(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var Se=document.getSelection();if(!document.queryCommandEnabled("copy")&&Se.isCollapsed){var ze=document.createRange();ze.selectNodeContents(document.body),Se.removeAllRanges(),Se.addRange(ze),B=!0}})(),he(!0)}}catch(Se){b(),ve(Se)}}(!1)})}}(),k.paste=(A=!1,document.addEventListener("paste",function(D){if(A){A=!1,D.preventDefault();var L=t;t=null,L(D.clipboardData.getData(x))}}),function(D){return new Promise(function(L,B){A=!0,t=L,x=D||"text/plain";try{document.execCommand("paste")||(A=!1,B(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(b){A=!1,B(new Error(b))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(D){function L(Te,Me){return function(){Te.apply(Me,arguments)}}function B(Te){if(g(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof Te!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],ue(Te,L($,this),L(v,this))}function b(Te){var Me=this;return this._state===null?void this._deferreds.push(Te):void Se(function(){var ne=Me._state?Te.onFulfilled:Te.onRejected;if(ne!==null){var Ie;try{Ie=ne(Me._value)}catch(Ne){return void Te.reject(Ne)}Te.resolve(Ie)}else(Me._state?Te.resolve:Te.reject)(Me._value)})}function $(Te){try{if(Te===this)throw new TypeError("A promise cannot be resolved with itself.");if(Te&&(g(Te)=="object"||typeof Te=="function")){var Me=Te.then;if(typeof Me=="function")return void ue(L(Me,Te),L($,this),L(v,this))}this._state=!0,this._value=Te,ve.call(this)}catch(ne){v.call(this,ne)}}function v(Te){this._state=!1,this._value=Te,ve.call(this)}function ve(){for(var Te=0,Me=this._deferreds.length;Me>Te;Te++)b.call(this,this._deferreds[Te]);this._deferreds=null}function he(Te,Me,ne,Ie){this.onFulfilled=typeof Te=="function"?Te:null,this.onRejected=typeof Me=="function"?Me:null,this.resolve=ne,this.reject=Ie}function ue(Te,Me,ne){var Ie=!1;try{Te(function(Ne){Ie||(Ie=!0,Me(Ne))},function(Ne){Ie||(Ie=!0,ne(Ne))})}catch(Ne){if(Ie)return;Ie=!0,ne(Ne)}}var Se=B.immediateFn||typeof a=="function"&&a||function(Te){setTimeout(Te,1)},ze=Array.isArray||function(Te){return Object.prototype.toString.call(Te)==="[object Array]"};B.prototype.catch=function(Te){return this.then(null,Te)},B.prototype.then=function(Te,Me){var ne=this;return new B(function(Ie,Ne){b.call(ne,new he(Te,Me,Ie,Ne))})},B.all=function(){var Te=Array.prototype.slice.call(arguments.length===1&&ze(arguments[0])?arguments[0]:arguments);return new B(function(Me,ne){function Ie(dt,ct){try{if(ct&&(g(ct)=="object"||typeof ct=="function")){var qe=ct.then;if(typeof qe=="function")return void qe.call(ct,function(Ge){Ie(dt,Ge)},ne)}Te[dt]=ct,--Ne==0&&Me(Te)}catch(Ge){ne(Ge)}}if(Te.length===0)return Me([]);for(var Ne=Te.length,et=0;etIe;Ie++)Te[Ie].then(Me,ne)})},i.exports?i.exports=B:D.Promise||(D.Promise=B)}(this),k.copy=function(D){return new Promise(function(L,B){if(typeof D!="string"&&!("text/plain"in D))throw new Error("You must provide a text/plain type.");var b=typeof D=="string"?D:D["text/plain"];window.clipboardData.setData("Text",b)?L():B(new Error("Copying was rejected."))})},k.paste=function(){return new Promise(function(D,L){var B=window.clipboardData.getData("Text");B?D(B):L(new Error("Pasting was rejected."))})}),k}()}).call(this,f(13).setImmediate)},function(i,u,f){"use strict";i.exports=f(15)},function(i,u,f){"use strict";f.r(u),u.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,u,f){"use strict";function a(k){var D=this;if(D instanceof a||(D=new a),D.tail=null,D.head=null,D.length=0,k&&typeof k.forEach=="function")k.forEach(function(b){D.push(b)});else if(arguments.length>0)for(var L=0,B=arguments.length;L1)L=D;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");B=this.head.next,L=this.head.value}for(var b=0;B!==null;b++)L=k(L,B.value,b),B=B.next;return L},a.prototype.reduceReverse=function(k,D){var L,B=this.tail;if(arguments.length>1)L=D;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");B=this.tail.prev,L=this.tail.value}for(var b=this.length-1;B!==null;b--)L=k(L,B.value,b),B=B.prev;return L},a.prototype.toArray=function(){for(var k=new Array(this.length),D=0,L=this.head;L!==null;D++)k[D]=L.value,L=L.next;return k},a.prototype.toArrayReverse=function(){for(var k=new Array(this.length),D=0,L=this.tail;L!==null;D++)k[D]=L.value,L=L.prev;return k},a.prototype.slice=function(k,D){(D=D||this.length)<0&&(D+=this.length),(k=k||0)<0&&(k+=this.length);var L=new a;if(Dthis.length&&(D=this.length);for(var B=0,b=this.head;b!==null&&Bthis.length&&(D=this.length);for(var B=this.length,b=this.tail;b!==null&&B>D;B--)b=b.prev;for(;b!==null&&B>k;B--,b=b.prev)L.push(b.value);return L},a.prototype.splice=function(k,D){k>this.length&&(k=this.length-1),k<0&&(k=this.length+k);for(var L=0,B=this.head;B!==null&&L=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},k))},f(14),u.setImmediate=typeof self!="undefined"&&self.setImmediate||a!==void 0&&a.setImmediate||this&&this.setImmediate,u.clearImmediate=typeof self!="undefined"&&self.clearImmediate||a!==void 0&&a.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,u,f){(function(a,g){(function(t,x){"use strict";if(!t.setImmediate){var A,k,D,L,B,b=1,$={},v=!1,ve=t.document,he=Object.getPrototypeOf&&Object.getPrototypeOf(t);he=he&&he.setTimeout?he:t,{}.toString.call(t.process)==="[object process]"?A=function(ze){g.nextTick(function(){Se(ze)})}:function(){if(t.postMessage&&!t.importScripts){var ze=!0,Te=t.onmessage;return t.onmessage=function(){ze=!1},t.postMessage("","*"),t.onmessage=Te,ze}}()?(L="setImmediate$"+Math.random()+"$",B=function(ze){ze.source===t&&typeof ze.data=="string"&&ze.data.indexOf(L)===0&&Se(+ze.data.slice(L.length))},t.addEventListener?t.addEventListener("message",B,!1):t.attachEvent("onmessage",B),A=function(ze){t.postMessage(L+ze,"*")}):t.MessageChannel?((D=new MessageChannel).port1.onmessage=function(ze){Se(ze.data)},A=function(ze){D.port2.postMessage(ze)}):ve&&"onreadystatechange"in ve.createElement("script")?(k=ve.documentElement,A=function(ze){var Te=ve.createElement("script");Te.onreadystatechange=function(){Se(ze),Te.onreadystatechange=null,k.removeChild(Te),Te=null},k.appendChild(Te)}):A=function(ze){setTimeout(Se,0,ze)},he.setImmediate=function(ze){typeof ze!="function"&&(ze=new Function(""+ze));for(var Te=new Array(arguments.length-1),Me=0;Mete;te++)if((V=ue(tt,Ot,te))!==-1){he=te,Ot=V;break e}Ot=-1}}e:{if(tt=zt,(V=b().get(Mt.primitive))!==void 0){for(te=0;teOt-tt?null:zt.slice(tt,Ot-1))!==null){if(Ot=0,et!==null){for(;OtOt;et--)dt=qe.pop()}for(et=zt.length-Ot-1;1<=et;et--)Ot=[],dt.push({id:null,isStateEditable:!1,name:ze(zt[et-1].functionName),value:void 0,subHooks:Ot}),qe.push(dt),dt=Ot;et=zt}Ot=(zt=Mt.primitive)==="Context"||zt==="DebugValue"?null:ct++,dt.push({id:Ot,isStateEditable:zt==="Reducer"||zt==="State",name:zt,value:Mt.value,subHooks:[]})}return function me(J,xe){for(var ft=[],it=0;it-1&&($=$.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var v=$.replace(/^\s+/,"").replace(/\(eval code/g,"("),ve=v.match(/ (\((.+):(\d+):(\d+)\)$)/),he=(v=ve?v.replace(ve[0],""):v).split(/\s+/).slice(1),ue=this.extractLocation(ve?ve[1]:he.pop()),Se=he.join(" ")||void 0,ze=["eval",""].indexOf(ue[0])>-1?void 0:ue[0];return new k({functionName:Se,fileName:ze,lineNumber:ue[1],columnNumber:ue[2],source:$})},this)},parseFFOrSafari:function(b){return b.stack.split(` +`).filter(function($){return!$.match(B)},this).map(function($){if($.indexOf(" > eval")>-1&&($=$.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),$.indexOf("@")===-1&&$.indexOf(":")===-1)return new k({functionName:$});var v=/((.*".+"[^@]*)?[^@]*)(?:@)/,ve=$.match(v),he=ve&&ve[1]?ve[1]:void 0,ue=this.extractLocation($.replace(v,""));return new k({functionName:he,fileName:ue[0],lineNumber:ue[1],columnNumber:ue[2],source:$})},this)},parseOpera:function(b){return!b.stacktrace||b.message.indexOf(` +`)>-1&&b.message.split(` +`).length>b.stacktrace.split(` +`).length?this.parseOpera9(b):b.stack?this.parseOpera11(b):this.parseOpera10(b)},parseOpera9:function(b){for(var $=/Line (\d+).*script (?:in )?(\S+)/i,v=b.message.split(` +`),ve=[],he=2,ue=v.length;he/,"$2").replace(/\([^)]*\)/g,"")||void 0;ue.match(/\(([^)]*)\)/)&&(v=ue.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var ze=v===void 0||v==="[arguments not available]"?void 0:v.split(",");return new k({functionName:Se,args:ze,fileName:he[0],lineNumber:he[1],columnNumber:he[2],source:$})},this)}}})=="function"?a.apply(u,g):a)===void 0||(i.exports=t)})()},function(i,u,f){var a,g,t;(function(x,A){"use strict";g=[],(t=typeof(a=function(){function k(Se){return Se.charAt(0).toUpperCase()+Se.substring(1)}function D(Se){return function(){return this[Se]}}var L=["isConstructor","isEval","isNative","isToplevel"],B=["columnNumber","lineNumber"],b=["fileName","functionName","source"],$=L.concat(B,b,["args"]);function v(Se){if(Se)for(var ze=0;ze<$.length;ze++)Se[$[ze]]!==void 0&&this["set"+k($[ze])](Se[$[ze]])}v.prototype={getArgs:function(){return this.args},setArgs:function(Se){if(Object.prototype.toString.call(Se)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=Se},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(Se){if(Se instanceof v)this.evalOrigin=Se;else{if(!(Se instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new v(Se)}},toString:function(){var Se=this.getFileName()||"",ze=this.getLineNumber()||"",Te=this.getColumnNumber()||"",Me=this.getFunctionName()||"";return this.getIsEval()?Se?"[eval] ("+Se+":"+ze+":"+Te+")":"[eval]:"+ze+":"+Te:Me?Me+" ("+Se+":"+ze+":"+Te+")":Se+":"+ze+":"+Te}},v.fromString=function(Se){var ze=Se.indexOf("("),Te=Se.lastIndexOf(")"),Me=Se.substring(0,ze),ne=Se.substring(ze+1,Te).split(","),Ie=Se.substring(Te+1);if(Ie.indexOf("@")===0)var Ne=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Ie,""),et=Ne[1],dt=Ne[2],ct=Ne[3];return new v({functionName:Me,args:ne||void 0,fileName:et,lineNumber:dt||void 0,columnNumber:ct||void 0})};for(var ve=0;ve1?ce-1:0),pe=1;pe=0&&ce.splice(z,1)}}}])&&a(R.prototype,j),W&&a(R,W),F}(),t=f(2),x=f.n(t);try{var A=f(9).default,k=function(F){var R=new RegExp("".concat(F,": ([0-9]+)")),j=A.match(R);return parseInt(j[1],10)};k("comfortable-line-height-data"),k("compact-line-height-data")}catch(F){}function D(F){try{return sessionStorage.getItem(F)}catch(R){return null}}function L(F){try{sessionStorage.removeItem(F)}catch(R){}}function B(F,R){try{return sessionStorage.setItem(F,R)}catch(j){}}var b=function(F,R){return F===R},$=f(1),v=f.n($);function ve(F){return F.ownerDocument?F.ownerDocument.defaultView:null}function he(F){var R=ve(F);return R?R.frameElement:null}function ue(F){var R=Te(F);return Se([F.getBoundingClientRect(),{top:R.borderTop,left:R.borderLeft,bottom:R.borderBottom,right:R.borderRight,width:0,height:0}])}function Se(F){return F.reduce(function(R,j){return R==null?j:{top:R.top+j.top,left:R.left+j.left,width:R.width,height:R.height,bottom:R.bottom+j.bottom,right:R.right+j.right}})}function ze(F,R){var j=he(F);if(j&&j!==R){for(var W=[F.getBoundingClientRect()],le=j,ie=!1;le;){var ce=ue(le);if(W.push(ce),le=he(le),ie)break;le&&ve(le)===R&&(ie=!0)}return Se(W)}return F.getBoundingClientRect()}function Te(F){var R=window.getComputedStyle(F);return{borderLeft:parseInt(R.borderLeftWidth,10),borderRight:parseInt(R.borderRightWidth,10),borderTop:parseInt(R.borderTopWidth,10),borderBottom:parseInt(R.borderBottomWidth,10),marginLeft:parseInt(R.marginLeft,10),marginRight:parseInt(R.marginRight,10),marginTop:parseInt(R.marginTop,10),marginBottom:parseInt(R.marginBottom,10),paddingLeft:parseInt(R.paddingLeft,10),paddingRight:parseInt(R.paddingRight,10),paddingTop:parseInt(R.paddingTop,10),paddingBottom:parseInt(R.paddingBottom,10)}}function Me(F,R){var j;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(j=function(pe,Oe){if(!!pe){if(typeof pe=="string")return ne(pe,Oe);var We=Object.prototype.toString.call(pe).slice(8,-1);if(We==="Object"&&pe.constructor&&(We=pe.constructor.name),We==="Map"||We==="Set")return Array.from(pe);if(We==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(We))return ne(pe,Oe)}}(F))||R&&F&&typeof F.length=="number"){j&&(F=j);var W=0,le=function(){};return{s:le,n:function(){return W>=F.length?{done:!0}:{done:!1,value:F[W++]}},e:function(pe){throw pe},f:le}}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 ie,ce=!0,z=!1;return{s:function(){j=F[Symbol.iterator]()},n:function(){var pe=j.next();return ce=pe.done,pe},e:function(pe){z=!0,ie=pe},f:function(){try{ce||j.return==null||j.return()}finally{if(z)throw ie}}}}function ne(F,R){(R==null||R>F.length)&&(R=F.length);for(var j=0,W=new Array(R);jce.left+ce.width&&(K=ce.left+ce.width-We-5),{style:{top:pe+="px",left:K+="px"}}}(R,j,{width:W.width,height:W.height});v()(this.tip.style,le.style)}}]),F}(),qe=function(){function F(){Ie(this,F);var R=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=R;var j=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=j;var W=R.document;this.container=W.createElement("div"),this.container.style.zIndex="10000000",this.tip=new ct(W,this.container),this.rects=[],W.body.appendChild(this.container)}return et(F,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(R){R.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(R,j){for(var W=this,le=R.filter(function(Ke){return Ke.nodeType===Node.ELEMENT_NODE});this.rects.length>le.length;)this.rects.pop().remove();if(le.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:b,Le=void 0,Ke=[],rt=void 0,ut=!1,Ct=function(st,It){return Ee(st,Ke[It])},_t=function(){for(var st=arguments.length,It=Array(st),pn=0;pn5&&arguments[5]!==void 0?arguments[5]:0,z=ol(F);switch(z){case"html_element":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:F.tagName,type:z};case"function":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:typeof F.name!="function"&&F.name?F.name:"function",type:z};case"string":return F.length<=500?F:F.slice(0,500)+"...";case"bigint":case"symbol":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:F.toString(),type:z};case"react_element":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:ul(F)||"Unknown",type:z};case"array_buffer":case"data_view":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:z==="data_view"?"DataView":"ArrayBuffer",size:F.byteLength,type:z};case"array":return ie=le(W),ce>=2&&!ie?po(z,!0,F,R,W):F.map(function(We,K){return vs(We,R,j,W.concat([K]),le,ie?1:ce+1)});case"html_all_collection":case"typed_array":case"iterator":if(ie=le(W),ce>=2&&!ie)return po(z,!0,F,R,W);var pe={unserializable:!0,type:z,readonly:!0,size:z==="typed_array"?F.length:void 0,preview_short:xr(F,!1),preview_long:xr(F,!0),name:F.constructor&&F.constructor.name!=="Object"?F.constructor.name:""};return n0(F[Symbol.iterator])&&Array.from(F).forEach(function(We,K){return pe[K]=vs(We,R,j,W.concat([K]),le,ie?1:ce+1)}),j.push(W),pe;case"opaque_iterator":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:F[Symbol.toStringTag],type:z};case"date":case"regexp":return R.push(W),{inspectable:!1,preview_short:xr(F,!1),preview_long:xr(F,!0),name:F.toString(),type:z};case"object":if(ie=le(W),ce>=2&&!ie)return po(z,!0,F,R,W);var Oe={};return ms(F).forEach(function(We){var K=We.toString();Oe[K]=vs(F[We],R,j,W.concat([K]),le,ie?1:ce+1)}),Oe;case"infinity":case"nan":case"undefined":return R.push(W),{type:z};default:return F}}function Tu(F){return(Tu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Hf(F){return function(R){if(Array.isArray(R))return Jo(R)}(F)||function(R){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(R))return Array.from(R)}(F)||function(R,j){if(!!R){if(typeof R=="string")return Jo(R,j);var W=Object.prototype.toString.call(R).slice(8,-1);if(W==="Object"&&R.constructor&&(W=R.constructor.name),W==="Map"||W==="Set")return Array.from(R);if(W==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(W))return Jo(R,j)}}(F)||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 Jo(F,R){(R==null||R>F.length)&&(R=F.length);for(var j=0,W=new Array(R);jR.toString()?1:R.toString()>F.toString()?-1:0}function ms(F){for(var R=[],j=F,W=function(){var le=[].concat(Hf(Object.keys(j)),Hf(Object.getOwnPropertySymbols(j))),ie=Object.getOwnPropertyDescriptors(j);le.forEach(function(ce){ie[ce].enumerable&&R.push(ce)}),j=Object.getPrototypeOf(j)};j!=null;)W();return R}function Mo(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",j=Qo.get(F);if(j!=null)return j;var W=R;return typeof F.displayName=="string"?W=F.displayName:typeof F.name=="string"&&F.name!==""&&(W=F.name),Qo.set(F,W),W}var nl=0;function gs(){return++nl}function _s(F){var R=el.get(F);if(R!==void 0)return R;for(var j=new Array(F.length),W=0;W1&&arguments[1]!==void 0?arguments[1]:50;return F.length>R?F.substr(0,R)+"\u2026":F}function xr(F,R){if(F!=null&&hasOwnProperty.call(F,_i.type))return R?F[_i.preview_long]:F[_i.preview_short];switch(ol(F)){case"html_element":return"<".concat(Fi(F.tagName.toLowerCase())," />");case"function":return Fi("\u0192 ".concat(typeof F.name=="function"?"":F.name,"() {}"));case"string":return'"'.concat(F,'"');case"bigint":return Fi(F.toString()+"n");case"regexp":case"symbol":return Fi(F.toString());case"react_element":return"<".concat(Fi(ul(F)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(F.byteLength,")");case"data_view":return"DataView(".concat(F.buffer.byteLength,")");case"array":if(R){for(var j="",W=0;W0&&(j+=", "),!((j+=xr(F[W],!1)).length>50));W++);return"[".concat(Fi(j),"]")}var le=hasOwnProperty.call(F,_i.size)?F[_i.size]:F.length;return"Array(".concat(le,")");case"typed_array":var ie="".concat(F.constructor.name,"(").concat(F.length,")");if(R){for(var ce="",z=0;z0&&(ce+=", "),!((ce+=F[z]).length>50));z++);return"".concat(ie," [").concat(Fi(ce),"]")}return ie;case"iterator":var pe=F.constructor.name;if(R){for(var Oe=Array.from(F),We="",K=0;K0&&(We+=", "),Array.isArray(Ee)){var Le=xr(Ee[0],!0),Ke=xr(Ee[1],!1);We+="".concat(Le," => ").concat(Ke)}else We+=xr(Ee,!1);if(We.length>50)break}return"".concat(pe,"(").concat(F.size,") {").concat(Fi(We),"}")}return"".concat(pe,"(").concat(F.size,")");case"opaque_iterator":return F[Symbol.toStringTag];case"date":return F.toString();case"object":if(R){for(var rt=ms(F).sort(tl),ut="",Ct=0;Ct0&&(ut+=", "),(ut+="".concat(_t.toString(),": ").concat(xr(F[_t],!1))).length>50)break}return"{".concat(Fi(ut),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return F;default:try{return Fi(""+F)}catch(st){return"unserializable"}}}var Tc=f(7);function ef(F){return(ef=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function ys(F,R){var j=Object.keys(F);if(Object.getOwnPropertySymbols){var W=Object.getOwnPropertySymbols(F);R&&(W=W.filter(function(le){return Object.getOwnPropertyDescriptor(F,le).enumerable})),j.push.apply(j,W)}return j}function ws(F){for(var R=1;R2&&arguments[2]!==void 0?arguments[2]:[];if(F!==null){var W=[],le=[],ie=vs(F,W,le,j,R);return{data:ie,cleaned:W,unserializable:le}}return null}function Fo(F){var R,j,W=(R=F,j=new Set,JSON.stringify(R,function(ce,z){if(ef(z)==="object"&&z!==null){if(j.has(z))return;j.add(z)}return typeof z=="bigint"?z.toString()+"n":z})),le=W===void 0?"undefined":W,ie=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ie=="function"?ie(le).catch(function(ce){}):Object(Tc.copy)(le)}function wr(F,R){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,W=R[j],le=Array.isArray(F)?F.slice():ws({},F);return j+1===R.length?Array.isArray(le)?le.splice(W,1):delete le[W]:le[W]=wr(F[W],R,j+1),le}function kr(F,R,j){var W=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,le=R[W],ie=Array.isArray(F)?F.slice():ws({},F);if(W+1===R.length){var ce=j[W];ie[ce]=ie[le],Array.isArray(ie)?ie.splice(le,1):delete ie[le]}else ie[le]=kr(F[le],R,j,W+1);return ie}function ni(F,R,j){var W=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(W>=R.length)return j;var le=R[W],ie=Array.isArray(F)?F.slice():ws({},F);return ie[le]=ni(F[le],R,j,W+1),ie}var j0=f(8);function U0(F,R){var j=Object.keys(F);if(Object.getOwnPropertySymbols){var W=Object.getOwnPropertySymbols(F);R&&(W=W.filter(function(le){return Object.getOwnPropertyDescriptor(F,le).enumerable})),j.push.apply(j,W)}return j}function Pt(F){for(var R=1;R=F.length?{done:!0}:{done:!1,value:F[W++]}},e:function(pe){throw pe},f:le}}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 ie,ce=!0,z=!1;return{s:function(){j=F[Symbol.iterator]()},n:function(){var pe=j.next();return ce=pe.done,pe},e:function(pe){z=!0,ie=pe},f:function(){try{ce||j.return==null||j.return()}finally{if(z)throw ie}}}}function Es(F,R){if(F){if(typeof F=="string")return Zo(F,R);var j=Object.prototype.toString.call(F).slice(8,-1);return j==="Object"&&F.constructor&&(j=F.constructor.name),j==="Map"||j==="Set"?Array.from(F):j==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(j)?Zo(F,R):void 0}}function Zo(F,R){(R==null||R>F.length)&&(R=F.length);for(var j=0,W=new Array(R);j0){var Qe=ie(X);if(Qe!=null){var yt,Ut=Ds(ou);try{for(Ut.s();!(yt=Ut.n()).done;)if(yt.value.test(Qe))return!0}catch(rn){Ut.e(rn)}finally{Ut.f()}}}if(Y!=null&&qu.size>0){var Kt,Nt=Y.fileName,Lt=Ds(qu);try{for(Lt.s();!(Kt=Lt.n()).done;)if(Kt.value.test(Nt))return!0}catch(rn){Lt.e(rn)}finally{Lt.f()}}return!1}function Ur(X){var Y=X.type;switch(X.tag){case Ke:case rr:return 1;case Le:case Zt:return 5;case _t:return 6;case st:return 11;case pn:return 7;case It:case tn:case Ct:return 9;case Nn:case gr:return 8;case be:return 12;case Xe:return 13;default:switch(ce(Y)){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 Jn(X){if(_o.has(X))return X;var Y=X.alternate;return Y!=null&&_o.has(Y)?Y:(_o.add(X),X)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?Rs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):Rs([{type:1,value:7,isEnabled:!0}]);var P0=new Map,z0=new Map,_o=new Set,bu=new Map,Uo=new Map,Or=-1;function Gn(X){if(!P0.has(X)){var Y=gs();P0.set(X,Y),z0.set(Y,X)}return P0.get(X)}function ui(X){switch(Ur(X)){case 1:if(F0!==null){var Y=Gn(Jn(X)),_e=qr(X);_e!==null&&F0.set(Y,_e)}}}var i0={};function qr(X){switch(Ur(X)){case 1:var Y=X.stateNode,_e=i0,de=i0;return Y!=null&&(Y.constructor&&Y.constructor.contextType!=null?de=Y.context:(_e=Y.context)&&Object.keys(_e).length===0&&(_e=i0)),[_e,de];default:return null}}function of(X){switch(Ur(X)){case 1:if(F0!==null){var Y=Gn(Jn(X)),_e=F0.has(Y)?F0.get(Y):null,de=qr(X);if(_e==null||de==null)return null;var Ue=Au(_e,2),Qe=Ue[0],yt=Ue[1],Ut=Au(de,2),Kt=Ut[0],Nt=Ut[1];if(Kt!==i0)return W0(Qe,Kt);if(Nt!==i0)return yt!==Nt}}return null}function uf(X,Y){if(X==null||Y==null)return!1;if(Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))for(;Y!==null;){if(Y.memoizedState!==X.memoizedState)return!0;Y=Y.next,X=X.next}return!1}function W0(X,Y){if(X==null||Y==null||Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))return null;var _e,de=[],Ue=Ds(new Set([].concat(f0(Object.keys(X)),f0(Object.keys(Y)))));try{for(Ue.s();!(_e=Ue.n()).done;){var Qe=_e.value;X[Qe]!==Y[Qe]&&de.push(Qe)}}catch(yt){Ue.e(yt)}finally{Ue.f()}return de}function H0(X,Y){switch(Y.tag){case Ke:case Le:case rt:case Nn:case gr:return(Ro(Y)&K)===K;default:return X.memoizedProps!==Y.memoizedProps||X.memoizedState!==Y.memoizedState||X.ref!==Y.ref}}var fe=[],Re=[],ke=[],pt=[],ht=new Map,hn=0,jn=null;function Ht(X){fe.push(X)}function G0(X){if(fe.length!==0||Re.length!==0||ke.length!==0||jn!==null||o0){var Y=Re.length+ke.length+(jn===null?0:1),_e=new Array(3+hn+(Y>0?2+Y:0)+fe.length),de=0;if(_e[de++]=R,_e[de++]=Or,_e[de++]=hn,ht.forEach(function(Ut,Kt){_e[de++]=Kt.length;for(var Nt=_s(Kt),Lt=0;Lt0){_e[de++]=2,_e[de++]=Y;for(var Ue=Re.length-1;Ue>=0;Ue--)_e[de++]=Re[Ue];for(var Qe=0;Qe0?X.forEach(function(Y){F.emit("operations",Y)}):(An!==null&&(Lr=!0),F.getFiberRoots(R).forEach(function(Y){E0(Or=Gn(Jn(Y.current)),Y.current),o0&&Y.memoizedInteractions!=null&&(eo={changeDescriptions:yo?new Map:null,durations:[],commitTime:Ss()-v0,interactions:Array.from(Y.memoizedInteractions).map(function(_e){return Pt(Pt({},_e),{},{timestamp:_e.timestamp-v0})}),maxActualDuration:0,priorityLevel:null}),Hr(Y.current,null,!1,!1),G0(),Or=-1}))},getBestMatchForTrackedPath:function(){if(An===null||li===null)return null;for(var X=li;X!==null&&I0(X);)X=X.return;return X===null?null:{id:Gn(Jn(X)),isFullMatch:Pr===An.length-1}},getDisplayNameForFiberID:function(X){var Y=z0.get(X);return Y!=null?ie(Y):null},getFiberIDForNative:function(X){var Y=arguments.length>1&&arguments[1]!==void 0&&arguments[1],_e=j.findFiberByHostInstance(X);if(_e!=null){if(Y)for(;_e!==null&&I0(_e);)_e=_e.return;return Gn(Jn(_e))}return null},getInstanceAndStyle:function(X){var Y=null,_e=null,de=V0(X);return de!==null&&(Y=de.stateNode,de.memoizedProps!==null&&(_e=de.memoizedProps.style)),{instance:Y,style:_e}},getOwnersList:function(X){var Y=V0(X);if(Y==null)return null;var _e=Y._debugOwner,de=[{displayName:ie(Y)||"Anonymous",id:X,type:Ur(Y)}];if(_e)for(var Ue=_e;Ue!==null;)de.unshift({displayName:ie(Ue)||"Anonymous",id:Gn(Jn(Ue)),type:Ur(Ue)}),Ue=Ue._debugOwner||null;return de},getPathForElement:function(X){var Y=z0.get(X);if(Y==null)return null;for(var _e=[];Y!==null;)_e.push(Ei(Y)),Y=Y.return;return _e.reverse(),_e},getProfilingData:function(){var X=[];if(uu===null)throw Error("getProfilingData() called before any profiling data was recorded");return uu.forEach(function(Y,_e){var de=[],Ue=[],Qe=new Map,yt=new Map,Ut=to!==null&&to.get(_e)||"Unknown";D0!=null&&D0.forEach(function(Kt,Nt){si!=null&&si.get(Nt)===_e&&Ue.push([Nt,Kt])}),Y.forEach(function(Kt,Nt){var Lt=Kt.changeDescriptions,rn=Kt.durations,gt=Kt.interactions,ar=Kt.maxActualDuration,Nr=Kt.priorityLevel,Dr=Kt.commitTime,q=[];gt.forEach(function(u0){Qe.has(u0.id)||Qe.set(u0.id,u0),q.push(u0.id);var Zr=yt.get(u0.id);Zr!=null?Zr.push(Nt):yt.set(u0.id,[Nt])});for(var ir=[],Er=[],Vn=0;Vn1?En.set(Lt,rn-1):En.delete(Lt),pr.delete(Kt)}(Or),Wr(_e,!1))}else E0(Or,_e),Hr(_e,null,!1,!1);if(o0&&Ue){var Ut=uu.get(Or);Ut!=null?Ut.push(eo):uu.set(Or,[eo])}G0(),Zi&&F.emit("traceUpdates",Bi),Or=-1},handleCommitFiberUnmount:function(X){Wr(X,!1)},inspectElement:function(X,Y){if(_r(X)){if(Y!=null){M0(Y);var _e=null;return Y[0]==="hooks"&&(_e="hooks"),{id:X,type:"hydrated-path",path:Y,value:Ri(yi(w0,Y),Ir(null,_e),Y)}}return{id:X,type:"no-change"}}if(gl=!1,w0!==null&&w0.id===X||(Y0={}),(w0=sf(X))===null)return{id:X,type:"not-found"};Y!=null&&M0(Y),function(Ue){var Qe=Ue.hooks,yt=Ue.id,Ut=Ue.props,Kt=z0.get(yt);if(Kt!=null){var Nt=Kt.elementType,Lt=Kt.stateNode,rn=Kt.tag,gt=Kt.type;switch(rn){case Ke:case rr:case Zt:W.$r=Lt;break;case Le:W.$r={hooks:Qe,props:Ut,type:gt};break;case _t:W.$r={props:Ut,type:gt.render};break;case Nn:case gr:W.$r={props:Ut,type:Nt!=null&&Nt.type!=null?Nt.type:gt};break;default:W.$r=null}}else console.warn('Could not find Fiber with id "'.concat(yt,'"'))}(w0);var de=Pt({},w0);return de.context=Ri(de.context,Ir("context",null)),de.hooks=Ri(de.hooks,Ir("hooks","hooks")),de.props=Ri(de.props,Ir("props",null)),de.state=Ri(de.state,Ir("state",null)),{id:X,type:"full-data",value:de}},logElementToConsole:function(X){var Y=_r(X)?w0:sf(X);if(Y!==null){var _e=typeof console.groupCollapsed=="function";_e&&console.groupCollapsed("[Click to expand] %c<".concat(Y.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),Y.props!==null&&console.log("Props:",Y.props),Y.state!==null&&console.log("State:",Y.state),Y.hooks!==null&&console.log("Hooks:",Y.hooks);var de=Ls(X);de!==null&&console.log("Nodes:",de),Y.source!==null&&console.log("Location:",Y.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),_e&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},prepareViewAttributeSource:function(X,Y){_r(X)&&(window.$attribute=yi(w0,Y))},prepareViewElementSource:function(X){var Y=z0.get(X);if(Y!=null){var _e=Y.elementType,de=Y.tag,Ue=Y.type;switch(de){case Ke:case rr:case Zt:case Le:W.$type=Ue;break;case _t:W.$type=Ue.render;break;case Nn:case gr:W.$type=_e!=null&&_e.type!=null?_e.type:Ue;break;default:W.$type=null}}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},overrideSuspense:function(X,Y){if(typeof mo!="function"||typeof go!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");Y?(R0.add(X),R0.size===1&&mo(su)):(R0.delete(X),R0.size===0&&mo(yl));var _e=z0.get(X);_e!=null&&go(_e)},overrideValueAtPath:function(X,Y,_e,de,Ue){var Qe=V0(Y);if(Qe!==null){var yt=Qe.stateNode;switch(X){case"context":switch(de=de.slice(1),Qe.tag){case Ke:de.length===0?yt.context=Ue:il(yt.context,de,Ue),yt.forceUpdate()}break;case"hooks":typeof d0=="function"&&d0(Qe,_e,de,Ue);break;case"props":switch(Qe.tag){case Ke:Qe.pendingProps=ni(yt.props,de,Ue),yt.forceUpdate();break;default:typeof wi=="function"&&wi(Qe,de,Ue)}break;case"state":switch(Qe.tag){case Ke:il(yt.state,de,Ue),yt.forceUpdate()}}}},renamePath:function(X,Y,_e,de,Ue){var Qe=V0(Y);if(Qe!==null){var yt=Qe.stateNode;switch(X){case"context":switch(de=de.slice(1),Ue=Ue.slice(1),Qe.tag){case Ke:de.length===0||rl(yt.context,de,Ue),yt.forceUpdate()}break;case"hooks":typeof oi=="function"&&oi(Qe,_e,de,Ue);break;case"props":yt===null?typeof Rr=="function"&&Rr(Qe,de,Ue):(Qe.pendingProps=kr(yt.props,de,Ue),yt.forceUpdate());break;case"state":rl(yt.state,de,Ue),yt.forceUpdate()}}},renderer:j,setTraceUpdatesEnabled:function(X){Zi=X},setTrackedPath:no,startProfiling:_l,stopProfiling:function(){o0=!1,yo=!1},storeAsGlobal:function(X,Y,_e){if(_r(X)){var de=yi(w0,Y),Ue="$reactTemp".concat(_e);window[Ue]=de,console.log(Ue),console.log(de)}},updateComponentFilters:function(X){if(o0)throw Error("Cannot modify filter preferences while profiling");F.getFiberRoots(R).forEach(function(Y){Or=Gn(Jn(Y.current)),h0(Y.current),Wr(Y.current,!1),Or=-1}),Rs(X),En.clear(),F.getFiberRoots(R).forEach(function(Y){E0(Or=Gn(Jn(Y.current)),Y.current),Hr(Y.current,null,!1,!1),G0(Y),Or=-1})}}}var dn;function Ou(F){return(Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Lo(F,R,j){if(dn===void 0)try{throw Error()}catch(le){var W=le.stack.trim().match(/\n( *(at )?)/);dn=W&&W[1]||""}return` +`+dn+F}var eu=!1;function Ts(F,R,j){if(!F||eu)return"";var W,le=Error.prepareStackTrace;Error.prepareStackTrace=void 0,eu=!0;var ie=j.current;j.current=null;try{if(R){var ce=function(){throw Error()};if(Object.defineProperty(ce.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Ou(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(ce,[])}catch(Ee){W=Ee}Reflect.construct(F,[],ce)}else{try{ce.call()}catch(Ee){W=Ee}F.call(ce.prototype)}}else{try{throw Error()}catch(Ee){W=Ee}F()}}catch(Ee){if(Ee&&W&&typeof Ee.stack=="string"){for(var z=Ee.stack.split(` +`),pe=W.stack.split(` +`),Oe=z.length-1,We=pe.length-1;Oe>=1&&We>=0&&z[Oe]!==pe[We];)We--;for(;Oe>=1&&We>=0;Oe--,We--)if(z[Oe]!==pe[We]){if(Oe!==1||We!==1)do if(Oe--,--We<0||z[Oe]!==pe[We])return` +`+z[Oe].replace(" at new "," at ");while(Oe>=1&&We>=0);break}}}finally{eu=!1,Error.prepareStackTrace=le,j.current=ie}var K=F?F.displayName||F.name:"";return K?Lo(K):""}function ll(F,R,j,W){return Ts(F,!1,W)}function Gf(F,R,j){var W=F.HostComponent,le=F.LazyComponent,ie=F.SuspenseComponent,ce=F.SuspenseListComponent,z=F.FunctionComponent,pe=F.IndeterminateComponent,Oe=F.SimpleMemoComponent,We=F.ForwardRef,K=F.Block,Ee=F.ClassComponent;switch(R.tag){case W:return Lo(R.type);case le:return Lo("Lazy");case ie:return Lo("Suspense");case ce:return Lo("SuspenseList");case z:case pe:case Oe:return ll(R.type,0,0,j);case We:return ll(R.type.render,0,0,j);case K:return ll(R.type._render,0,0,j);case Ee:return function(Le,Ke,rt,ut){return Ts(Le,!0,ut)}(R.type,0,0,j);default:return""}}function fl(F,R,j){try{var W="",le=R;do W+=Gf(F,le,j),le=le.return;while(le);return W}catch(ie){return` +Error generating stack: `+ie.message+` +`+ie.stack}}function Iu(F,R){var j;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(j=function(pe,Oe){if(!!pe){if(typeof pe=="string")return Pu(pe,Oe);var We=Object.prototype.toString.call(pe).slice(8,-1);if(We==="Object"&&pe.constructor&&(We=pe.constructor.name),We==="Map"||We==="Set")return Array.from(pe);if(We==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(We))return Pu(pe,Oe)}}(F))||R&&F&&typeof F.length=="number"){j&&(F=j);var W=0,le=function(){};return{s:le,n:function(){return W>=F.length?{done:!0}:{done:!1,value:F[W++]}},e:function(pe){throw pe},f:le}}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 ie,ce=!0,z=!1;return{s:function(){j=F[Symbol.iterator]()},n:function(){var pe=j.next();return ce=pe.done,pe},e:function(pe){z=!0,ie=pe},f:function(){try{ce||j.return==null||j.return()}finally{if(z)throw ie}}}}function Pu(F,R){(R==null||R>F.length)&&(R=F.length);for(var j=0,W=new Array(R);j0?Oe[Oe.length-1]:null,Ee=K!==null&&(Ji.test(K)||xs.test(K));if(!Ee){var Le,Ke=Iu(cl.values());try{for(Ke.s();!(Le=Ke.n()).done;){var rt=Le.value,ut=rt.currentDispatcherRef,Ct=rt.getCurrentFiber,_t=rt.workTagMap,st=Ct();if(st!=null){var It=fl(_t,st,ut);It!==""&&Oe.push(It);break}}}catch(pn){Ke.e(pn)}finally{Ke.f()}}}catch(pn){}ie.apply(void 0,Oe)};ce.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ie,Mu[le]=ce}catch(z){}})}}function x0(F){return(x0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function al(F,R){for(var j=0;jF.length)&&(R=F.length);for(var j=0,W=new Array(R);j1?z-1:0),Oe=1;Oe0?K[K.length-1]:0),K.push(Dt),z.set(Fe,Oe(lt._topLevelWrapper));try{var $t=be.apply(this,Xe);return K.pop(),$t}catch(Bn){throw K=[],Bn}finally{if(K.length===0){var _n=z.get(Fe);if(_n===void 0)throw new Error("Expected to find root ID.");pn(_n)}}},performUpdateIfNecessary:function(be,Xe){var Fe=Xe[0];if(A0(Fe)===9)return be.apply(this,Xe);var lt=Oe(Fe);K.push(lt);var Dt=nn(Fe);try{var $t=be.apply(this,Xe),_n=nn(Fe);return We(Dt,_n)||Ke(Fe,lt,_n),K.pop(),$t}catch(d0){throw K=[],d0}finally{if(K.length===0){var Bn=z.get(Fe);if(Bn===void 0)throw new Error("Expected to find root ID.");pn(Bn)}}},receiveComponent:function(be,Xe){var Fe=Xe[0];if(A0(Fe)===9)return be.apply(this,Xe);var lt=Oe(Fe);K.push(lt);var Dt=nn(Fe);try{var $t=be.apply(this,Xe),_n=nn(Fe);return We(Dt,_n)||Ke(Fe,lt,_n),K.pop(),$t}catch(d0){throw K=[],d0}finally{if(K.length===0){var Bn=z.get(Fe);if(Bn===void 0)throw new Error("Expected to find root ID.");pn(Bn)}}},unmountComponent:function(be,Xe){var Fe=Xe[0];if(A0(Fe)===9)return be.apply(this,Xe);var lt=Oe(Fe);K.push(lt);try{var Dt=be.apply(this,Xe);return K.pop(),function(_n,Bn){_t.push(Bn),ie.delete(Bn)}(0,lt),Dt}catch(_n){throw K=[],_n}finally{if(K.length===0){var $t=z.get(Fe);if($t===void 0)throw new Error("Expected to find root ID.");pn($t)}}}}));var ut=[],Ct=new Map,_t=[],st=0,It=null;function pn(be){if(ut.length!==0||_t.length!==0||It!==null){var Xe=_t.length+(It===null?0:1),Fe=new Array(3+st+(Xe>0?2+Xe:0)+ut.length),lt=0;if(Fe[lt++]=R,Fe[lt++]=be,Fe[lt++]=st,Ct.forEach(function(_n,Bn){Fe[lt++]=Bn.length;for(var d0=_s(Bn),p0=0;p00){Fe[lt++]=2,Fe[lt++]=Xe;for(var Dt=0;Dt<_t.length;Dt++)Fe[lt++]=_t[Dt];It!==null&&(Fe[lt]=It,lt++)}for(var $t=0;$t"),"color: var(--dom-tag-name-color); font-weight: normal;"),Xe.props!==null&&console.log("Props:",Xe.props),Xe.state!==null&&console.log("State:",Xe.state),Xe.context!==null&&console.log("Context:",Xe.context);var lt=le(be);lt!==null&&console.log("Node:",lt),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Fe&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(be,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(be,Xe,Fe,lt,Dt){var $t=ie.get(Xe);if($t!=null){var _n=$t._instance;if(_n!=null)switch(be){case"context":il(_n.context,lt,Dt),c0(_n);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var Bn=$t._currentElement;$t._currentElement=b0(b0({},Bn),{},{props:ni(Bn.props,lt,Dt)}),c0(_n);break;case"state":il(_n.state,lt,Dt),c0(_n)}}},renamePath:function(be,Xe,Fe,lt,Dt){var $t=ie.get(Xe);if($t!=null){var _n=$t._instance;if(_n!=null)switch(be){case"context":rl(_n.context,lt,Dt),c0(_n);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var Bn=$t._currentElement;$t._currentElement=b0(b0({},Bn),{},{props:kr(Bn.props,lt,Dt)}),c0(_n);break;case"state":rl(_n.state,lt,Dt),c0(_n)}}},prepareViewAttributeSource:function(be,Xe){var Fe=gr(be);Fe!==null&&(window.$attribute=yi(Fe,Xe))},prepareViewElementSource:function(be){var Xe=ie.get(be);if(Xe!=null){var Fe=Xe._currentElement;Fe!=null?W.$type=Fe.type:console.warn('Could not find element with id "'.concat(be,'"'))}else console.warn('Could not find instance with id "'.concat(be,'"'))},renderer:j,setTraceUpdatesEnabled:function(be){},setTrackedPath:function(be){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(be,Xe,Fe){var lt=gr(be);if(lt!==null){var Dt=yi(lt,Xe),$t="$reactTemp".concat(Fe);window[$t]=Dt,console.log($t),console.log(Dt)}},updateComponentFilters:function(be){}}}function Kn(F,R){var j=!1,W={bottom:0,left:0,right:0,top:0},le=R[F];if(le!=null){for(var ie=0,ce=Object.keys(W);ie0?"development":"production";var ut=Function.prototype.toString;if(rt.Mount&&rt.Mount._renderNewRootComponent){var Ct=ut.call(rt.Mount._renderNewRootComponent);return Ct.indexOf("function")!==0?"production":Ct.indexOf("storedMeasure")!==-1?"development":Ct.indexOf("should be a pure function")!==-1?Ct.indexOf("NODE_ENV")!==-1||Ct.indexOf("development")!==-1||Ct.indexOf("true")!==-1?"development":Ct.indexOf("nextElement")!==-1||Ct.indexOf("nextComponent")!==-1?"unminified":"development":Ct.indexOf("nextElement")!==-1||Ct.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(_t){}return"production"}(pe);try{var K=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,Ee=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(K||Ee)&&(Li(pe),No({appendComponentStack:K,breakOnConsoleErrors:Ee}))}catch(rt){}var Le=F.__REACT_DEVTOOLS_ATTACH__;if(typeof Le=="function"){var Ke=Le(z,Oe,pe,F);z.rendererInterfaces.set(Oe,Ke)}return z.emit("renderer",{id:Oe,renderer:pe,reactBuildType:We}),Oe},on:function(pe,Oe){ie[pe]||(ie[pe]=[]),ie[pe].push(Oe)},off:function(pe,Oe){if(ie[pe]){var We=ie[pe].indexOf(Oe);We!==-1&&ie[pe].splice(We,1),ie[pe].length||delete ie[pe]}},sub:function(pe,Oe){return z.on(pe,Oe),function(){return z.off(pe,Oe)}},supportsFiber:!0,checkDCE:function(pe){try{Function.prototype.toString.call(pe).indexOf("^_^")>-1&&(j=!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(Oe){}},onCommitFiberUnmount:function(pe,Oe){var We=le.get(pe);We!=null&&We.handleCommitFiberUnmount(Oe)},onCommitFiberRoot:function(pe,Oe,We){var K=z.getFiberRoots(pe),Ee=Oe.current,Le=K.has(Oe),Ke=Ee.memoizedState==null||Ee.memoizedState.element==null;Le||Ke?Le&&Ke&&K.delete(Oe):K.add(Oe);var rt=le.get(pe);rt!=null&&rt.handleCommitFiberRoot(Oe,We)}};Object.defineProperty(F,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return z}})})(window);var O0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,iu=[{type:1,value:7,isEnabled:!0}];function Ar(F){if(O0!=null){var R=F||{},j=R.host,W=j===void 0?"localhost":j,le=R.nativeStyleEditorValidAttributes,ie=R.useHttps,ce=ie!==void 0&&ie,z=R.port,pe=z===void 0?8097:z,Oe=R.websocket,We=R.resolveRNStyle,K=We===void 0?null:We,Ee=R.isAppActive,Le=ce?"wss":"ws",Ke=null;if((Ee===void 0?function(){return!0}:Ee)()){var rt=null,ut=[],Ct=Le+"://"+W+":"+pe,_t=Oe||new window.WebSocket(Ct);_t.onclose=function(){rt!==null&&rt.emit("shutdown"),st()},_t.onerror=function(){st()},_t.onmessage=function(It){var pn;try{if(typeof It.data!="string")throw Error();pn=JSON.parse(It.data)}catch(tn){return void console.error("[React DevTools] Failed to parse JSON: "+It.data)}ut.forEach(function(tn){try{tn(pn)}catch(rr){throw console.log("[React DevTools] Error calling listener",pn),console.log("error:",rr),rr}})},_t.onopen=function(){(rt=new vo({listen:function(Zt){return ut.push(Zt),function(){var Nn=ut.indexOf(Zt);Nn>=0&&ut.splice(Nn,1)}},send:function(Zt,Nn,a0){_t.readyState===_t.OPEN?_t.send(JSON.stringify({event:Zt,payload:Nn})):(rt!==null&&rt.shutdown(),st())}})).addListener("inspectElement",function(Zt){var Nn=Zt.id,a0=Zt.rendererID,gr=It.rendererInterfaces[a0];if(gr!=null){var be=gr.findNativeNodesForFiberID(Nn);be!=null&&be[0]!=null&&It.emit("showNativeHighlight",be[0])}}),rt.addListener("updateComponentFilters",function(Zt){iu=Zt}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&rt.send("overrideComponentFilters",iu);var It=new k0(rt);if(It.addListener("shutdown",function(){O0.emit("shutdown")}),function(Zt,Nn,a0){if(Zt==null)return function(){};var gr=[Zt.sub("renderer-attached",function(Fe){var lt=Fe.id,Dt=(Fe.renderer,Fe.rendererInterface);Nn.setRendererInterface(lt,Dt),Dt.flushInitialOperations()}),Zt.sub("unsupported-renderer-version",function(Fe){Nn.onUnsupportedRenderer(Fe)}),Zt.sub("operations",Nn.onHookOperations),Zt.sub("traceUpdates",Nn.onTraceUpdates)],be=function(Fe,lt){var Dt=Zt.rendererInterfaces.get(Fe);Dt==null&&(typeof lt.findFiberByHostInstance=="function"?Dt=tf(Zt,Fe,lt,a0):lt.ComponentTree&&(Dt=rf(Zt,Fe,lt,a0)),Dt!=null&&Zt.rendererInterfaces.set(Fe,Dt)),Dt!=null?Zt.emit("renderer-attached",{id:Fe,renderer:lt,rendererInterface:Dt}):Zt.emit("unsupported-renderer-version",Fe)};Zt.renderers.forEach(function(Fe,lt){be(lt,Fe)}),gr.push(Zt.sub("renderer",function(Fe){var lt=Fe.id,Dt=Fe.renderer;be(lt,Dt)})),Zt.emit("react-devtools",Nn),Zt.reactDevtoolsAgent=Nn;var Xe=function(){gr.forEach(function(Fe){return Fe()}),Zt.rendererInterfaces.forEach(function(Fe){Fe.cleanup()}),Zt.reactDevtoolsAgent=null};Nn.addListener("shutdown",Xe),gr.push(function(){Nn.removeListener("shutdown",Xe)})}(O0,It,window),K!=null||O0.resolveRNStyle!=null)ju(rt,It,K||O0.resolveRNStyle,le||O0.nativeStyleEditorValidAttributes||null);else{var pn,tn,rr=function(){rt!==null&&ju(rt,It,pn,tn)};O0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(O0,"resolveRNStyle",{enumerable:!1,get:function(){return pn},set:function(Zt){pn=Zt,rr()}}),O0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(O0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return tn},set:function(Zt){tn=Zt,rr()}})}}}else st()}function st(){Ke===null&&(Ke=setTimeout(function(){return Ar(F)},2e3))}}}])})});var px=Z(dx=>{"use strict";Object.defineProperty(dx,"__esModule",{value:!0});cx();var OX=ax();OX.connectToDevTools()});var _x=Z(W2=>{"use strict";var hx=W2&&W2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(W2,"__esModule",{value:!0});var vx=nw(),IX=hx(_5()),mx=hx(vc()),Xi=Cw();process.env.DEV==="true"&&px();var gx=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};W2.default=IX.default({schedulePassiveEffects:vx.unstable_scheduleCallback,cancelPassiveEffects:vx.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,u)=>{let f=i.isInsideText,a=u==="ink-text"||u==="ink-virtual-text";return f===a?i:{isInsideText:a}},shouldSetTextContent:()=>!1,createInstance:(i,u,f,a)=>{if(a.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let g=i==="ink-text"&&a.isInsideText?"ink-virtual-text":i,t=Xi.createNode(g);for(let[x,A]of Object.entries(u))x!=="children"&&(x==="style"?Xi.setStyle(t,A):x==="internal_transform"?t.internal_transform=A:x==="internal_static"?t.internal_static=!0:Xi.setAttribute(t,x,A));return t},createTextInstance:(i,u,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return Xi.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{Xi.setTextNodeValue(i,"")},unhideTextInstance:(i,u)=>{Xi.setTextNodeValue(i,u)},getPublicInstance:i=>i,hideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(mx.default.DISPLAY_NONE)},unhideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(mx.default.DISPLAY_FLEX)},appendInitialChild:Xi.appendChildNode,appendChild:Xi.appendChildNode,insertBefore:Xi.insertBeforeNode,finalizeInitialChildren:(i,u,f,a)=>(i.internal_static&&(a.isStaticDirty=!0,a.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:Xi.appendChildNode,insertInContainerBefore:Xi.insertBeforeNode,removeChildFromContainer:(i,u)=>{Xi.removeChildNode(i,u),gx(u.yogaNode)},prepareUpdate:(i,u,f,a,g)=>{i.internal_static&&(g.isStaticDirty=!0);let t={},x=Object.keys(a);for(let A of x)if(a[A]!==f[A]){if(A==="style"&&typeof a.style=="object"&&typeof f.style=="object"){let D=a.style,L=f.style,B=Object.keys(D);for(let b of B){if(b==="borderStyle"||b==="borderColor"){if(typeof t.style!="object"){let $={};t.style=$}t.style.borderStyle=D.borderStyle,t.style.borderColor=D.borderColor}if(D[b]!==L[b]){if(typeof t.style!="object"){let $={};t.style=$}t.style[b]=D[b]}}continue}t[A]=a[A]}return t},commitUpdate:(i,u)=>{for(let[f,a]of Object.entries(u))f!=="children"&&(f==="style"?Xi.setStyle(i,a):f==="internal_transform"?i.internal_transform=a:f==="internal_static"?i.internal_static=!0:Xi.setAttribute(i,f,a))},commitTextUpdate:(i,u,f)=>{Xi.setTextNodeValue(i,f)},removeChild:(i,u)=>{Xi.removeChildNode(i,u),gx(u.yogaNode)}})});var wx=Z((Kne,yx)=>{"use strict";yx.exports=(i,u=1,f)=>{if(f=t0({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof u!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof u}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(u===0)return i;let a=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(a,f.indent.repeat(u))}});var Dx=Z(H2=>{"use strict";var PX=H2&&H2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(H2,"__esModule",{value:!0});var fv=PX(vc());H2.default=i=>i.getComputedWidth()-i.getComputedPadding(fv.default.EDGE_LEFT)-i.getComputedPadding(fv.default.EDGE_RIGHT)-i.getComputedBorder(fv.default.EDGE_LEFT)-i.getComputedBorder(fv.default.EDGE_RIGHT)});var Sx=Z((Jne,Ex)=>{Ex.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 Tx=Z((Qne,Ww)=>{"use strict";var Cx=Sx();Ww.exports=Cx;Ww.exports.default=Cx});var kx=Z((Zne,xx)=>{"use strict";xx.exports=(i,u=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",a=u.indexOf(f+i),g=u.indexOf("--");return a!==-1&&(g===-1||a{"use strict";var MX=require("os"),Ox=require("tty"),Cu=kx(),{env:ei}=process,bf;Cu("no-color")||Cu("no-colors")||Cu("color=false")||Cu("color=never")?bf=0:(Cu("color")||Cu("colors")||Cu("color=true")||Cu("color=always"))&&(bf=1);"FORCE_COLOR"in ei&&(ei.FORCE_COLOR==="true"?bf=1:ei.FORCE_COLOR==="false"?bf=0:bf=ei.FORCE_COLOR.length===0?1:Math.min(parseInt(ei.FORCE_COLOR,10),3));function Hw(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function Gw(i,u){if(bf===0)return 0;if(Cu("color=16m")||Cu("color=full")||Cu("color=truecolor"))return 3;if(Cu("color=256"))return 2;if(i&&!u&&bf===void 0)return 0;let f=bf||0;if(ei.TERM==="dumb")return f;if(process.platform==="win32"){let a=MX.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in ei)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(a=>a in ei)||ei.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in ei)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ei.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ei)return 1;if(ei.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ei){let a=parseInt((ei.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ei.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ei.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ei.TERM)||"COLORTERM"in ei?1:f}function FX(i){let u=Gw(i,i&&i.isTTY);return Hw(u)}Ax.exports={supportsColor:FX,stdout:Hw(Gw(!0,Ox.isatty(1))),stderr:Hw(Gw(!0,Ox.isatty(2)))}});var Mx=Z((tre,Px)=>{"use strict";var RX=(i,u,f)=>{let a=i.indexOf(u);if(a===-1)return i;let g=u.length,t=0,x="";do x+=i.substr(t,a-t)+u+f,t=a+g,a=i.indexOf(u,t);while(a!==-1);return x+=i.substr(t),x},LX=(i,u,f,a)=>{let g=0,t="";do{let x=i[a-1]==="\r";t+=i.substr(g,(x?a-1:a)-g)+u+(x?`\r +`:` +`)+f,g=a+1,a=i.indexOf(` +`,g)}while(a!==-1);return t+=i.substr(g),t};Px.exports={stringReplaceAll:RX,stringEncaseCRLFWithFirstIndex:LX}});var Bx=Z((nre,Fx)=>{"use strict";var NX=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Rx=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,BX=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,jX=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,UX=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function Lx(i){let u=i[0]==="u",f=i[1]==="{";return u&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):u&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):UX.get(i)||i}function qX(i,u){let f=[],a=u.trim().split(/\s*,\s*/g),g;for(let t of a){let x=Number(t);if(!Number.isNaN(x))f.push(x);else if(g=t.match(BX))f.push(g[2].replace(jX,(A,k,D)=>k?Lx(k):D));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function bX(i){Rx.lastIndex=0;let u=[],f;for(;(f=Rx.exec(i))!==null;){let a=f[1];if(f[2]){let g=qX(a,f[2]);u.push([a].concat(g))}else u.push([a])}return u}function Nx(i,u){let f={};for(let g of u)for(let t of g.styles)f[t[0]]=g.inverse?null:t.slice(1);let a=i;for(let[g,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(g in a))throw new Error(`Unknown Chalk style: ${g}`);a=t.length>0?a[g](...t):a[g]}return a}Fx.exports=(i,u)=>{let f=[],a=[],g=[];if(u.replace(NX,(t,x,A,k,D,L)=>{if(x)g.push(Lx(x));else if(k){let B=g.join("");g=[],a.push(f.length===0?B:Nx(i,f)(B)),f.push({inverse:A,styles:bX(k)})}else if(D){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");a.push(Nx(i,f)(g.join(""))),g=[],f.pop()}else g.push(L)}),a.push(g.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return a.join("")}});var Xw=Z((rre,jx)=>{"use strict";var G2=Qh(),{stdout:Vw,stderr:Yw}=Ix(),{stringReplaceAll:zX,stringEncaseCRLFWithFirstIndex:WX}=Mx(),{isArray:cv}=Array,Ux=["ansi","ansi","ansi256","ansi16m"],Ba=Object.create(null),HX=(i,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=Vw?Vw.level:0;i.level=u.level===void 0?f:u.level},qx=class{constructor(u){return bx(u)}},bx=i=>{let u={};return HX(u,i),u.template=(...f)=>zx(u.template,...f),Object.setPrototypeOf(u,av.prototype),Object.setPrototypeOf(u.template,u),u.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},u.template.Instance=qx,u.template};function av(i){return bx(i)}for(let[i,u]of Object.entries(G2))Ba[i]={get(){let f=dv(this,$w(u.open,u.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};Ba.visible={get(){let i=dv(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var Wx=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of Wx)Ba[i]={get(){let{level:u}=this;return function(...f){let a=$w(G2.color[Ux[u]][i](...f),G2.color.close,this._styler);return dv(this,a,this._isEmpty)}}};for(let i of Wx){let u="bg"+i[0].toUpperCase()+i.slice(1);Ba[u]={get(){let{level:f}=this;return function(...a){let g=$w(G2.bgColor[Ux[f]][i](...a),G2.bgColor.close,this._styler);return dv(this,g,this._isEmpty)}}}}var GX=Object.defineProperties(()=>{},is(t0({},Ba),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),$w=(i,u,f)=>{let a,g;return f===void 0?(a=i,g=u):(a=f.openAll+i,g=u+f.closeAll),{open:i,close:u,openAll:a,closeAll:g,parent:f}},dv=(i,u,f)=>{let a=(...g)=>cv(g[0])&&cv(g[0].raw)?Hx(a,zx(a,...g)):Hx(a,g.length===1?""+g[0]:g.join(" "));return Object.setPrototypeOf(a,GX),a._generator=i,a._styler=u,a._isEmpty=f,a},Hx=(i,u)=>{if(i.level<=0||!u)return i._isEmpty?"":u;let f=i._styler;if(f===void 0)return u;let{openAll:a,closeAll:g}=f;if(u.indexOf("")!==-1)for(;f!==void 0;)u=zX(u,f.close,f.open),f=f.parent;let t=u.indexOf(` +`);return t!==-1&&(u=WX(u,g,a,t)),a+u+g},Kw,zx=(i,...u)=>{let[f]=u;if(!cv(f)||!cv(f.raw))return u.join(" ");let a=u.slice(1),g=[f.raw[0]];for(let t=1;t{"use strict";var VX=V2&&V2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(V2,"__esModule",{value:!0});var Y2=VX(Xw()),YX=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,$X=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,hv=(i,u)=>u==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);V2.default=(i,u,f)=>{if(!u)return i;if(u in Y2.default){let g=hv(u,f);return Y2.default[g](i)}if(u.startsWith("#")){let g=hv("hex",f);return Y2.default[g](u)(i)}if(u.startsWith("ansi")){let g=$X.exec(u);if(!g)return i;let t=hv(g[1],f),x=Number(g[2]);return Y2.default[t](x)(i)}if(u.startsWith("rgb")||u.startsWith("hsl")||u.startsWith("hsv")||u.startsWith("hwb")){let g=YX.exec(u);if(!g)return i;let t=hv(g[1],f),x=Number(g[2]),A=Number(g[3]),k=Number(g[4]);return Y2.default[t](x,A,k)(i)}return i}});var Vx=Z($2=>{"use strict";var Gx=$2&&$2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($2,"__esModule",{value:!0});var KX=Gx(Tx()),Qw=Gx(Jw());$2.default=(i,u,f,a)=>{if(typeof f.style.borderStyle=="string"){let g=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),x=f.style.borderColor,A=KX.default[f.style.borderStyle],k=Qw.default(A.topLeft+A.horizontal.repeat(g-2)+A.topRight,x,"foreground"),D=(Qw.default(A.vertical,x,"foreground")+` +`).repeat(t-2),L=Qw.default(A.bottomLeft+A.horizontal.repeat(g-2)+A.bottomRight,x,"foreground");a.write(i,u,k,{transformers:[]}),a.write(i,u+1,D,{transformers:[]}),a.write(i+g-1,u+1,D,{transformers:[]}),a.write(i,u+t-1,L,{transformers:[]})}}});var $x=Z(K2=>{"use strict";var yc=K2&&K2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(K2,"__esModule",{value:!0});var XX=yc(vc()),JX=yc(dw()),QX=yc(wx()),ZX=yc(Dw()),eJ=yc(Dx()),tJ=yc(Sw()),nJ=yc(Vx()),rJ=(i,u)=>{var f;let a=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(a){let g=a.getComputedLeft(),t=a.getComputedTop();u=` +`.repeat(t)+QX.default(u,g)}return u},Yx=(i,u,f)=>{var a;let{offsetX:g=0,offsetY:t=0,transformers:x=[],skipStaticElements:A}=f;if(A&&i.internal_static)return;let{yogaNode:k}=i;if(k){if(k.getDisplay()===XX.default.DISPLAY_NONE)return;let D=g+k.getComputedLeft(),L=t+k.getComputedTop(),B=x;if(typeof i.internal_transform=="function"&&(B=[i.internal_transform,...x]),i.nodeName==="ink-text"){let b=tJ.default(i);if(b.length>0){let $=JX.default(b),v=eJ.default(k);if($>v){let ve=(a=i.style.textWrap)!==null&&a!==void 0?a:"wrap";b=ZX.default(b,v,ve)}b=rJ(i,b),u.write(D,L,b,{transformers:B})}return}if(i.nodeName==="ink-box"&&nJ.default(D,L,i,u),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let b of i.childNodes)Yx(b,u,{offsetX:D,offsetY:L,transformers:B,skipStaticElements:A})}};K2.default=Yx});var Xx=Z((sre,Kx)=>{"use strict";Kx.exports=i=>{i=Object.assign({onlyFirst:!1},i);let u=["[\\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(u,i.onlyFirst?void 0:"g")}});var Qx=Z((lre,Zw)=>{"use strict";var iJ=Xx(),Jx=i=>typeof i=="string"?i.replace(iJ(),""):i;Zw.exports=Jx;Zw.exports.default=Jx});var t7=Z((fre,Zx)=>{"use strict";var e7="[\uD800-\uDBFF][\uDC00-\uDFFF]";Zx.exports=i=>i&&i.exact?new RegExp(`^${e7}$`):new RegExp(e7,"g")});var r7=Z((cre,e3)=>{"use strict";var oJ=Qx(),uJ=t7(),n7=i=>oJ(i).replace(uJ()," ").length;e3.exports=n7;e3.exports.default=n7});var s7=Z(X2=>{"use strict";var i7=X2&&X2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(X2,"__esModule",{value:!0});var o7=i7(yw()),sJ=i7(r7()),u7=class{constructor(u){this.writes=[];let{width:f,height:a}=u;this.width=f,this.height=a}write(u,f,a,g){let{transformers:t}=g;!a||this.writes.push({x:u,y:f,text:a,transformers:t})}get(){let u=[];for(let a=0;aa.trimRight()).join(` +`),height:u.length}}};X2.default=u7});var c7=Z(J2=>{"use strict";var t3=J2&&J2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(J2,"__esModule",{value:!0});var lJ=t3(vc()),l7=t3($x()),f7=t3(s7());J2.default=(i,u)=>{var f;if(i.yogaNode.setWidth(u),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,lJ.default.DIRECTION_LTR);let a=new f7.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});l7.default(i,a,{skipStaticElements:!0});let g;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(g=new f7.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),l7.default(i.staticNode,g,{skipStaticElements:!1}));let{output:t,height:x}=a.get();return{output:t,outputHeight:x,staticOutput:g?`${g.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var h7=Z((pre,a7)=>{"use strict";var d7=require("stream"),p7=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],n3={},fJ=i=>{let u=new d7.PassThrough,f=new d7.PassThrough;u.write=g=>i("stdout",g),f.write=g=>i("stderr",g);let a=new console.Console(u,f);for(let g of p7)n3[g]=console[g],console[g]=a[g];return()=>{for(let g of p7)console[g]=n3[g];n3={}}};a7.exports=fJ});var i3=Z(r3=>{"use strict";Object.defineProperty(r3,"__esModule",{value:!0});r3.default=new WeakMap});var u3=Z(o3=>{"use strict";Object.defineProperty(o3,"__esModule",{value:!0});var cJ=Cr(),v7=cJ.createContext({exit:()=>{}});v7.displayName="InternalAppContext";o3.default=v7});var l3=Z(s3=>{"use strict";Object.defineProperty(s3,"__esModule",{value:!0});var aJ=Cr(),m7=aJ.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});m7.displayName="InternalStdinContext";s3.default=m7});var c3=Z(f3=>{"use strict";Object.defineProperty(f3,"__esModule",{value:!0});var dJ=Cr(),g7=dJ.createContext({stdout:void 0,write:()=>{}});g7.displayName="InternalStdoutContext";f3.default=g7});var d3=Z(a3=>{"use strict";Object.defineProperty(a3,"__esModule",{value:!0});var pJ=Cr(),_7=pJ.createContext({stderr:void 0,write:()=>{}});_7.displayName="InternalStderrContext";a3.default=_7});var vv=Z(p3=>{"use strict";Object.defineProperty(p3,"__esModule",{value:!0});var hJ=Cr(),y7=hJ.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});y7.displayName="InternalFocusContext";p3.default=y7});var D7=Z((wre,w7)=>{"use strict";var vJ=/[|\\{}()[\]^$+*?.-]/g;w7.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(vJ,"\\$&")}});var T7=Z((Dre,E7)=>{"use strict";var mJ=D7(),S7=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));S7.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var mv=class{constructor(u){u=t0({ignoredPackages:[]},u),"internals"in u||(u.internals=mv.nodeInternals()),"cwd"in u||(u.cwd=process.cwd()),this._cwd=u.cwd.replace(/\\/g,"/"),this._internals=[].concat(u.internals,gJ(u.ignoredPackages)),this._wrapCallSite=u.wrapCallSite||!1}static nodeInternals(){return[...S7]}clean(u,f=0){f=" ".repeat(f),Array.isArray(u)||(u=u.split(` +`)),!/^\s*at /.test(u[0])&&/^\s*at /.test(u[1])&&(u=u.slice(1));let a=!1,g=null,t=[];return u.forEach(x=>{if(x=x.replace(/\\/g,"/"),this._internals.some(k=>k.test(x)))return;let A=/^\s*at /.test(x);a?x=x.trimEnd().replace(/^(\s+)at /,"$1"):(x=x.trim(),A&&(x=x.slice(3))),x=x.replace(`${this._cwd}/`,""),x&&(A?(g&&(t.push(g),g=null),t.push(x)):(a=!0,g=x))}),t.map(x=>`${f}${x} +`).join("")}captureString(u,f=this.captureString){typeof u=="function"&&(f=u,u=Infinity);let{stackTraceLimit:a}=Error;u&&(Error.stackTraceLimit=u);let g={};Error.captureStackTrace(g,f);let{stack:t}=g;return Error.stackTraceLimit=a,this.clean(t)}capture(u,f=this.capture){typeof u=="function"&&(f=u,u=Infinity);let{prepareStackTrace:a,stackTraceLimit:g}=Error;Error.prepareStackTrace=(A,k)=>this._wrapCallSite?k.map(this._wrapCallSite):k,u&&(Error.stackTraceLimit=u);let t={};Error.captureStackTrace(t,f);let{stack:x}=t;return Object.assign(Error,{prepareStackTrace:a,stackTraceLimit:g}),x}at(u=this.at){let[f]=this.capture(1,u);if(!f)return{};let a={line:f.getLineNumber(),column:f.getColumnNumber()};C7(a,f.getFileName(),this._cwd),f.isConstructor()&&(a.constructor=!0),f.isEval()&&(a.evalOrigin=f.getEvalOrigin()),f.isNative()&&(a.native=!0);let g;try{g=f.getTypeName()}catch(A){}g&&g!=="Object"&&g!=="[object Object]"&&(a.type=g);let t=f.getFunctionName();t&&(a.function=t);let x=f.getMethodName();return x&&t!==x&&(a.method=x),a}parseLine(u){let f=u&&u.match(_J);if(!f)return null;let a=f[1]==="new",g=f[2],t=f[3],x=f[4],A=Number(f[5]),k=Number(f[6]),D=f[7],L=f[8],B=f[9],b=f[10]==="native",$=f[11]===")",v,ve={};if(L&&(ve.line=Number(L)),B&&(ve.column=Number(B)),$&&D){let he=0;for(let ue=D.length-1;ue>0;ue--)if(D.charAt(ue)===")")he++;else if(D.charAt(ue)==="("&&D.charAt(ue-1)===" "&&(he--,he===-1&&D.charAt(ue-1)===" ")){let Se=D.slice(0,ue-1);D=D.slice(ue+1),g+=` (${Se}`;break}}if(g){let he=g.match(yJ);he&&(g=he[1],v=he[2])}return C7(ve,D,this._cwd),a&&(ve.constructor=!0),t&&(ve.evalOrigin=t,ve.evalLine=A,ve.evalColumn=k,ve.evalFile=x&&x.replace(/\\/g,"/")),b&&(ve.native=!0),g&&(ve.function=g),v&&g!==v&&(ve.method=v),ve}};function C7(i,u,f){u&&(u=u.replace(/\\/g,"/"),u.startsWith(`${f}/`)&&(u=u.slice(f.length+1)),i.file=u)}function gJ(i){if(i.length===0)return[];let u=i.map(f=>mJ(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${u.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var _J=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),yJ=/^(.*?) \[as (.*?)\]$/;E7.exports=mv});var k7=Z((Ere,x7)=>{"use strict";x7.exports=(i,u)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(u||2)))});var O7=Z((Sre,A7)=>{"use strict";var wJ=k7(),DJ=(i,u)=>{let f=[],a=i-u,g=i+u;for(let t=a;t<=g;t++)f.push(t);return f};A7.exports=(i,u,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!u||u<1)throw new TypeError("Line number must start from `1`.");if(i=wJ(i).split(/\r?\n/),!(u>i.length))return f=t0({around:3},f),DJ(u,f.around).filter(a=>i[a-1]!==void 0).map(a=>({line:a,value:i[a-1]}))}});var gv=Z(fs=>{"use strict";var EJ=fs&&fs.__createBinding||(Object.create?function(i,u,f,a){a===void 0&&(a=f),Object.defineProperty(i,a,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,a){a===void 0&&(a=f),i[a]=u[f]}),SJ=fs&&fs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),CJ=fs&&fs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&EJ(u,i,f);return SJ(u,i),u},TJ=fs&&fs.__rest||function(i,u){var f={};for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&u.indexOf(a)<0&&(f[a]=i[a]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,a=Object.getOwnPropertySymbols(i);g{var{children:f}=i,a=TJ(i,["children"]);let g=Object.assign(Object.assign({},a),{marginLeft:a.marginLeft||a.marginX||a.margin||0,marginRight:a.marginRight||a.marginX||a.margin||0,marginTop:a.marginTop||a.marginY||a.margin||0,marginBottom:a.marginBottom||a.marginY||a.margin||0,paddingLeft:a.paddingLeft||a.paddingX||a.padding||0,paddingRight:a.paddingRight||a.paddingX||a.padding||0,paddingTop:a.paddingTop||a.paddingY||a.padding||0,paddingBottom:a.paddingBottom||a.paddingY||a.padding||0});return I7.default.createElement("ink-box",{ref:u,style:g},f)});h3.displayName="Box";h3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};fs.default=h3});var g3=Z(Q2=>{"use strict";var v3=Q2&&Q2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Q2,"__esModule",{value:!0});var xJ=v3(Cr()),ja=v3(Xw()),P7=v3(Jw()),m3=({color:i,backgroundColor:u,dimColor:f,bold:a,italic:g,underline:t,strikethrough:x,inverse:A,wrap:k,children:D})=>{if(D==null)return null;let L=B=>(f&&(B=ja.default.dim(B)),i&&(B=P7.default(B,i,"foreground")),u&&(B=P7.default(B,u,"background")),a&&(B=ja.default.bold(B)),g&&(B=ja.default.italic(B)),t&&(B=ja.default.underline(B)),x&&(B=ja.default.strikethrough(B)),A&&(B=ja.default.inverse(B)),B);return xJ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:k},internal_transform:L},D)};m3.displayName="Text";m3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};Q2.default=m3});var L7=Z(cs=>{"use strict";var kJ=cs&&cs.__createBinding||(Object.create?function(i,u,f,a){a===void 0&&(a=f),Object.defineProperty(i,a,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,a){a===void 0&&(a=f),i[a]=u[f]}),AJ=cs&&cs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),OJ=cs&&cs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&kJ(u,i,f);return AJ(u,i),u},Z2=cs&&cs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(cs,"__esModule",{value:!0});var M7=OJ(require("fs")),ti=Z2(Cr()),F7=Z2(T7()),IJ=Z2(O7()),Jl=Z2(gv()),Qs=Z2(g3()),R7=new F7.default({cwd:process.cwd(),internals:F7.default.nodeInternals()}),PJ=({error:i})=>{let u=i.stack?i.stack.split(` +`).slice(1):void 0,f=u?R7.parseLine(u[0]):void 0,a,g=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&M7.existsSync(f.file)){let t=M7.readFileSync(f.file,"utf8");if(a=IJ.default(t,f.line),a)for(let{line:x}of a)g=Math.max(g,String(x).length)}return ti.default.createElement(Jl.default,{flexDirection:"column",padding:1},ti.default.createElement(Jl.default,null,ti.default.createElement(Qs.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ti.default.createElement(Qs.default,null," ",i.message)),f&&ti.default.createElement(Jl.default,{marginTop:1},ti.default.createElement(Qs.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&a&&ti.default.createElement(Jl.default,{marginTop:1,flexDirection:"column"},a.map(({line:t,value:x})=>ti.default.createElement(Jl.default,{key:t},ti.default.createElement(Jl.default,{width:g+1},ti.default.createElement(Qs.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(g," "),":")),ti.default.createElement(Qs.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+x)))),i.stack&&ti.default.createElement(Jl.default,{marginTop:1,flexDirection:"column"},i.stack.split(` +`).slice(1).map(t=>{let x=R7.parseLine(t);return x?ti.default.createElement(Jl.default,{key:t},ti.default.createElement(Qs.default,{dimColor:!0},"- "),ti.default.createElement(Qs.default,{dimColor:!0,bold:!0},x.function),ti.default.createElement(Qs.default,{dimColor:!0,color:"gray"}," ","(",x.file,":",x.line,":",x.column,")")):ti.default.createElement(Jl.default,{key:t},ti.default.createElement(Qs.default,{dimColor:!0},"- "),ti.default.createElement(Qs.default,{dimColor:!0,bold:!0},t))})))};cs.default=PJ});var B7=Z(as=>{"use strict";var MJ=as&&as.__createBinding||(Object.create?function(i,u,f,a){a===void 0&&(a=f),Object.defineProperty(i,a,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,a){a===void 0&&(a=f),i[a]=u[f]}),FJ=as&&as.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),RJ=as&&as.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&MJ(u,i,f);return FJ(u,i),u},wc=as&&as.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(as,"__esModule",{value:!0});var Dc=RJ(Cr()),N7=wc(Gy()),LJ=wc(u3()),NJ=wc(l3()),BJ=wc(c3()),jJ=wc(d3()),UJ=wc(vv()),qJ=wc(L7()),bJ=" ",zJ="",WJ="",_3=class extends Dc.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=u=>{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"),u){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=u=>{u===""&&this.props.exitOnCtrlC&&this.handleExit(),u===WJ&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(u===bJ&&this.focusNext(),u===zJ&&this.focusPrevious())},this.handleExit=u=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(u)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(u=>{let f=u.focusables[0].id;return{activeFocusId:this.findNextFocusable(u)||f}})},this.focusPrevious=()=>{this.setState(u=>{let f=u.focusables[u.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(u)||f}})},this.addFocusable=(u,{autoFocus:f})=>{this.setState(a=>{let g=a.activeFocusId;return!g&&f&&(g=u),{activeFocusId:g,focusables:[...a.focusables,{id:u,isActive:!0}]}})},this.removeFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.filter(a=>a.id!==u)}))},this.activateFocusable=u=>{this.setState(f=>({focusables:f.focusables.map(a=>a.id!==u?a:{id:u,isActive:!0})}))},this.deactivateFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.map(a=>a.id!==u?a:{id:u,isActive:!1})}))},this.findNextFocusable=u=>{let f=u.focusables.findIndex(a=>a.id===u.activeFocusId);for(let a=f+1;a{let f=u.focusables.findIndex(a=>a.id===u.activeFocusId);for(let a=f-1;a>=0;a--)if(u.focusables[a].isActive)return u.focusables[a].id}}static getDerivedStateFromError(u){return{error:u}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return Dc.default.createElement(LJ.default.Provider,{value:{exit:this.handleExit}},Dc.default.createElement(NJ.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},Dc.default.createElement(BJ.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},Dc.default.createElement(jJ.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},Dc.default.createElement(UJ.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?Dc.default.createElement(qJ.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){N7.default.hide(this.props.stdout)}componentWillUnmount(){N7.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(u){this.handleExit(u)}};as.default=_3;_3.displayName="InternalApp"});var b7=Z(ds=>{"use strict";var HJ=ds&&ds.__createBinding||(Object.create?function(i,u,f,a){a===void 0&&(a=f),Object.defineProperty(i,a,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,a){a===void 0&&(a=f),i[a]=u[f]}),GJ=ds&&ds.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),VJ=ds&&ds.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&HJ(u,i,f);return GJ(u,i),u},ps=ds&&ds.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ds,"__esModule",{value:!0});var YJ=ps(Cr()),j7=jT(),$J=ps(QT()),KJ=ps(Uy()),XJ=ps(o5()),JJ=ps(s5()),_v=ps(_x()),QJ=ps(c7()),ZJ=ps(Hy()),eQ=ps(h7()),tQ=VJ(Cw()),nQ=ps(i3()),rQ=ps(B7()),Ua=process.env.CI==="false"?!1:XJ.default,U7=()=>{},q7=class{constructor(u){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:a,staticOutput:g}=QJ.default(this.rootNode,this.options.stdout.columns||80),t=g&&g!==` +`;if(this.options.debug){t&&(this.fullStaticOutput+=g),this.options.stdout.write(this.fullStaticOutput+f);return}if(Ua){t&&this.options.stdout.write(g),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=g),a>=this.options.stdout.rows){this.options.stdout.write(KJ.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(g),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},JJ.default(this),this.options=u,this.rootNode=tQ.createNode("ink-root"),this.rootNode.onRender=u.debug?this.onRender:j7.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=$J.default.create(u.stdout),this.throttledLog=u.debug?this.log:j7.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=_v.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=ZJ.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&_v.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),u.patchConsole&&this.patchConsole(),Ua||(u.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{u.stdout.off("resize",this.onRender)})}render(u){let f=YJ.default.createElement(rQ.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},u);_v.default.updateContainer(f,this.container,null,U7)}writeToStdout(u){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(u+this.fullStaticOutput+this.lastOutput);return}if(Ua){this.options.stdout.write(u);return}this.log.clear(),this.options.stdout.write(u),this.log(this.lastOutput)}}writeToStderr(u){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(u),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Ua){this.options.stderr.write(u);return}this.log.clear(),this.options.stderr.write(u),this.log(this.lastOutput)}}unmount(u){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Ua?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,_v.default.updateContainer(null,this.container,null,U7),nQ.default.delete(this.options.stdout),u instanceof Error?this.rejectExitPromise(u):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((u,f)=>{this.resolveExitPromise=u,this.rejectExitPromise=f})),this.exitPromise}clear(){!Ua&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=eQ.default((u,f)=>{u==="stdout"&&this.writeToStdout(f),u==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};ds.default=q7});var W7=Z(ed=>{"use strict";var z7=ed&&ed.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ed,"__esModule",{value:!0});var iQ=z7(b7()),yv=z7(i3()),oQ=require("stream"),lQ=(i,u)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},uQ(u)),a=sQ(f.stdout,()=>new iQ.default(f));return a.render(i),{rerender:a.render,unmount:()=>a.unmount(),waitUntilExit:a.waitUntilExit,cleanup:()=>yv.default.delete(f.stdout),clear:a.clear}};ed.default=lQ;var uQ=(i={})=>i instanceof oQ.Stream?{stdout:i,stdin:process.stdin}:i,sQ=(i,u)=>{let f;return yv.default.has(i)?f=yv.default.get(i):(f=u(),yv.default.set(i,f)),f}});var G7=Z(Ql=>{"use strict";var fQ=Ql&&Ql.__createBinding||(Object.create?function(i,u,f,a){a===void 0&&(a=f),Object.defineProperty(i,a,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,a){a===void 0&&(a=f),i[a]=u[f]}),cQ=Ql&&Ql.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),aQ=Ql&&Ql.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&fQ(u,i,f);return cQ(u,i),u};Object.defineProperty(Ql,"__esModule",{value:!0});var td=aQ(Cr()),H7=i=>{let{items:u,children:f,style:a}=i,[g,t]=td.useState(0),x=td.useMemo(()=>u.slice(g),[u,g]);td.useLayoutEffect(()=>{t(u.length)},[u.length]);let A=x.map((D,L)=>f(D,g+L)),k=td.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},a),[a]);return td.default.createElement("ink-box",{internal_static:!0,style:k},A)};H7.displayName="Static";Ql.default=H7});var Y7=Z(nd=>{"use strict";var dQ=nd&&nd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(nd,"__esModule",{value:!0});var pQ=dQ(Cr()),V7=({children:i,transform:u})=>i==null?null:pQ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:u},i);V7.displayName="Transform";nd.default=V7});var K7=Z(rd=>{"use strict";var hQ=rd&&rd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(rd,"__esModule",{value:!0});var vQ=hQ(Cr()),$7=({count:i=1})=>vQ.default.createElement("ink-text",null,` +`.repeat(i));$7.displayName="Newline";rd.default=$7});var Q7=Z(id=>{"use strict";var X7=id&&id.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(id,"__esModule",{value:!0});var mQ=X7(Cr()),gQ=X7(gv()),J7=()=>mQ.default.createElement(gQ.default,{flexGrow:1});J7.displayName="Spacer";id.default=J7});var wv=Z(od=>{"use strict";var _Q=od&&od.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(od,"__esModule",{value:!0});var yQ=Cr(),wQ=_Q(l3()),DQ=()=>yQ.useContext(wQ.default);od.default=DQ});var ek=Z(ud=>{"use strict";var EQ=ud&&ud.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ud,"__esModule",{value:!0});var Z7=Cr(),SQ=EQ(wv()),CQ=(i,u={})=>{let{stdin:f,setRawMode:a,internal_exitOnCtrlC:g}=SQ.default();Z7.useEffect(()=>{if(u.isActive!==!1)return a(!0),()=>{a(!1)}},[u.isActive,a]),Z7.useEffect(()=>{if(u.isActive===!1)return;let t=x=>{let A=String(x),k={upArrow:A==="",downArrow:A==="",leftArrow:A==="",rightArrow:A==="",pageDown:A==="[6~",pageUp:A==="[5~",return:A==="\r",escape:A==="",ctrl:!1,shift:!1,tab:A===" "||A==="",backspace:A==="\b",delete:A==="\x7F"||A==="[3~",meta:!1};A<=""&&!k.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),k.ctrl=!0),A.startsWith("")&&(A=A.slice(1),k.meta=!0);let D=A>="A"&&A<="Z",L=A>="\u0410"&&A<="\u042F";A.length===1&&(D||L)&&(k.shift=!0),k.tab&&A==="[Z"&&(k.shift=!0),(k.tab||k.backspace||k.delete)&&(A=""),(!(A==="c"&&k.ctrl)||!g)&&i(A,k)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[u.isActive,f,g,i])};ud.default=CQ});var tk=Z(sd=>{"use strict";var TQ=sd&&sd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sd,"__esModule",{value:!0});var xQ=Cr(),kQ=TQ(u3()),AQ=()=>xQ.useContext(kQ.default);sd.default=AQ});var nk=Z(ld=>{"use strict";var OQ=ld&&ld.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ld,"__esModule",{value:!0});var IQ=Cr(),PQ=OQ(c3()),MQ=()=>IQ.useContext(PQ.default);ld.default=MQ});var rk=Z(fd=>{"use strict";var FQ=fd&&fd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(fd,"__esModule",{value:!0});var RQ=Cr(),LQ=FQ(d3()),NQ=()=>RQ.useContext(LQ.default);fd.default=NQ});var ok=Z(cd=>{"use strict";var ik=cd&&cd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(cd,"__esModule",{value:!0});var ad=Cr(),BQ=ik(vv()),jQ=ik(wv()),UQ=({isActive:i=!0,autoFocus:u=!1}={})=>{let{isRawModeSupported:f,setRawMode:a}=jQ.default(),{activeId:g,add:t,remove:x,activate:A,deactivate:k}=ad.useContext(BQ.default),D=ad.useMemo(()=>Math.random().toString().slice(2,7),[]);return ad.useEffect(()=>(t(D,{autoFocus:u}),()=>{x(D)}),[D,u]),ad.useEffect(()=>{i?A(D):k(D)},[i,D]),ad.useEffect(()=>{if(!(!f||!i))return a(!0),()=>{a(!1)}},[i]),{isFocused:Boolean(D)&&g===D}};cd.default=UQ});var uk=Z(dd=>{"use strict";var qQ=dd&&dd.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(dd,"__esModule",{value:!0});var bQ=Cr(),zQ=qQ(vv()),WQ=()=>{let i=bQ.useContext(zQ.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};dd.default=WQ});var sk=Z(y3=>{"use strict";Object.defineProperty(y3,"__esModule",{value:!0});y3.default=i=>{var u,f,a,g;return{width:(f=(u=i.yogaNode)===null||u===void 0?void 0:u.getComputedWidth())!==null&&f!==void 0?f:0,height:(g=(a=i.yogaNode)===null||a===void 0?void 0:a.getComputedHeight())!==null&&g!==void 0?g:0}}});var Ec=Z(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});var HQ=W7();Object.defineProperty(Mi,"render",{enumerable:!0,get:function(){return HQ.default}});var GQ=gv();Object.defineProperty(Mi,"Box",{enumerable:!0,get:function(){return GQ.default}});var VQ=g3();Object.defineProperty(Mi,"Text",{enumerable:!0,get:function(){return VQ.default}});var YQ=G7();Object.defineProperty(Mi,"Static",{enumerable:!0,get:function(){return YQ.default}});var $Q=Y7();Object.defineProperty(Mi,"Transform",{enumerable:!0,get:function(){return $Q.default}});var KQ=K7();Object.defineProperty(Mi,"Newline",{enumerable:!0,get:function(){return KQ.default}});var XQ=Q7();Object.defineProperty(Mi,"Spacer",{enumerable:!0,get:function(){return XQ.default}});var JQ=ek();Object.defineProperty(Mi,"useInput",{enumerable:!0,get:function(){return JQ.default}});var QQ=tk();Object.defineProperty(Mi,"useApp",{enumerable:!0,get:function(){return QQ.default}});var ZQ=wv();Object.defineProperty(Mi,"useStdin",{enumerable:!0,get:function(){return ZQ.default}});var eZ=nk();Object.defineProperty(Mi,"useStdout",{enumerable:!0,get:function(){return eZ.default}});var tZ=rk();Object.defineProperty(Mi,"useStderr",{enumerable:!0,get:function(){return tZ.default}});var nZ=ok();Object.defineProperty(Mi,"useFocus",{enumerable:!0,get:function(){return nZ.default}});var rZ=uk();Object.defineProperty(Mi,"useFocusManager",{enumerable:!0,get:function(){return rZ.default}});var iZ=sk();Object.defineProperty(Mi,"measureElement",{enumerable:!0,get:function(){return iZ.default}})});var uZ={};aD(uZ,{default:()=>lZ,versionUtils:()=>Sy});var vd=ur(require("@yarnpkg/core"));var Ih=ur(require("@yarnpkg/cli")),xa=ur(require("@yarnpkg/core")),Ph=ur(require("@yarnpkg/core")),Nf=ur(require("clipanion"));var Sy={};aD(Sy,{Decision:()=>zr,applyPrerelease:()=>DT,applyReleases:()=>ky,applyStrategy:()=>Ah,clearVersionFiles:()=>Cy,fetchBase:()=>_T,fetchChangedFiles:()=>wT,fetchRoot:()=>yT,getUndecidedDependentWorkspaces:()=>p2,getUndecidedWorkspaces:()=>Oh,openVersionFile:()=>Ta,requireMoreDecisions:()=>KY,resolveVersionFiles:()=>d2,suggestStrategy:()=>xy,updateVersionFiles:()=>Ty,validateReleaseDecision:()=>a2});var Wn=ur(require("@yarnpkg/core")),vr=ur(require("@yarnpkg/fslib")),Hl=ur(require("@yarnpkg/parsers")),Lf=ur(require("clipanion")),gT=ur(mT()),Gl=ur(require("semver")),$Y=/^(>=|[~^]|)(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-]+)*)?$/,zr;(function(x){x.UNDECIDED="undecided",x.DECLINE="decline",x.MAJOR="major",x.MINOR="minor",x.PATCH="patch",x.PRERELEASE="prerelease"})(zr||(zr={}));function a2(i){return Wn.miscUtils.validateEnum((0,gT.default)(zr,"UNDECIDED"),i)}async function _T(i,{baseRefs:u}){if(u.length===0)throw new Lf.UsageError("Can't run this command with zero base refs specified.");let f=[];for(let A of u){let{code:k}=await Wn.execUtils.execvp("git",["merge-base",A,"HEAD"],{cwd:i});k===0&&f.push(A)}if(f.length===0)throw new Lf.UsageError(`No ancestor could be found between any of HEAD and ${u.join(", ")}`);let{stdout:a}=await Wn.execUtils.execvp("git",["merge-base","HEAD",...f],{cwd:i,strict:!0}),g=a.trim(),{stdout:t}=await Wn.execUtils.execvp("git",["show","--quiet","--pretty=format:%s",g],{cwd:i,strict:!0}),x=t.trim();return{hash:g,title:x}}async function yT(i){let u=null,f,a=i;do f=a,await vr.xfs.existsPromise(vr.ppath.join(f,".git"))&&(u=f),a=vr.ppath.dirname(f);while(u===null&&a!==f);return u}async function wT(i,{base:u,project:f}){let a=Wn.miscUtils.buildIgnorePattern(f.configuration.get("changesetIgnorePatterns")),{stdout:g}=await Wn.execUtils.execvp("git",["diff","--name-only",`${u}`],{cwd:i,strict:!0}),t=g.split(/\r\n|\r|\n/).filter(D=>D.length>0).map(D=>vr.ppath.resolve(i,vr.npath.toPortablePath(D))),{stdout:x}=await Wn.execUtils.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:i,strict:!0}),A=x.split(/\r\n|\r|\n/).filter(D=>D.length>0).map(D=>vr.ppath.resolve(i,vr.npath.toPortablePath(D))),k=[...new Set([...t,...A].sort())];return a?k.filter(D=>!vr.ppath.relative(f.cwd,D).match(a)):k}async function d2(i,{prerelease:u=null}={}){var t;let f=new Map,a=i.configuration.get("deferredVersionFolder");if(!vr.xfs.existsSync(a))return new Map;let g=await vr.xfs.readdirPromise(a);for(let x of g){if(!x.endsWith(".yml"))continue;let A=vr.ppath.join(a,x),k=await vr.xfs.readFilePromise(A,"utf8"),D=(0,Hl.parseSyml)(k);for(let[L,B]of Object.entries(D.releases||{})){if(B===zr.DECLINE)continue;let b=Wn.structUtils.parseIdent(L),$=i.tryWorkspaceByIdent(b);if($===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${vr.ppath.basename(A)} references ${L})`);if($.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Wn.structUtils.prettyLocator(i.configuration,$.anchoredLocator)})`);let v=(t=$.manifest.raw.stableVersion)!=null?t:$.manifest.version,ve=f.get($),he=Ah(v,a2(B));if(he===null)throw new Error(`Assertion failed: Expected ${v} to support being bumped via strategy ${B}`);let ue=typeof ve!="undefined"?Gl.default.gt(he,ve)?he:ve:he;f.set($,ue)}}return u&&(f=new Map([...f].map(([x,A])=>[x,DT(A,{current:x.manifest.version,prerelease:u})]))),f}async function Cy(i){let u=i.configuration.get("deferredVersionFolder");!vr.xfs.existsSync(u)||await vr.xfs.removePromise(u)}async function Ty(i){let u=i.configuration.get("deferredVersionFolder");if(!vr.xfs.existsSync(u))return;let f=await vr.xfs.readdirPromise(u);for(let a of f){if(!a.endsWith(".yml"))continue;let g=vr.ppath.join(u,a),t=await vr.xfs.readFilePromise(g,"utf8"),x=(0,Hl.parseSyml)(t),A=x==null?void 0:x.releases;if(!!A){for(let k of Object.keys(A)){let D=Wn.structUtils.parseLocator(k);i.tryWorkspaceByLocator(D)===null&&delete x.releases[k]}await vr.xfs.changeFilePromise(g,(0,Hl.stringifySyml)(new Hl.stringifySyml.PreserveOrdering(x)))}}}async function Ta(i,{allowEmpty:u=!1}={}){let f=i.configuration;if(f.projectCwd===null)throw new Lf.UsageError("This command can only be run from within a Yarn project");let a=await yT(f.projectCwd),g=a!==null?await _T(a,{baseRefs:f.get("changesetBaseRefs")}):null,t=a!==null?await wT(a,{base:g.hash,project:i}):[],x=f.get("deferredVersionFolder"),A=t.filter($=>vr.ppath.contains(x,$)!==null);if(A.length>1)throw new Lf.UsageError(`Your current branch contains multiple versioning files; this isn't supported: +- ${A.map($=>vr.npath.fromPortablePath($)).join(` +- `)}`);let k=new Set(Wn.miscUtils.mapAndFilter(t,$=>{let v=i.tryWorkspaceByFilePath($);return v===null?Wn.miscUtils.mapAndFilter.skip:v}));if(A.length===0&&k.size===0&&!u)return null;let D=A.length===1?A[0]:vr.ppath.join(x,`${Wn.hashUtils.makeHash(Math.random().toString()).slice(0,8)}.yml`),L=vr.xfs.existsSync(D)?await vr.xfs.readFilePromise(D,"utf8"):"{}",B=(0,Hl.parseSyml)(L),b=new Map;for(let $ of B.declined||[]){let v=Wn.structUtils.parseIdent($),ve=i.getWorkspaceByIdent(v);b.set(ve,zr.DECLINE)}for(let[$,v]of Object.entries(B.releases||{})){let ve=Wn.structUtils.parseIdent($),he=i.getWorkspaceByIdent(ve);b.set(he,a2(v))}return{project:i,root:a,baseHash:g!==null?g.hash:null,baseTitle:g!==null?g.title:null,changedFiles:new Set(t),changedWorkspaces:k,releaseRoots:new Set([...k].filter($=>$.manifest.version!==null)),releases:b,async saveAll(){let $={},v=[],ve=[];for(let he of i.workspaces){if(he.manifest.version===null)continue;let ue=Wn.structUtils.stringifyIdent(he.locator),Se=b.get(he);Se===zr.DECLINE?v.push(ue):typeof Se!="undefined"?$[ue]=Se:k.has(he)&&ve.push(ue)}await vr.xfs.mkdirPromise(vr.ppath.dirname(D),{recursive:!0}),await vr.xfs.changeFilePromise(D,(0,Hl.stringifySyml)(new Hl.stringifySyml.PreserveOrdering({releases:Object.keys($).length>0?$:void 0,declined:v.length>0?v:void 0,undecided:ve.length>0?ve:void 0})))}}}function KY(i){return Oh(i).size>0||p2(i).length>0}function Oh(i){let u=new Set;for(let f of i.changedWorkspaces)f.manifest.version!==null&&(i.releases.has(f)||u.add(f));return u}function p2(i,{include:u=new Set}={}){let f=[],a=new Map(Wn.miscUtils.mapAndFilter([...i.releases],([t,x])=>x===zr.DECLINE?Wn.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t])),g=new Map(Wn.miscUtils.mapAndFilter([...i.releases],([t,x])=>x!==zr.DECLINE?Wn.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t]));for(let t of i.project.workspaces)if(!(!u.has(t)&&(g.has(t.anchoredLocator.locatorHash)||a.has(t.anchoredLocator.locatorHash)))&&t.manifest.version!==null)for(let x of Wn.Manifest.hardDependencies)for(let A of t.manifest.getForScope(x).values()){let k=i.project.tryWorkspaceByDescriptor(A);k!==null&&a.has(k.anchoredLocator.locatorHash)&&f.push([t,k])}return f}function xy(i,u){let f=Gl.default.clean(u);for(let a of Object.values(zr))if(a!==zr.UNDECIDED&&a!==zr.DECLINE&&Gl.default.inc(i,a)===f)return a;return null}function Ah(i,u){if(Gl.default.valid(u))return u;if(i===null)throw new Lf.UsageError(`Cannot apply the release strategy "${u}" unless the workspace already has a valid version`);if(!Gl.default.valid(i))throw new Lf.UsageError(`Cannot apply the release strategy "${u}" on a non-semver version (${i})`);let f=Gl.default.inc(i,u);if(f===null)throw new Lf.UsageError(`Cannot apply the release strategy "${u}" on the specified version (${i})`);return f}function ky(i,u,{report:f}){let a=new Map;for(let g of i.workspaces)for(let t of Wn.Manifest.allDependencies)for(let x of g.manifest[t].values()){let A=i.tryWorkspaceByDescriptor(x);if(A===null||!u.has(A))continue;Wn.miscUtils.getArrayWithDefault(a,A).push([g,t,x.identHash])}for(let[g,t]of u){let x=g.manifest.version;g.manifest.version=t,Gl.default.prerelease(t)===null?delete g.manifest.raw.stableVersion:g.manifest.raw.stableVersion||(g.manifest.raw.stableVersion=x);let A=g.manifest.name!==null?Wn.structUtils.stringifyIdent(g.manifest.name):null;f.reportInfo(Wn.MessageName.UNNAMED,`${Wn.structUtils.prettyLocator(i.configuration,g.anchoredLocator)}: Bumped to ${t}`),f.reportJson({cwd:g.cwd,ident:A,oldVersion:x,newVersion:t});let k=a.get(g);if(typeof k!="undefined")for(let[D,L,B]of k){let b=D.manifest[L].get(B);if(typeof b=="undefined")throw new Error("Assertion failed: The dependency should have existed");let $=b.range,v=!1;if($.startsWith(Wn.WorkspaceResolver.protocol)&&($=$.slice(Wn.WorkspaceResolver.protocol.length),v=!0,$===g.relativeCwd))continue;let ve=$.match($Y);if(!ve){f.reportWarning(Wn.MessageName.UNNAMED,`Couldn't auto-upgrade range ${$} (in ${Wn.structUtils.prettyLocator(i.configuration,D.anchoredLocator)})`);continue}let he=`${ve[1]}${t}`;v&&(he=`${Wn.WorkspaceResolver.protocol}${he}`);let ue=Wn.structUtils.makeDescriptor(b,he);D.manifest[L].set(B,ue)}}}var XY=new Map([["%n",{extract:i=>i.length>=1?[i[0],i.slice(1)]:null,generate:(i=0)=>`${i+1}`}]]);function DT(i,{current:u,prerelease:f}){let a=new Gl.default.SemVer(u),g=a.prerelease.slice(),t=[];a.prerelease=[],a.format()!==i&&(g.length=0);let x=!0,A=f.split(/\./g);for(let k of A){let D=XY.get(k);if(typeof D=="undefined")t.push(k),g[0]===k?g.shift():x=!1;else{let L=x?D.extract(g):null;L!==null&&typeof L[0]=="number"?(t.push(D.generate(L[0])),g=L[1]):(t.push(D.generate()),x=!1)}}return a.prerelease&&(a.prerelease=[]),`${i}-${t.join(".")}`}var h2=class extends Ih.BaseCommand{constructor(){super(...arguments);this.all=Nf.Option.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=Nf.Option.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=Nf.Option.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=Nf.Option.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=Nf.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let u=await xa.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:a}=await Ph.Project.find(u,this.context.cwd),g=await xa.Cache.find(u);if(!a)throw new Ih.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState({restoreResolutions:!1}),(await Ph.StreamReport.start({configuration:u,json:this.json,stdout:this.context.stdout},async x=>{let A=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,k=await d2(f,{prerelease:A}),D=new Map;if(this.all)D=k;else{let L=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let B of L){let b=k.get(B);typeof b!="undefined"&&D.set(B,b)}}if(D.size===0){let L=k.size>0?" Did you want to add --all?":"";x.reportWarning(xa.MessageName.UNNAMED,`The current workspace doesn't seem to require a version bump.${L}`);return}ky(f,D,{report:x}),this.dryRun||(A||(this.all?await Cy(f):await Ty(f)),x.reportSeparator(),await f.install({cache:g,report:x}))})).exitCode()}};h2.paths=[["version","apply"]],h2.usage=Nf.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 ET=h2;var E3=ur(require("@yarnpkg/cli")),Jr=ur(require("@yarnpkg/core")),hs=ur(require("@yarnpkg/fslib"));var lk=ur(Ec()),Sc=ur(Cr()),fk=(0,Sc.memo)(({active:i})=>{let u=(0,Sc.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,Sc.useMemo)(()=>i?"green":"yellow",[i]);return Sc.default.createElement(lk.Text,{color:f},u)});var zf=ur(Ec()),Po=ur(Cr());var ck=ur(Ec()),Dv=ur(Cr());function qa({active:i},u,f){let{stdin:a}=(0,ck.useStdin)(),g=(0,Dv.useCallback)((t,x)=>u(t,x),f);(0,Dv.useEffect)(()=>{if(!(!i||!a))return a.on("keypress",g),()=>{a.off("keypress",g)}},[i,g,a])}var Cc;(function(f){f.BEFORE="before",f.AFTER="after"})(Cc||(Cc={}));var ak=function({active:i},u,f){qa({active:i},(a,g)=>{g.name==="tab"&&(g.shift?u(Cc.BEFORE):u(Cc.AFTER))},f)};var Ev=function(i,u,{active:f,minus:a,plus:g,set:t,loop:x=!0}){qa({active:f},(A,k)=>{let D=u.indexOf(i);switch(k.name){case a:{let L=D-1;if(x){t(u[(u.length+L)%u.length]);return}if(L<0)return;t(u[L])}break;case g:{let L=D+1;if(x){t(u[L%u.length]);return}if(L>=u.length)return;t(u[L])}break}},[u,i,g,t,x])};var w3=({active:i=!0,children:u=[],radius:f=10,size:a=1,loop:g=!0,onFocusRequest:t,willReachEnd:x})=>{let A=he=>{if(he.key===null)throw new Error("Expected all children to have a key");return he.key},k=Po.default.Children.map(u,he=>A(he)),D=k[0],[L,B]=(0,Po.useState)(D),b=k.indexOf(L);(0,Po.useEffect)(()=>{k.includes(L)||B(D)},[u]),(0,Po.useEffect)(()=>{x&&b>=k.length-2&&x()},[b]),ak({active:i&&!!t},he=>{t==null||t(he)},[t]),Ev(L,k,{active:i,minus:"up",plus:"down",set:B,loop:g});let $=b-f,v=b+f;v>k.length&&($-=v-k.length,v=k.length),$<0&&(v+=-$,$=0),v>=k.length&&(v=k.length-1);let ve=[];for(let he=$;he<=v;++he){let ue=k[he],Se=i&&ue===L;ve.push(Po.default.createElement(zf.Box,{key:ue,height:a},Po.default.createElement(zf.Box,{marginLeft:1,marginRight:1},Po.default.createElement(zf.Text,null,Se?Po.default.createElement(zf.Text,{color:"cyan",bold:!0},">"):" ")),Po.default.createElement(zf.Box,null,Po.default.cloneElement(u[he],{active:Se}))))}return Po.default.createElement(zf.Box,{flexDirection:"column",width:"100%"},ve)};var Sv=ur(Ec()),D3=ur(Cr());var dk=ur(Ec()),Zl=ur(Cr()),pk=ur(require("readline")),oZ=Zl.default.createContext(null),hk=({children:i})=>{let{stdin:u,setRawMode:f}=(0,dk.useStdin)();(0,Zl.useEffect)(()=>{f&&f(!0),u&&(0,pk.emitKeypressEvents)(u)},[u,f]);let[a,g]=(0,Zl.useState)(new Map),t=(0,Zl.useMemo)(()=>({getAll:()=>a,get:x=>a.get(x),set:(x,A)=>g(new Map([...a,[x,A]]))}),[a,g]);return Zl.default.createElement(oZ.Provider,{value:t,children:i})};async function vk(i,u){let f,a=t=>{let{exit:x}=(0,Sv.useApp)();qa({active:!0},(A,k)=>{k.name==="return"&&(f=t,x())},[x,t])},{waitUntilExit:g}=(0,Sv.render)(D3.default.createElement(hk,null,D3.default.createElement(i,is(t0({},u),{useSubmit:a}))));return await g(),f}var Wf=ur(require("clipanion")),yn=ur(Ec()),Ft=ur(Cr()),S3=ur(require("semver"));var pd=class extends Wf.Command{constructor(){super(...arguments);this.interactive=Wf.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 u=await Jr.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:a}=await Jr.Project.find(u,this.context.cwd);if(!a)throw new E3.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState();let g=await Ta(f);if(g===null||g.releaseRoots.size===0)return 0;if(g.root===null)throw new Wf.UsageError("This command can only be run on Git repositories");let t=()=>Ft.default.createElement(yn.Box,{flexDirection:"row",paddingBottom:1},Ft.default.createElement(yn.Box,{flexDirection:"column",width:60},Ft.default.createElement(yn.Box,null,Ft.default.createElement(yn.Text,null,"Press ",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},""),"/",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),Ft.default.createElement(yn.Box,null,Ft.default.createElement(yn.Text,null,"Press ",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},""),"/",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),Ft.default.createElement(yn.Box,{flexDirection:"column"},Ft.default.createElement(yn.Box,{marginLeft:1},Ft.default.createElement(yn.Text,null,"Press ",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},"")," to save.")),Ft.default.createElement(yn.Box,{marginLeft:1},Ft.default.createElement(yn.Text,null,"Press ",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),x=({workspace:b,active:$,decision:v,setDecision:ve})=>{var ze;let he=(ze=b.manifest.raw.stableVersion)!=null?ze:b.manifest.version;if(he===null)throw new Error(`Assertion failed: The version should have been set (${Jr.structUtils.prettyLocator(u,b.anchoredLocator)})`);if(S3.default.prerelease(he)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${he})`);let ue=[zr.UNDECIDED,zr.DECLINE,zr.PATCH,zr.MINOR,zr.MAJOR];Ev(v,ue,{active:$,minus:"left",plus:"right",set:ve});let Se=v===zr.UNDECIDED?Ft.default.createElement(yn.Text,{color:"yellow"},he):v===zr.DECLINE?Ft.default.createElement(yn.Text,{color:"green"},he):Ft.default.createElement(yn.Text,null,Ft.default.createElement(yn.Text,{color:"magenta"},he)," \u2192 ",Ft.default.createElement(yn.Text,{color:"green"},S3.default.inc(he,v)));return Ft.default.createElement(yn.Box,{flexDirection:"column"},Ft.default.createElement(yn.Box,null,Ft.default.createElement(yn.Text,null,Jr.structUtils.prettyLocator(u,b.anchoredLocator)," - ",Se)),Ft.default.createElement(yn.Box,null,ue.map(Te=>Ft.default.createElement(yn.Box,{key:Te,paddingLeft:2},Ft.default.createElement(yn.Text,null,Ft.default.createElement(fk,{active:Te===v})," ",Te)))))},A=b=>{let $=new Set(g.releaseRoots),v=new Map([...b].filter(([ve])=>$.has(ve)));for(;;){let ve=p2({project:g.project,releases:v}),he=!1;if(ve.length>0){for(let[ue]of ve)if(!$.has(ue)){$.add(ue),he=!0;let Se=b.get(ue);typeof Se!="undefined"&&v.set(ue,Se)}}if(!he)break}return{relevantWorkspaces:$,relevantReleases:v}},k=()=>{let[b,$]=(0,Ft.useState)(()=>new Map(g.releases)),v=(0,Ft.useCallback)((ve,he)=>{let ue=new Map(b);he!==zr.UNDECIDED?ue.set(ve,he):ue.delete(ve);let{relevantReleases:Se}=A(ue);$(Se)},[b,$]);return[b,v]},D=({workspaces:b,releases:$})=>{let v=[];v.push(`${b.size} total`);let ve=0,he=0;for(let ue of b){let Se=$.get(ue);typeof Se=="undefined"?he+=1:Se!==zr.DECLINE&&(ve+=1)}return v.push(`${ve} release${ve===1?"":"s"}`),v.push(`${he} remaining`),Ft.default.createElement(yn.Text,{color:"yellow"},v.join(", "))},B=await vk(({useSubmit:b})=>{let[$,v]=k();b($);let{relevantWorkspaces:ve}=A($),he=new Set([...ve].filter(Te=>!g.releaseRoots.has(Te))),[ue,Se]=(0,Ft.useState)(0),ze=(0,Ft.useCallback)(Te=>{switch(Te){case Cc.BEFORE:Se(ue-1);break;case Cc.AFTER:Se(ue+1);break}},[ue,Se]);return Ft.default.createElement(yn.Box,{flexDirection:"column"},Ft.default.createElement(t,null),Ft.default.createElement(yn.Box,null,Ft.default.createElement(yn.Text,{wrap:"wrap"},"The following files have been modified in your local checkout.")),Ft.default.createElement(yn.Box,{flexDirection:"column",marginTop:1,paddingLeft:2},[...g.changedFiles].map(Te=>Ft.default.createElement(yn.Box,{key:Te},Ft.default.createElement(yn.Text,null,Ft.default.createElement(yn.Text,{color:"grey"},hs.npath.fromPortablePath(g.root)),hs.npath.sep,hs.npath.relative(hs.npath.fromPortablePath(g.root),hs.npath.fromPortablePath(Te)))))),g.releaseRoots.size>0&&Ft.default.createElement(Ft.default.Fragment,null,Ft.default.createElement(yn.Box,{marginTop:1},Ft.default.createElement(yn.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):")),he.size>3?Ft.default.createElement(yn.Box,{marginTop:1},Ft.default.createElement(D,{workspaces:g.releaseRoots,releases:$})):null,Ft.default.createElement(yn.Box,{marginTop:1,flexDirection:"column"},Ft.default.createElement(w3,{active:ue%2==0,radius:1,size:2,onFocusRequest:ze},[...g.releaseRoots].map(Te=>Ft.default.createElement(x,{key:Te.cwd,workspace:Te,decision:$.get(Te)||zr.UNDECIDED,setDecision:Me=>v(Te,Me)}))))),he.size>0?Ft.default.createElement(Ft.default.Fragment,null,Ft.default.createElement(yn.Box,{marginTop:1},Ft.default.createElement(yn.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:")),Ft.default.createElement(yn.Box,null,Ft.default.createElement(yn.Text,null,"(Press ",Ft.default.createElement(yn.Text,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),he.size>5?Ft.default.createElement(yn.Box,{marginTop:1},Ft.default.createElement(D,{workspaces:he,releases:$})):null,Ft.default.createElement(yn.Box,{marginTop:1,flexDirection:"column"},Ft.default.createElement(w3,{active:ue%2==1,radius:2,size:2,onFocusRequest:ze},[...he].map(Te=>Ft.default.createElement(x,{key:Te.cwd,workspace:Te,decision:$.get(Te)||zr.UNDECIDED,setDecision:Me=>v(Te,Me)}))))):null)},{versionFile:g});if(typeof B=="undefined")return 1;g.releases.clear();for(let[b,$]of B)g.releases.set(b,$);await g.saveAll()}async executeStandard(){let u=await Jr.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:a}=await Jr.Project.find(u,this.context.cwd);if(!a)throw new E3.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState(),(await Jr.StreamReport.start({configuration:u,stdout:this.context.stdout},async t=>{let x=await Ta(f);if(x===null||x.releaseRoots.size===0)return;if(x.root===null)throw new Wf.UsageError("This command can only be run on Git repositories");if(t.reportInfo(Jr.MessageName.UNNAMED,`Your PR was started right after ${Jr.formatUtils.pretty(u,x.baseHash.slice(0,7),"yellow")} ${Jr.formatUtils.pretty(u,x.baseTitle,"magenta")}`),x.changedFiles.size>0){t.reportInfo(Jr.MessageName.UNNAMED,"You have changed the following files since then:"),t.reportSeparator();for(let B of x.changedFiles)t.reportInfo(null,`${Jr.formatUtils.pretty(u,hs.npath.fromPortablePath(x.root),"gray")}${hs.npath.sep}${hs.npath.relative(hs.npath.fromPortablePath(x.root),hs.npath.fromPortablePath(B))}`)}let A=!1,k=!1,D=Oh(x);if(D.size>0){A||t.reportSeparator();for(let B of D)t.reportError(Jr.MessageName.UNNAMED,`${Jr.structUtils.prettyLocator(u,B.anchoredLocator)} has been modified but doesn't have a release strategy attached`);A=!0}let L=p2(x);for(let[B,b]of L)k||t.reportSeparator(),t.reportError(Jr.MessageName.UNNAMED,`${Jr.structUtils.prettyLocator(u,B.anchoredLocator)} doesn't have a release strategy attached, but depends on ${Jr.structUtils.prettyWorkspace(u,b)} which is planned for release.`),k=!0;(A||k)&&(t.reportSeparator(),t.reportInfo(Jr.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(Jr.MessageName.UNNAMED,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};pd.paths=[["version","check"]],pd.usage=Wf.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 mk=pd;var Cv=ur(require("@yarnpkg/cli")),Tv=ur(require("@yarnpkg/core")),Zs=ur(require("clipanion")),xv=ur(require("semver"));var hd=class extends Cv.BaseCommand{constructor(){super(...arguments);this.deferred=Zs.Option.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=Zs.Option.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=Zs.Option.String()}async execute(){let u=await Tv.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:a}=await Tv.Project.find(u,this.context.cwd);if(!a)throw new Cv.WorkspaceRequiredError(f.cwd,this.context.cwd);let g=u.get("preferDeferredVersions");this.deferred&&(g=!0),this.immediate&&(g=!1);let t=xv.default.valid(this.strategy),x=this.strategy===zr.DECLINE,A;if(t)if(a.manifest.version!==null){let D=xy(a.manifest.version,this.strategy);D!==null?A=D:A=this.strategy}else A=this.strategy;else{let D=a.manifest.version;if(!x){if(D===null)throw new Zs.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 D!="string"||!xv.default.valid(D))throw new Zs.UsageError(`Can't bump the version (${D}) if it's not valid semver`)}A=a2(this.strategy)}if(!g){let L=(await d2(f)).get(a);if(typeof L!="undefined"){let B=Ah(a.manifest.version,A);if(xv.default.lt(B,L))throw new Zs.UsageError(`Can't bump the version to one that would be lower than the current deferred one (${L})`)}}let k=await Ta(f,{allowEmpty:!0});k.releases.set(a,A),await k.saveAll(),g||await this.cli.run(["version","apply"])}};hd.paths=[["version"]],hd.usage=Zs.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 gk=hd;var sZ={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:vd.SettingsType.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:vd.SettingsType.STRING,default:[],isArray:!0},deferredVersionFolder:{description:"Folder where are stored the versioning files",type:vd.SettingsType.ABSOLUTE_PATH,default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:vd.SettingsType.BOOLEAN,default:!1}},commands:[ET,mk,gk]},lZ=sZ;return uZ;})(); +/* +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.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.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.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/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs new file mode 100644 index 00000000..799c5be9 --- /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 Cr=Object.create,ge=Object.defineProperty,wr=Object.defineProperties,Sr=Object.getOwnPropertyDescriptor,vr=Object.getOwnPropertyDescriptors,Hr=Object.getOwnPropertyNames,Je=Object.getOwnPropertySymbols,$r=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable;var tt=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t)=>{for(var r in t||(t={}))et.call(t,r)&&tt(e,r,t[r]);if(Je)for(var r of Je(t))Tr.call(t,r)&&tt(e,r,t[r]);return e},Q=(e,t)=>wr(e,vr(t)),kr=e=>ge(e,"__esModule",{value:!0});var q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lr=(e,t)=>{for(var r in t)ge(e,r,{get:t[r],enumerable:!0})},Or=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Hr(t))!et.call(e,n)&&n!=="default"&&ge(e,n,{get:()=>t[n],enumerable:!(r=Sr(t,n))||r.enumerable});return e},Y=e=>Or(kr(ge(e!=null?Cr($r(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var He=q(J=>{"use strict";J.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;J.find=(e,t)=>e.nodes.find(r=>r.type===t);J.exceedsLimit=(e,t,r=1,n)=>n===!1||!J.isInteger(e)||!J.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;J.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)};J.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0==0?(e.invalid=!0,!0):!1;J.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;J.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;J.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);J.flatten=(...e)=>{let t=[],r=n=>{for(let s=0;s{"use strict";var at=He();st.exports=(e,t={})=>{let r=(n,s={})=>{let a=t.escapeInvalid&&at.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o="";if(n.value)return(a||i)&&at.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 ot=q((is,it)=>{"use strict";it.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=q((os,ut)=>{"use strict";var ct=ot(),pe=(e,t,r)=>{if(ct(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(ct(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n=N({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 A=Math.min(e,t),f=Math.max(e,t);if(Math.abs(A-f)===1){let R=e+"|"+t;return n.capture?`(${R})`:n.wrap===!1?R:`(?:${R})`}let m=pt(e)||pt(t),p={min:e,max:t,a:A,b:f},H=[],_=[];if(m&&(p.isPadded=m,p.maxLen=String(p.max).length),A<0){let R=f<0?Math.abs(f):1;_=lt(R,Math.abs(A),p,n),A=p.a=0}return f>=0&&(H=lt(A,f,p,n)),p.negatives=_,p.positives=H,p.result=Nr(_,H,n),n.capture===!0?p.result=`(${p.result})`:n.wrap!==!1&&H.length+_.length>1&&(p.result=`(?:${p.result})`),pe.cache[h]=p,p.result};function Nr(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 Br(e,t){let r=1,n=1,s=ft(e,r),a=new Set([t]);for(;e<=s&&s<=t;)a.add(s),r+=1,s=ft(e,r);for(s=ht(t+1,n)-1;e1&&o.count.pop(),o.count.push(f.count[0]),o.string=o.pattern+dt(o.count),i=A+1;continue}r.isPadded&&(m=Gr(A,r,n)),f.string=m+f.pattern+dt(f.count),a.push(f),i=A+1,o=f}return a}function Pe(e,t,r,n,s){let a=[];for(let i of e){let{string:o}=i;!n&&!gt(t,"string",o)&&a.push(r+o),n&>(t,"string",o)&&a.push(r+o)}return a}function Mr(e,t){let r=[];for(let n=0;nt?1:t>e?-1:0}function gt(e,t,r){return e.some(n=>n[t]===r)}function ft(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function ht(e,t){return e-e%Math.pow(10,t)}function dt(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function Pr(e,t,r){return`[${e}${t-e==1?"":"-"}${t}]`}function pt(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 Ue=q((us,mt)=>{"use strict";var Ur=require("util"),Rt=At(),yt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),qr=e=>t=>e===!0?Number(t):String(t),De=e=>typeof e=="number"||typeof e=="string"&&e!=="",me=e=>Number.isInteger(+e),Ge=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},Kr=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,Wr=(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 Rt(e,t,N({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 Rt(e,t,r)},bt=(...e)=>new RangeError("Invalid range arguments: "+Ur.inspect(...e)),Ct=(e,t,r)=>{if(r.strictRanges===!0)throw bt([e,t]);return[]},Fr=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Qr=(e,t,r=1,n={})=>{let s=Number(e),a=Number(t);if(!Number.isInteger(s)||!Number.isInteger(a)){if(n.strictRanges===!0)throw bt([e,t]);return[]}s===0&&(s=0),a===0&&(a=0);let i=s>a,o=String(e),h=String(t),A=String(r);r=Math.max(Math.abs(r),1);let f=Ge(o)||Ge(h)||Ge(A),m=f?Math.max(o.length,h.length,A.length):0,p=f===!1&&Kr(e,t,n)===!1,H=n.transform||qr(p);if(n.toRegex&&r===1)return Et(_t(e,m),_t(t,m),!0,n);let _={negatives:[],positives:[]},R=T=>_[T<0?"negatives":"positives"].push(Math.abs(T)),b=[],C=0;for(;i?s>=a:s<=a;)n.toRegex===!0&&r>1?R(s):b.push(Wr(H(s,C),m,p)),s=i?s-r:s+r,C++;return n.toRegex===!0?r>1?jr(_,n):xt(b,null,N({wrap:!1},n)):b},Xr=(e,t,r=1,n={})=>{if(!me(e)&&e.length>1||!me(t)&&t.length>1)return Ct(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),A=Math.max(a,i);if(n.toRegex&&r===1)return Et(h,A,!1,n);let f=[],m=0;for(;o?a>=i:a<=i;)f.push(s(a,m)),a=o?a-r:a+r,m++;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 Ct(e,t,n);if(typeof r=="function")return Te(e,t,1,{transform:r});if(yt(r))return Te(e,t,0,r);let s=N({},n);return s.capture===!0&&(s.wrap=!0),r=r||s.step||1,me(r)?me(e)&&me(t)?Qr(e,t,r,s):Xr(e,t,Math.max(Math.abs(r),1),s):r!=null&&!yt(r)?Fr(r,s):Te(e,t,1,r)};mt.exports=Te});var vt=q((cs,wt)=>{"use strict";var Zr=Ue(),St=He(),Yr=(e,t={})=>{let r=(n,s={})=>{let a=St.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o=a===!0||i===!0,h=t.escapeInvalid===!0?"\\":"",A="";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=St.reduce(n.nodes),m=Zr(...f,Q(N({},t),{wrap:!1,toRegex:!0}));if(m.length!==0)return f.length>1&&m.length>1?`(${m})`:m}if(n.nodes)for(let f of n.nodes)A+=r(f,n);return A};return r(e)};wt.exports=Yr});var Tt=q((ls,Ht)=>{"use strict";var zr=Ue(),$t=$e(),he=He(),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)},Vr=(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(),$t(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 m=he.reduce(s.nodes);if(he.exceedsLimit(...m,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=zr(...m,t);p.length===0&&(p=$t(s,t)),o.push(fe(o.pop(),p)),s.nodes=[];return}let h=he.encloseBrace(s),A=s.queue,f=s;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,A=f.queue;for(let m=0;m{"use strict";kt.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 Mt=q((fs,Ot)=>{"use strict";var Jr=$e(),{MAX_LENGTH:Nt,CHAR_BACKSLASH:qe,CHAR_BACKTICK:en,CHAR_COMMA:tn,CHAR_DOT:rn,CHAR_LEFT_PARENTHESES:nn,CHAR_RIGHT_PARENTHESES:sn,CHAR_LEFT_CURLY_BRACE:an,CHAR_RIGHT_CURLY_BRACE:on,CHAR_LEFT_SQUARE_BRACKET:It,CHAR_RIGHT_SQUARE_BRACKET:Bt,CHAR_DOUBLE_QUOTE:un,CHAR_SINGLE_QUOTE:cn,CHAR_NO_BREAK_SPACE:ln,CHAR_ZERO_WIDTH_NOBREAK_SPACE:pn}=Lt(),fn=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},n=typeof r.maxLength=="number"?Math.min(Nt,r.maxLength):Nt;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,A=e.length,f=0,m=0,p,H={},_=()=>e[f++],R=b=>{if(b.type==="text"&&o.type==="dot"&&(o.type="text"),o&&o.type==="text"&&b.type==="text"){o.value+=b.value;return}return i.nodes.push(b),b.parent=i,b.prev=o,o=b,b};for(R({type:"bos"});f0){if(i.ranges>0){i.ranges=0;let b=i.nodes.shift();i.nodes=[b,{type:"text",value:Jr(i)}]}R({type:"comma",value:p}),i.commas++;continue}if(p===rn&&m>0&&i.commas===0){let b=i.nodes;if(m===0||b.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"){b.pop();let C=b[b.length-1];C.value+=o.value+p,o=C,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 b=a[a.length-1],C=b.nodes.indexOf(i);b.nodes.splice(C,1,...i.nodes)}while(a.length>0);return R({type:"eos"}),s};Ot.exports=fn});var Gt=q((hs,Pt)=>{"use strict";var Dt=$e(),hn=vt(),dn=Tt(),gn=Mt(),z=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let s=z.create(n,t);Array.isArray(s)?r.push(...s):r.push(s)}else r=[].concat(z.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};z.parse=(e,t={})=>gn(e,t);z.stringify=(e,t={})=>typeof e=="string"?Dt(z.parse(e,t),t):Dt(e,t);z.compile=(e,t={})=>(typeof e=="string"&&(e=z.parse(e,t)),hn(e,t));z.expand=(e,t={})=>{typeof e=="string"&&(e=z.parse(e,t));let r=dn(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};z.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?z.compile(e,t):z.expand(e,t);Pt.exports=z});var Re=q((ds,Ut)=>{"use strict";var An=require("path"),se="\\\\/",qt=`[^${se}]`,oe="\\.",mn="\\+",Rn="\\?",ke="\\/",yn="(?=.)",Kt="[^/]",Ke=`(?:${ke}|$)`,Wt=`(?:^|${ke})`,We=`${oe}{1,2}${Ke}`,_n=`(?!${oe})`,En=`(?!${Wt}${We})`,xn=`(?!${oe}{0,1}${Ke})`,bn=`(?!${We})`,Cn=`[^.${ke}]`,wn=`${Kt}*?`,jt={DOT_LITERAL:oe,PLUS_LITERAL:mn,QMARK_LITERAL:Rn,SLASH_LITERAL:ke,ONE_CHAR:yn,QMARK:Kt,END_ANCHOR:Ke,DOTS_SLASH:We,NO_DOT:_n,NO_DOTS:En,NO_DOT_SLASH:xn,NO_DOTS_SLASH:bn,QMARK_NO_DOT:Cn,STAR:wn,START_ANCHOR:Wt},Sn=Q(N({},jt),{SLASH_LITERAL:`[${se}]`,QMARK:qt,STAR:`${qt}*?`,DOTS_SLASH:`${oe}{1,2}(?:[${se}]|$)`,NO_DOT:`(?!${oe})`,NO_DOTS:`(?!(?:^|[${se}])${oe}{1,2}(?:[${se}]|$))`,NO_DOT_SLASH:`(?!${oe}{0,1}(?:[${se}]|$))`,NO_DOTS_SLASH:`(?!${oe}{1,2}(?:[${se}]|$))`,QMARK_NO_DOT:`[^.${se}]`,START_ANCHOR:`(?:^|[${se}])`,END_ANCHOR:`(?:[${se}]|$)`}),vn={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"};Ut.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:vn,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?Sn:jt}}});var ye=q(X=>{"use strict";var Hn=require("path"),$n=process.platform==="win32",{REGEX_BACKSLASH:Tn,REGEX_REMOVE_BACKSLASH:kn,REGEX_SPECIAL_CHARS:Ln,REGEX_SPECIAL_CHARS_GLOBAL:On}=Re();X.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);X.hasRegexChars=e=>Ln.test(e);X.isRegexChar=e=>e.length===1&&X.hasRegexChars(e);X.escapeRegex=e=>e.replace(On,"\\$1");X.toPosixSlashes=e=>e.replace(Tn,"/");X.removeBackslashes=e=>e.replace(kn,t=>t==="\\"?"":t);X.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};X.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:$n===!0||Hn.sep==="\\";X.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?X.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};X.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};X.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",s=r.contains?"":"$",a=`${n}(?:${e})${s}`;return t.negated===!0&&(a=`(?:^(?!${a}).*$)`),a}});var er=q((As,Ft)=>{"use strict";var Qt=ye(),{CHAR_ASTERISK:je,CHAR_AT:Nn,CHAR_BACKWARD_SLASH:_e,CHAR_COMMA:In,CHAR_DOT:Fe,CHAR_EXCLAMATION_MARK:Xt,CHAR_FORWARD_SLASH:Zt,CHAR_LEFT_CURLY_BRACE:Qe,CHAR_LEFT_PARENTHESES:Xe,CHAR_LEFT_SQUARE_BRACKET:Bn,CHAR_PLUS:Mn,CHAR_QUESTION_MARK:Yt,CHAR_RIGHT_CURLY_BRACE:Pn,CHAR_RIGHT_PARENTHESES:zt,CHAR_RIGHT_SQUARE_BRACKET:Dn}=Re(),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,A=-1,f=0,m=0,p=!1,H=!1,_=!1,R=!1,b=!1,C=!1,T=!1,k=!1,E=!1,ee=0,j,y,x={value:"",depth:0,isGlob:!1},M=()=>A>=n,$=()=>h.charCodeAt(A+1),u=()=>(j=y,h.charCodeAt(++A));for(;A0&&(W=h.slice(0,f),h=h.slice(f),m-=f),w&&_===!0&&m>0?(w=h.slice(0,m),P=h.slice(m)):_===!0?(w="",P=h):w=h,w&&w!==""&&w!=="/"&&w!==h&&Vt(w.charCodeAt(w.length-1))&&(w=w.slice(0,-1)),r.unescape===!0&&(P&&(P=Qt.removeBackslashes(P)),w&&T===!0&&(w=Qt.removeBackslashes(w)));let l={prefix:W,input:e,start:f,base:w,glob:P,isBrace:p,isBracket:H,isGlob:_,isExtglob:R,isGlobstar:b,negated:k};if(r.tokens===!0&&(l.maxDepth=0,Vt(y)||i.push(x),l.tokens=i),r.parts===!0||r.tokens===!0){let c;for(let D=0;D{"use strict";var Le=Re(),V=ye(),{MAX_LENGTH:Oe,POSIX_REGEX_SOURCE:Un,REGEX_NON_SPECIAL_CHARS:qn,REGEX_SPECIAL_CHARS_BACKREF:Kn,REPLACEMENTS:rr}=Le,Wn=(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=>V.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=N({},t),n=typeof r.maxLength=="number"?Math.min(Oe,r.maxLength):Oe,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=V.isWindows(t),A=Le.globChars(h),f=Le.extglobChars(A),{DOT_LITERAL:m,PLUS_LITERAL:p,SLASH_LITERAL:H,ONE_CHAR:_,DOTS_SLASH:R,NO_DOT:b,NO_DOT_SLASH:C,NO_DOTS_SLASH:T,QMARK:k,QMARK_NO_DOT:E,STAR:ee,START_ANCHOR:j}=A,y=g=>`(${o}(?:(?!${j}${g.dot?R:m}).)*?)`,x=r.dot?"":b,M=r.dot?k:E,$=r.bash===!0?y(r):ee;r.capture&&($=`(${$})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let u={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=V.removePrefix(e,u),s=e.length;let w=[],W=[],P=[],l=a,c,D=()=>u.index===s-1,G=u.peek=(g=1)=>e[u.index+g],te=u.advance=()=>e[++u.index],re=()=>e.slice(u.index+1),ie=(g="",L=0)=>{u.consumed+=g,u.index+=L},be=g=>{u.output+=g.output!=null?g.output:g.value,ie(g.value)},xr=()=>{let g=1;for(;G()==="!"&&(G(2)!=="("||G(3)==="?");)te(),u.start++,g++;return g%2==0?!1:(u.negated=!0,u.start++,!0)},Ce=g=>{u[g]++,P.push(g)},ce=g=>{u[g]--,P.pop()},S=g=>{if(l.type==="globstar"){let L=u.braces>0&&(g.type==="comma"||g.type==="brace"),d=g.extglob===!0||w.length&&(g.type==="pipe"||g.type==="paren");g.type!=="slash"&&g.type!=="paren"&&!L&&!d&&(u.output=u.output.slice(0,-l.output.length),l.type="star",l.value="*",l.output=$,u.output+=l.output)}if(w.length&&g.type!=="paren"&&!f[g.value]&&(w[w.length-1].inner+=g.value),(g.value||g.output)&&be(g),l&&l.type==="text"&&g.type==="text"){l.value+=g.value,l.output=(l.output||"")+g.value;return}g.prev=l,i.push(g),l=g},we=(g,L)=>{let d=Q(N({},f[L]),{conditions:1,inner:""});d.prev=l,d.parens=u.parens,d.output=u.output;let v=(r.capture?"(":"")+d.open;Ce("parens"),S({type:g,value:L,output:u.output?"":_}),S({type:"paren",extglob:!0,value:te(),output:v}),w.push(d)},br=g=>{let L=g.close+(r.capture?")":"");if(g.type==="negate"){let d=$;g.inner&&g.inner.length>1&&g.inner.includes("/")&&(d=y(r)),(d!==$||D()||/^\)+$/.test(re()))&&(L=g.close=`)$))${d}`),g.prev.type==="bos"&&(u.negatedExtglob=!0)}S({type:"paren",extglob:!0,value:c,output:L}),ce("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let g=!1,L=e.replace(Kn,(d,v,I,F,U,Me)=>F==="\\"?(g=!0,d):F==="?"?v?v+F+(U?k.repeat(U.length):""):Me===0?M+(U?k.repeat(U.length):""):k.repeat(I.length):F==="."?m.repeat(I.length):F==="*"?v?v+F+(U?$:""):$:v?d:`\\${d}`);return g===!0&&(r.unescape===!0?L=L.replace(/\\/g,""):L=L.replace(/\\+/g,d=>d.length%2==0?"\\\\":d?"\\":"")),L===e&&r.contains===!0?(u.output=e,u):(u.output=V.wrapOutput(L,u,t),u)}for(;!D();){if(c=te(),c==="\0")continue;if(c==="\\"){let d=G();if(d==="/"&&r.bash!==!0||d==="."||d===";")continue;if(!d){c+="\\",S({type:"text",value:c});continue}let v=/^\\+/.exec(re()),I=0;if(v&&v[0].length>2&&(I=v[0].length,u.index+=I,I%2!=0&&(c+="\\")),r.unescape===!0?c=te()||"":c+=te()||"",u.brackets===0){S({type:"text",value:c});continue}}if(u.brackets>0&&(c!=="]"||l.value==="["||l.value==="[^")){if(r.posix!==!1&&c===":"){let d=l.value.slice(1);if(d.includes("[")&&(l.posix=!0,d.includes(":"))){let v=l.value.lastIndexOf("["),I=l.value.slice(0,v),F=l.value.slice(v+2),U=Un[F];if(U){l.value=I+U,u.backtrack=!0,te(),!a.output&&i.indexOf(l)===1&&(a.output=_);continue}}}(c==="["&&G()!==":"||c==="-"&&G()==="]")&&(c=`\\${c}`),c==="]"&&(l.value==="["||l.value==="[^")&&(c=`\\${c}`),r.posix===!0&&c==="!"&&l.value==="["&&(c="^"),l.value+=c,be({value:c});continue}if(u.quotes===1&&c!=='"'){c=V.escapeRegex(c),l.value+=c,be({value:c});continue}if(c==='"'){u.quotes=u.quotes===1?0:1,r.keepQuotes===!0&&S({type:"text",value:c});continue}if(c==="("){Ce("parens"),S({type:"paren",value:c});continue}if(c===")"){if(u.parens===0&&r.strictBrackets===!0)throw new SyntaxError(de("opening","("));let d=w[w.length-1];if(d&&u.parens===d.parens+1){br(w.pop());continue}S({type:"paren",value:c,output:u.parens?")":"\\)"}),ce("parens");continue}if(c==="["){if(r.nobracket===!0||!re().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));c=`\\${c}`}else Ce("brackets");S({type:"bracket",value:c});continue}if(c==="]"){if(r.nobracket===!0||l&&l.type==="bracket"&&l.value.length===1){S({type:"text",value:c,output:`\\${c}`});continue}if(u.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(de("opening","["));S({type:"text",value:c,output:`\\${c}`});continue}ce("brackets");let d=l.value.slice(1);if(l.posix!==!0&&d[0]==="^"&&!d.includes("/")&&(c=`/${c}`),l.value+=c,be({value:c}),r.literalBrackets===!1||V.hasRegexChars(d))continue;let v=V.escapeRegex(l.value);if(u.output=u.output.slice(0,-l.value.length),r.literalBrackets===!0){u.output+=v,l.value=v;continue}l.value=`(${o}${v}|${l.value})`,u.output+=l.value;continue}if(c==="{"&&r.nobrace!==!0){Ce("braces");let d={type:"brace",value:c,output:"(",outputIndex:u.output.length,tokensIndex:u.tokens.length};W.push(d),S(d);continue}if(c==="}"){let d=W[W.length-1];if(r.nobrace===!0||!d){S({type:"text",value:c,output:c});continue}let v=")";if(d.dots===!0){let I=i.slice(),F=[];for(let U=I.length-1;U>=0&&(i.pop(),I[U].type!=="brace");U--)I[U].type!=="dots"&&F.unshift(I[U].value);v=Wn(F,r),u.backtrack=!0}if(d.comma!==!0&&d.dots!==!0){let I=u.output.slice(0,d.outputIndex),F=u.tokens.slice(d.tokensIndex);d.value=d.output="\\{",c=v="\\}",u.output=I;for(let U of F)u.output+=U.output||U.value}S({type:"brace",value:c,output:v}),ce("braces"),W.pop();continue}if(c==="|"){w.length>0&&w[w.length-1].conditions++,S({type:"text",value:c});continue}if(c===","){let d=c,v=W[W.length-1];v&&P[P.length-1]==="braces"&&(v.comma=!0,d="|"),S({type:"comma",value:c,output:d});continue}if(c==="/"){if(l.type==="dot"&&u.index===u.start+1){u.start=u.index+1,u.consumed="",u.output="",i.pop(),l=a;continue}S({type:"slash",value:c,output:H});continue}if(c==="."){if(u.braces>0&&l.type==="dot"){l.value==="."&&(l.output=m);let d=W[W.length-1];l.type="dots",l.output+=c,l.value+=c,d.dots=!0;continue}if(u.braces+u.parens===0&&l.type!=="bos"&&l.type!=="slash"){S({type:"text",value:c,output:m});continue}S({type:"dot",value:c,output:m});continue}if(c==="?"){if(!(l&&l.value==="(")&&r.noextglob!==!0&&G()==="("&&G(2)!=="?"){we("qmark",c);continue}if(l&&l.type==="paren"){let v=G(),I=c;if(v==="<"&&!V.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(l.value==="("&&!/[!=<:]/.test(v)||v==="<"&&!/<([!=]|\w+>)/.test(re()))&&(I=`\\${c}`),S({type:"text",value:c,output:I});continue}if(r.dot!==!0&&(l.type==="slash"||l.type==="bos")){S({type:"qmark",value:c,output:E});continue}S({type:"qmark",value:c,output:k});continue}if(c==="!"){if(r.noextglob!==!0&&G()==="("&&(G(2)!=="?"||!/[!=<:]/.test(G(3)))){we("negate",c);continue}if(r.nonegate!==!0&&u.index===0){xr();continue}}if(c==="+"){if(r.noextglob!==!0&&G()==="("&&G(2)!=="?"){we("plus",c);continue}if(l&&l.value==="("||r.regex===!1){S({type:"plus",value:c,output:p});continue}if(l&&(l.type==="bracket"||l.type==="paren"||l.type==="brace")||u.parens>0){S({type:"plus",value:c});continue}S({type:"plus",value:p});continue}if(c==="@"){if(r.noextglob!==!0&&G()==="("&&G(2)!=="?"){S({type:"at",extglob:!0,value:c,output:""});continue}S({type:"text",value:c});continue}if(c!=="*"){(c==="$"||c==="^")&&(c=`\\${c}`);let d=qn.exec(re());d&&(c+=d[0],u.index+=d[0].length),S({type:"text",value:c});continue}if(l&&(l.type==="globstar"||l.star===!0)){l.type="star",l.star=!0,l.value+=c,l.output=$,u.backtrack=!0,u.globstar=!0,ie(c);continue}let g=re();if(r.noextglob!==!0&&/^\([^?]/.test(g)){we("star",c);continue}if(l.type==="star"){if(r.noglobstar===!0){ie(c);continue}let d=l.prev,v=d.prev,I=d.type==="slash"||d.type==="bos",F=v&&(v.type==="star"||v.type==="globstar");if(r.bash===!0&&(!I||g[0]&&g[0]!=="/")){S({type:"star",value:c,output:""});continue}let U=u.braces>0&&(d.type==="comma"||d.type==="brace"),Me=w.length&&(d.type==="pipe"||d.type==="paren");if(!I&&d.type!=="paren"&&!U&&!Me){S({type:"star",value:c,output:""});continue}for(;g.slice(0,3)==="/**";){let Se=e[u.index+4];if(Se&&Se!=="/")break;g=g.slice(3),ie("/**",3)}if(d.type==="bos"&&D()){l.type="globstar",l.value+=c,l.output=y(r),u.output=l.output,u.globstar=!0,ie(c);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&!F&&D()){u.output=u.output.slice(0,-(d.output+l.output).length),d.output=`(?:${d.output}`,l.type="globstar",l.output=y(r)+(r.strictSlashes?")":"|$)"),l.value+=c,u.globstar=!0,u.output+=d.output+l.output,ie(c);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&g[0]==="/"){let Se=g[1]!==void 0?"|$":"";u.output=u.output.slice(0,-(d.output+l.output).length),d.output=`(?:${d.output}`,l.type="globstar",l.output=`${y(r)}${H}|${H}${Se})`,l.value+=c,u.output+=d.output+l.output,u.globstar=!0,ie(c+te()),S({type:"slash",value:"/",output:""});continue}if(d.type==="bos"&&g[0]==="/"){l.type="globstar",l.value+=c,l.output=`(?:^|${H}|${y(r)}${H})`,u.output=l.output,u.globstar=!0,ie(c+te()),S({type:"slash",value:"/",output:""});continue}u.output=u.output.slice(0,-l.output.length),l.type="globstar",l.output=y(r),l.value+=c,u.output+=l.output,u.globstar=!0,ie(c);continue}let L={type:"star",value:c,output:$};if(r.bash===!0){L.output=".*?",(l.type==="bos"||l.type==="slash")&&(L.output=x+L.output),S(L);continue}if(l&&(l.type==="bracket"||l.type==="paren")&&r.regex===!0){L.output=c,S(L);continue}(u.index===u.start||l.type==="slash"||l.type==="dot")&&(l.type==="dot"?(u.output+=C,l.output+=C):r.dot===!0?(u.output+=T,l.output+=T):(u.output+=x,l.output+=x),G()!=="*"&&(u.output+=_,l.output+=_)),S(L)}for(;u.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));u.output=V.escapeLast(u.output,"["),ce("brackets")}for(;u.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing",")"));u.output=V.escapeLast(u.output,"("),ce("parens")}for(;u.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","}"));u.output=V.escapeLast(u.output,"{"),ce("braces")}if(r.strictSlashes!==!0&&(l.type==="star"||l.type==="bracket")&&S({type:"maybe_slash",value:"",output:`${H}?`}),u.backtrack===!0){u.output="";for(let g of u.tokens)u.output+=g.output!=null?g.output:g.value,g.suffix&&(u.output+=g.suffix)}return u};nr.fastpaths=(e,t)=>{let r=N({},t),n=typeof r.maxLength=="number"?Math.min(Oe,r.maxLength):Oe,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=rr[e]||e;let a=V.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:o,ONE_CHAR:h,DOTS_SLASH:A,NO_DOT:f,NO_DOTS:m,NO_DOTS_SLASH:p,STAR:H,START_ANCHOR:_}=Le.globChars(a),R=r.dot?m:f,b=r.dot?p:f,C=r.capture?"":"?:",T={negated:!1,prefix:""},k=r.bash===!0?".*?":H;r.capture&&(k=`(${k})`);let E=x=>x.noglobstar===!0?k:`(${C}(?:(?!${_}${x.dot?A:i}).)*?)`,ee=x=>{switch(x){case"*":return`${R}${h}${k}`;case".*":return`${i}${h}${k}`;case"*.*":return`${R}${k}${i}${h}${k}`;case"*/*":return`${R}${k}${o}${h}${b}${k}`;case"**":return R+E(r);case"**/*":return`(?:${R}${E(r)}${o})?${b}${h}${k}`;case"**/*.*":return`(?:${R}${E(r)}${o})?${b}${k}${i}${h}${k}`;case"**/.*":return`(?:${R}${E(r)}${o})?${i}${h}${k}`;default:{let M=/^(.*?)\.(\w+)$/.exec(x);if(!M)return;let $=ee(M[1]);return $?$+i+M[2]:void 0}}},j=V.removePrefix(e,T),y=ee(j);return y&&r.strictSlashes!==!0&&(y+=`${o}?`),y};tr.exports=nr});var ir=q((Rs,ar)=>{"use strict";var jn=require("path"),Fn=er(),Ze=sr(),Ye=ye(),Qn=Re(),Xn=e=>e&&typeof e=="object"&&!Array.isArray(e),B=(e,t,r=!1)=>{if(Array.isArray(e)){let f=e.map(p=>B(p,t,r));return p=>{for(let H of f){let _=H(p);if(_)return _}return!1}}let n=Xn(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=Ye.isWindows(t),i=n?B.compileRe(e,t):B.makeRe(e,t,!1,!0),o=i.state;delete i.state;let h=()=>!1;if(s.ignore){let f=Q(N({},t),{ignore:null,onMatch:null,onResult:null});h=B(s.ignore,f,r)}let A=(f,m=!1)=>{let{isMatch:p,match:H,output:_}=B.test(f,i,t,{glob:e,posix:a}),R={glob:e,state:o,regex:i,posix:a,input:f,output:_,match:H,isMatch:p};return typeof s.onResult=="function"&&s.onResult(R),p===!1?(R.isMatch=!1,m?R:!1):h(f)?(typeof s.onIgnore=="function"&&s.onIgnore(R),R.isMatch=!1,m?R:!1):(typeof s.onMatch=="function"&&s.onMatch(R),m?R:!0)};return r&&(A.state=o),A};B.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?Ye.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=B.matchBase(e,t,r,s):o=t.exec(h)),{isMatch:Boolean(o),match:o,output:h}};B.matchBase=(e,t,r,n=Ye.isWindows(r))=>(t instanceof RegExp?t:B.makeRe(t,r)).test(jn.basename(e));B.isMatch=(e,t,r)=>B(t,r)(e);B.parse=(e,t)=>Array.isArray(e)?e.map(r=>B.parse(r,t)):Ze(e,Q(N({},t),{fastpaths:!1}));B.scan=(e,t)=>Fn(e,t);B.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=B.toRegex(o,t);return n===!0&&(h.state=e),h};B.makeRe=(e,t,r=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let s=t||{},a={negated:!1,fastpaths:!0},i="",o;return e.startsWith("./")&&(e=e.slice(2),i=a.prefix="./"),s.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(o=Ze.fastpaths(e,t)),o===void 0?(a=Ze(e,t),a.prefix=i+(a.prefix||"")):a.output=o,B.compileRe(a,t,r,n)};B.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/$^/}};B.constants=Qn;ar.exports=B});var ur=q((ys,or)=>{"use strict";or.exports=ir()});var hr=q((_s,cr)=>{"use strict";var lr=require("util"),pr=Gt(),ae=ur(),ze=ye(),fr=e=>typeof e=="string"&&(e===""||e==="./"),O=(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&&A.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 A};O.match=O;O.matcher=(e,t)=>ae(e,t);O.isMatch=(e,t,r)=>ae(t,r)(e);O.any=O.isMatch;O.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=O(e,t,Q(N({},r),{onResult:a}));for(let o of s)i.includes(o)||n.add(o);return[...n]};O.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=>O.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 O.isMatch(e,t,Q(N({},r),{contains:!0}))};O.matchKeys=(e,t,r)=>{if(!ze.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=O(Object.keys(e),t,r),s={};for(let a of n)s[a]=e[a];return s};O.some=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=ae(String(s),r);if(n.some(i=>a(i)))return!0}return!1};O.every=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=ae(String(s),r);if(!n.every(i=>a(i)))return!1}return!0};O.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${lr.inspect(e)}"`);return[].concat(t).every(n=>ae(n,r)(e))};O.capture=(e,t,r)=>{let n=ze.isWindows(r),a=ae.makeRe(String(e),Q(N({},r),{capture:!0})).exec(n?ze.toPosixSlashes(t):t);if(a)return a.slice(1).map(i=>i===void 0?"":i)};O.makeRe=(...e)=>ae.makeRe(...e);O.scan=(...e)=>ae.scan(...e);O.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let s of pr(String(n),t))r.push(ae.parse(s,t));return r};O.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!/\{.*\}/.test(e)?[e]:pr(e,t)};O.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return O.braces(e,Q(N({},t),{expand:!0}))};cr.exports=O});var gr=q((Es,dr)=>{"use strict";dr.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var mr=q((xs,Ve)=>{"use strict";var Zn=gr(),Ar=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,...A)=>{r++;let f=Zn(o,...A);h(f),f.then(n,n)},a=(o,h,...A)=>{rnew Promise(A=>a(o,A,...h));return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),i};Ve.exports=Ar;Ve.exports.default=Ar});var zn={};Lr(zn,{default:()=>Jn});var ve=Y(require("@yarnpkg/cli")),ne=Y(require("@yarnpkg/core")),rt=Y(require("@yarnpkg/core")),le=Y(require("clipanion")),Ae=class extends ve.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 ne.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ne.Project.find(t,this.context.cwd),s=await ne.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 ve.WorkspaceRequiredError(r.cwd,this.context.cwd);a=new Set([n])}else a=new Set(this.workspaces.map(o=>r.getWorkspaceByIdent(rt.structUtils.parseIdent(o))));for(let o of a)for(let h of this.production?["dependencies"]:ne.Manifest.hardDependencies)for(let A of o.manifest.getForScope(h).values()){let f=r.tryWorkspaceByDescriptor(A);f!==null&&a.add(f)}for(let o of r.workspaces)a.has(o)?this.production&&o.manifest.devDependencies.clear():(o.manifest.dependencies.clear(),o.manifest.devDependencies.clear(),o.manifest.peerDependencies.clear(),o.manifest.scripts.clear());return(await ne.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 nt=Ae;var Ne=Y(require("@yarnpkg/cli")),Ie=Y(require("@yarnpkg/core")),Ee=Y(require("@yarnpkg/core")),Z=Y(require("@yarnpkg/core")),K=Y(require("clipanion")),Be=Y(hr()),Rr=Y(require("os")),yr=Y(mr()),ue=Y(require("typanion")),xe=class extends Ne.BaseCommand{constructor(){super(...arguments);this.recursive=K.Option.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=K.Option.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=K.Option.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=K.Option.Boolean("-v,--verbose",!1,{description:"Prefix each output line with the name of the originating workspace"});this.parallel=K.Option.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=K.Option.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=K.Option.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to",validator:ue.applyCascade(ue.isNumber(),[ue.isInteger(),ue.isAtLeast(2)])});this.topological=K.Option.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=K.Option.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=K.Option.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=K.Option.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=K.Option.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.commandName=K.Option.String();this.args=K.Option.Proxy()}async execute(){let t=await Ie.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await Ie.Project.find(t,this.context.cwd);if(!this.all&&!n)throw new Ne.WorkspaceRequiredError(r.cwd,this.context.cwd);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 K.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=E=>Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.from),h=this.from.length>0?[i,...i.getRecursiveWorkspaceChildren()].filter(o):[i],A=this.recursive?[...h,...h.map(E=>[...E.getRecursiveWorkspaceDependencies()]).flat()]:[...h,...h.map(E=>[...E.getRecursiveWorkspaceChildren()]).flat()],f=[];for(let E of A)a&&!E.manifest.scripts.has(a)&&!a.includes(":")||a===process.env.npm_lifecycle_event&&E.cwd===n.cwd||this.include.length>0&&!Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.include)||this.exclude.length>0&&Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.exclude)||this.publicOnly&&E.manifest.private===!0||f.push(E);let m=this.interlaced;this.parallel||(m=!0);let p=new Map,H=new Set,_=this.parallel?Math.max(1,(0,Rr.cpus)().length/2):1,R=(0,yr.default)(this.jobs||_),b=0,C=null,T=!1,k=await Ee.StreamReport.start({configuration:t,stdout:this.context.stdout},async E=>{let ee=async(j,{commandIndex:y})=>{if(T)return-1;!this.parallel&&this.verbose&&y>1&&E.reportSeparator();let x=Yn(j,{configuration:t,verbose:this.verbose,commandIndex:y}),[M,$]=_r(E,{prefix:x,interlaced:m}),[u,w]=_r(E,{prefix:x,interlaced:m});try{this.verbose&&E.reportInfo(null,`${x} Process started`);let W=Date.now(),P=await this.cli.run([this.commandName,...this.args],{cwd:j.cwd,stdout:M,stderr:u})||0;M.end(),u.end(),await $,await w;let l=Date.now();if(this.verbose){let c=t.get("enableTimers")?`, completed in ${Z.formatUtils.pretty(t,l-W,Z.formatUtils.Type.DURATION)}`:"";E.reportInfo(null,`${x} Process exited (exit code ${P})${c}`)}return P===130&&(T=!0,C=P),P}catch(W){throw M.end(),u.end(),await $,await w,W}};for(let j of f)p.set(j.anchoredLocator.locatorHash,j);for(;p.size>0&&!E.hasErrors();){let j=[];for(let[M,$]of p){if(H.has($.anchoredDescriptor.descriptorHash))continue;let u=!0;if(this.topological||this.topologicalDev){let w=this.topologicalDev?new Map([...$.manifest.dependencies,...$.manifest.devDependencies]):$.manifest.dependencies;for(let W of w.values()){let P=r.tryWorkspaceByDescriptor(W);if(u=P===null||!p.has(P.anchoredLocator.locatorHash),!u)break}}if(!!u&&(H.add($.anchoredDescriptor.descriptorHash),j.push(R(async()=>{let w=await ee($,{commandIndex:++b});return p.delete(M),H.delete($.anchoredDescriptor.descriptorHash),w})),!this.parallel))break}if(j.length===0){let M=Array.from(p.values()).map($=>Z.structUtils.prettyLocator(t,$.anchoredLocator)).join(", ");E.reportError(Ee.MessageName.CYCLIC_DEPENDENCIES,`Dependency cycle detected (${M})`);return}let x=(await Promise.all(j)).find(M=>M!==0);C===null&&(C=typeof x!="undefined"?1:C),(this.topological||this.topologicalDev)&&typeof x!="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 C!==null?C:k.exitCode()}};xe.paths=[["workspaces","foreach"]],xe.usage=K.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`.\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 - 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 Z.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 Z.miscUtils.BufferStream;return i.pipe(s,{end:!1}),i.on("finish",()=>{s.end()}),[i,a]}function Yn(e,{configuration:t,commandIndex:r,verbose:n}){if(!n)return null;let s=Z.structUtils.convertToIdent(e.locator),i=`[${Z.structUtils.stringifyIdent(s)}]:`,o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],h=o[r%o.length];return Z.formatUtils.pretty(t,i,h)}var Vn={commands:[nt,Er]},Jn=Vn;return zn;})(); +/*! + * 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.0.2.cjs b/.yarn/releases/yarn-3.0.2.cjs new file mode 100755 index 00000000..3c23463d --- /dev/null +++ b/.yarn/releases/yarn-3.0.2.cjs @@ -0,0 +1,631 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Loe=Object.create,pg=Object.defineProperty,Moe=Object.defineProperties,Toe=Object.getOwnPropertyDescriptor,Ooe=Object.getOwnPropertyDescriptors,Koe=Object.getOwnPropertyNames,gC=Object.getOwnPropertySymbols,Uoe=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty,IN=Object.prototype.propertyIsEnumerable;var EN=(t,e,r)=>e in t?pg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,v=(t,e)=>{for(var r in e||(e={}))uw.call(e,r)&&EN(t,r,e[r]);if(gC)for(var r of gC(e))IN.call(e,r)&&EN(t,r,e[r]);return t},V=(t,e)=>Moe(t,Ooe(e)),Hoe=t=>pg(t,"__esModule",{value:!0});var Rr=(t,e)=>{var r={};for(var i in t)uw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&gC)for(var i of gC(t))e.indexOf(i)<0&&IN.call(t,i)&&(r[i]=t[i]);return r},Yoe=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),et=(t,e)=>{for(var r in e)pg(t,r,{get:e[r],enumerable:!0})},joe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Koe(e))!uw.call(t,i)&&i!=="default"&&pg(t,i,{get:()=>e[i],enumerable:!(r=Toe(e,i))||r.enumerable});return t},te=t=>joe(Hoe(pg(t!=null?Loe(Uoe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var XN=C((J8e,JN)=>{JN.exports=WN;WN.sync=iae;var zN=require("fs");function nae(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{ZN.exports=_N;_N.sync=sae;var $N=require("fs");function _N(t,e,r){$N.stat(t,function(i,n){r(i,i?!1:eL(n,e))})}function sae(t,e){return eL($N.statSync(t),e)}function eL(t,e){return t.isFile()&&oae(t,e)}function oae(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 iL=C((V8e,rL)=>{var z8e=require("fs"),bC;process.platform==="win32"||global.TESTING_WINDOWS?bC=XN():bC=tL();rL.exports=Sw;Sw.sync=aae;function Sw(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){Sw(t,e||{},function(s,o){s?n(s):i(o)})})}bC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function aae(t,e){try{return bC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var cL=C((X8e,nL)=>{var xl=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",sL=require("path"),Aae=xl?";":":",oL=iL(),aL=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),AL=(t,e)=>{let r=e.colon||Aae,i=t.match(/\//)||xl&&t.match(/\\/)?[""]:[...xl?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=xl?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=xl?n.split(r):[""];return xl&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},lL=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AL(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aL(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=sL.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];oL(c+p,{pathExt:s},(m,I)=>{if(!m&&I)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)},lae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=AL(t,e),s=[];for(let o=0;o{"use strict";var uL=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};xw.exports=uL;xw.exports.default=uL});var dL=C((_8e,fL)=>{"use strict";var hL=require("path"),cae=cL(),uae=gL();function pL(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=cae.sync(t.command,{path:r[uae({env:r})],pathExt:e?hL.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=hL.resolve(n?t.options.cwd:"",o)),o}function gae(t){return pL(t)||pL(t,!0)}fL.exports=gae});var CL=C(($8e,kw)=>{"use strict";var vw=/([()\][%!^"`<>&|;, *?])/g;function fae(t){return t=t.replace(vw,"^$1"),t}function hae(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(vw,"^$1"),e&&(t=t.replace(vw,"^$1")),t}kw.exports.command=fae;kw.exports.argument=hae});var IL=C((e4e,mL)=>{"use strict";mL.exports=/^#!(.*)/});var yL=C((t4e,EL)=>{"use strict";var pae=IL();EL.exports=(t="")=>{let e=t.match(pae);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var wL=C((r4e,BL)=>{"use strict";var Pw=require("fs"),dae=yL();function Cae(t){let e=150,r=Buffer.alloc(e),i;try{i=Pw.openSync(t,"r"),Pw.readSync(i,r,0,e,0),Pw.closeSync(i)}catch(n){}return dae(r.toString())}BL.exports=Cae});var SL=C((i4e,QL)=>{"use strict";var mae=require("path"),bL=dL(),DL=CL(),Iae=wL(),Eae=process.platform==="win32",yae=/\.(?:com|exe)$/i,Bae=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wae(t){t.file=bL(t);let e=t.file&&Iae(t.file);return e?(t.args.unshift(t.file),t.command=e,bL(t)):t.file}function Qae(t){if(!Eae)return t;let e=wae(t),r=!yae.test(e);if(t.options.forceShell||r){let i=Bae.test(e);t.command=mae.normalize(t.command),t.command=DL.command(t.command),t.args=t.args.map(s=>DL.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 bae(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:Qae(i)}QL.exports=bae});var vL=C((n4e,xL)=>{"use strict";var Fw=process.platform==="win32";function Rw(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 Dae(t,e){if(!Fw)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=kL(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function kL(t,e){return Fw&&t===1&&!e.file?Rw(e.original,"spawn"):null}function Sae(t,e){return Fw&&t===1&&!e.file?Rw(e.original,"spawnSync"):null}xL.exports={hookChildProcess:Dae,verifyENOENT:kL,verifyENOENTSync:Sae,notFoundError:Rw}});var Mw=C((s4e,kl)=>{"use strict";var PL=require("child_process"),Nw=SL(),Lw=vL();function FL(t,e,r){let i=Nw(t,e,r),n=PL.spawn(i.command,i.args,i.options);return Lw.hookChildProcess(n,i),n}function xae(t,e,r){let i=Nw(t,e,r),n=PL.spawnSync(i.command,i.args,i.options);return n.error=n.error||Lw.verifyENOENTSync(n.status,i),n}kl.exports=FL;kl.exports.spawn=FL;kl.exports.sync=xae;kl.exports._parse=Nw;kl.exports._enoent=Lw});var NL=C((c4e,RL)=>{"use strict";RL.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 qw=C((u4e,LL)=>{var Pg=NL(),ML={};for(let t of Object.keys(Pg))ML[Pg[t]]=t;var Ge={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"]}};LL.exports=Ge;for(let t of Object.keys(Ge)){if(!("channels"in Ge[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ge[t]))throw new Error("missing channel labels property: "+t);if(Ge[t].labels.length!==Ge[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ge[t];delete Ge[t].channels,delete Ge[t].labels,Object.defineProperty(Ge[t],"channels",{value:e}),Object.defineProperty(Ge[t],"labels",{value:r})}Ge.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]};Ge.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]};Ge.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Ge.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]};Ge.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 Pae(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ge.rgb.keyword=function(t){let e=ML[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Pg)){let s=Pg[n],o=Pae(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]};Ge.rgb.lab=function(t){let e=Ge.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]};Ge.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};Ge.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]};Ge.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]}};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Ge.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};Ge.hsv.ansi16=function(t){return Ge.rgb.ansi16(Ge.hsv.rgb(t),t[2])};Ge.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)};Ge.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]};Ge.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]};Ge.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};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.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]};Ge.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ge.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ge.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ge.gray.hsl=function(t){return[0,0,t[0]]};Ge.gray.hsv=Ge.gray.hsl;Ge.gray.hwb=function(t){return[0,100,t[0]]};Ge.gray.cmyk=function(t){return[0,0,0,t[0]]};Ge.gray.lab=function(t){return[t[0],0,0]};Ge.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};Ge.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var OL=C((g4e,TL)=>{var DC=qw();function Fae(){let t={},e=Object.keys(DC);for(let r=e.length,i=0;i{var Jw=qw(),Mae=OL(),vl={},Tae=Object.keys(Jw);function Oae(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 Kae(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{vl[t]={},Object.defineProperty(vl[t],"channels",{value:Jw[t].channels}),Object.defineProperty(vl[t],"labels",{value:Jw[t].labels});let e=Mae(t);Object.keys(e).forEach(i=>{let n=e[i];vl[t][i]=Kae(n),vl[t][i].raw=Oae(n)})});KL.exports=vl});var JL=C((h4e,HL)=>{"use strict";var YL=(t,e)=>(...r)=>`[${t(...r)+e}m`,jL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},GL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},SC=t=>t,qL=(t,e,r)=>[t,e,r],Pl=(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})},Ww,Fl=(t,e,r,i)=>{Ww===void 0&&(Ww=UL());let n=i?10:0,s={};for(let[o,a]of Object.entries(Ww)){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 Uae(){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="",Pl(e.color,"ansi",()=>Fl(YL,"ansi16",SC,!1)),Pl(e.color,"ansi256",()=>Fl(jL,"ansi256",SC,!1)),Pl(e.color,"ansi16m",()=>Fl(GL,"rgb",qL,!1)),Pl(e.bgColor,"ansi",()=>Fl(YL,"ansi16",SC,!0)),Pl(e.bgColor,"ansi256",()=>Fl(jL,"ansi256",SC,!0)),Pl(e.bgColor,"ansi16m",()=>Fl(GL,"rgb",qL,!0)),e}Object.defineProperty(HL,"exports",{enumerable:!0,get:Uae})});var zL=C((p4e,WL)=>{"use strict";WL.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 Hae=require("os"),XL=require("tty"),on=zL(),{env:dr}=process,Lo;on("no-color")||on("no-colors")||on("color=false")||on("color=never")?Lo=0:(on("color")||on("colors")||on("color=true")||on("color=always"))&&(Lo=1);"FORCE_COLOR"in dr&&(dr.FORCE_COLOR==="true"?Lo=1:dr.FORCE_COLOR==="false"?Lo=0:Lo=dr.FORCE_COLOR.length===0?1:Math.min(parseInt(dr.FORCE_COLOR,10),3));function zw(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Vw(t,e){if(Lo===0)return 0;if(on("color=16m")||on("color=full")||on("color=truecolor"))return 3;if(on("color=256"))return 2;if(t&&!e&&Lo===void 0)return 0;let r=Lo||0;if(dr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Hae.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in dr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in dr)||dr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in dr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(dr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in dr)return 1;if(dr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in dr){let i=parseInt((dr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(dr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(dr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(dr.TERM)||"COLORTERM"in dr?1:r}function Yae(t){let e=Vw(t,t&&t.isTTY);return zw(e)}VL.exports={supportsColor:Yae,stdout:zw(Vw(!0,XL.isatty(1))),stderr:zw(Vw(!0,XL.isatty(2)))}});var $L=C((C4e,_L)=>{"use strict";var jae=(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},Gae=(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};_L.exports={stringReplaceAll:jae,stringEncaseCRLFWithFirstIndex:Gae}});var nM=C((m4e,eM)=>{"use strict";var qae=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,tM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Jae=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Wae=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,zae=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function rM(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)):zae.get(t)||t}function Vae(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(Jae))r.push(n[2].replace(Wae,(a,l,c)=>l?rM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function Xae(t){tM.lastIndex=0;let e=[],r;for(;(r=tM.exec(t))!==null;){let i=r[1];if(r[2]){let n=Vae(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function iM(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}eM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(qae,(s,o,a,l,c,u)=>{if(o)n.push(rM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:iM(t,r)(g)),r.push({inverse:a,styles:Xae(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(iM(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 eQ=C((I4e,sM)=>{"use strict";var Fg=JL(),{stdout:Xw,stderr:Zw}=ZL(),{stringReplaceAll:Zae,stringEncaseCRLFWithFirstIndex:_ae}=$L(),oM=["ansi","ansi","ansi256","ansi16m"],Rl=Object.create(null),$ae=(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=Xw?Xw.level:0;t.level=e.level===void 0?r:e.level},aM=class{constructor(e){return AM(e)}},AM=t=>{let e={};return $ae(e,t),e.template=(...r)=>eAe(e.template,...r),Object.setPrototypeOf(e,xC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=aM,e.template};function xC(t){return AM(t)}for(let[t,e]of Object.entries(Fg))Rl[t]={get(){let r=kC(this,_w(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Rl.visible={get(){let t=kC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var lM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of lM)Rl[t]={get(){let{level:e}=this;return function(...r){let i=_w(Fg.color[oM[e]][t](...r),Fg.color.close,this._styler);return kC(this,i,this._isEmpty)}}};for(let t of lM){let e="bg"+t[0].toUpperCase()+t.slice(1);Rl[e]={get(){let{level:r}=this;return function(...i){let n=_w(Fg.bgColor[oM[r]][t](...i),Fg.bgColor.close,this._styler);return kC(this,n,this._isEmpty)}}}}var tAe=Object.defineProperties(()=>{},V(v({},Rl),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),_w=(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}},kC=(t,e,r)=>{let i=(...n)=>rAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=tAe,i._generator=t,i._styler=e,i._isEmpty=r,i},rAe=(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=Zae(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=_ae(e,n,i,s)),i+e+n},$w,eAe=(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{cM.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 Ng=C(Ki=>{"use strict";var gM=uM(),Zn=process.env;Object.defineProperty(Ki,"_vendors",{value:gM.map(function(t){return t.constant})});Ki.name=null;Ki.isPR=null;gM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return fM(i)});if(Ki[t.constant]=r,r)switch(Ki.name=t.name,typeof t.pr){case"string":Ki.isPR=!!Zn[t.pr];break;case"object":"env"in t.pr?Ki.isPR=t.pr.env in Zn&&Zn[t.pr.env]!==t.pr.ne:"any"in t.pr?Ki.isPR=t.pr.any.some(function(i){return!!Zn[i]}):Ki.isPR=fM(t.pr);break;default:Ki.isPR=null}});Ki.isCI=!!(Zn.CI||Zn.CONTINUOUS_INTEGRATION||Zn.BUILD_NUMBER||Zn.RUN_ID||Ki.name);function fM(t){return typeof t=="string"?!!Zn[t]:Object.keys(t).every(function(e){return Zn[e]===t[e]})}});var vC=C(an=>{"use strict";an.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;an.find=(t,e)=>t.nodes.find(r=>r.type===e);an.exceedsLimit=(t,e,r=1,i)=>i===!1||!an.isInteger(t)||!an.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;an.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)};an.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;an.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;an.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;an.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);an.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var pM=vC();hM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&pM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&pM.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 CM=C((Q4e,dM)=>{"use strict";dM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var DM=C((b4e,mM)=>{"use strict";var IM=CM(),Va=(t,e,r)=>{if(IM(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(IM(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=v({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(Va.cache.hasOwnProperty(l))return Va.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=yM(t)||yM(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=EM(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=EM(c,u,f,i)),f.negatives=p,f.positives=h,f.result=iAe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Va.cache[l]=f,f.result};function iAe(t,e,r){let i=tQ(t,e,"-",!1,r)||[],n=tQ(e,t,"",!1,r)||[],s=tQ(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function sAe(t,e){let r=1,i=1,n=BM(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=BM(t,r);for(n=wM(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+QM(a.count),o=c+1;continue}r.isPadded&&(g=lAe(c,r,i)),u.string=g+u.pattern+QM(u.count),s.push(u),o=c+1,a=u}return s}function tQ(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!bM(e,"string",a)&&s.push(r+a),i&&bM(e,"string",a)&&s.push(r+a)}return s}function oAe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function bM(t,e,r){return t.some(i=>i[e]===r)}function BM(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function wM(t,e){return t-t%Math.pow(10,e)}function QM(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function aAe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function yM(t){return/^-?(0+)\d/.test(t)}function lAe(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}}`}}Va.cache={};Va.clearCache=()=>Va.cache={};mM.exports=Va});var nQ=C((D4e,SM)=>{"use strict";var cAe=require("util"),xM=DM(),kM=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),uAe=t=>e=>t===!0?Number(e):String(e),rQ=t=>typeof t=="number"||typeof t=="string"&&t!=="",Lg=t=>Number.isInteger(+t),iQ=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},gAe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,fAe=(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},vM=(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},PM=(t,e,r,i)=>{if(r)return xM(t,e,v({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},FM=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return xM(t,e,r)},RM=(...t)=>new RangeError("Invalid range arguments: "+cAe.inspect(...t)),NM=(t,e,r)=>{if(r.strictRanges===!0)throw RM([t,e]);return[]},pAe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},dAe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw RM([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=iQ(a)||iQ(l)||iQ(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&gAe(t,e,i)===!1,h=i.transform||uAe(f);if(i.toRegex&&r===1)return PM(vM(t,g),vM(e,g),!0,i);let p={negatives:[],positives:[]},m=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(fAe(h(n,y),g,f)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?hAe(p,i):FM(I,null,v({wrap:!1},i)):I},CAe=(t,e,r=1,i={})=>{if(!Lg(t)&&t.length>1||!Lg(e)&&e.length>1)return NM(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 PM(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?FM(u,null,{wrap:!1,options:i}):u},FC=(t,e,r,i={})=>{if(e==null&&rQ(t))return[t];if(!rQ(t)||!rQ(e))return NM(t,e,i);if(typeof r=="function")return FC(t,e,1,{transform:r});if(kM(r))return FC(t,e,0,r);let n=v({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Lg(r)?Lg(t)&&Lg(e)?dAe(t,e,r,n):CAe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!kM(r)?pAe(r,n):FC(t,e,1,r)};SM.exports=FC});var TM=C((S4e,LM)=>{"use strict";var mAe=nQ(),MM=vC(),IAe=(t,e={})=>{let r=(i,n={})=>{let s=MM.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=MM.reduce(i.nodes),g=mAe(...u,V(v({},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)};LM.exports=IAe});var UM=C((x4e,OM)=>{"use strict";var EAe=nQ(),KM=PC(),Nl=vC(),Xa=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Nl.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Xa(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Xa(n,s,r):n+s);return Nl.flatten(i)},yAe=(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(Xa(a.pop(),KM(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Xa(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Nl.reduce(n.nodes);if(Nl.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=EAe(...g,e);f.length===0&&(f=KM(n,e)),a.push(Xa(a.pop(),f)),n.nodes=[];return}let l=Nl.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";HM.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 WM=C((v4e,jM)=>{"use strict";var BAe=PC(),{MAX_LENGTH:GM,CHAR_BACKSLASH:sQ,CHAR_BACKTICK:wAe,CHAR_COMMA:QAe,CHAR_DOT:bAe,CHAR_LEFT_PARENTHESES:DAe,CHAR_RIGHT_PARENTHESES:SAe,CHAR_LEFT_CURLY_BRACE:xAe,CHAR_RIGHT_CURLY_BRACE:kAe,CHAR_LEFT_SQUARE_BRACKET:qM,CHAR_RIGHT_SQUARE_BRACKET:JM,CHAR_DOUBLE_QUOTE:vAe,CHAR_SINGLE_QUOTE:PAe,CHAR_NO_BREAK_SPACE:FAe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:RAe}=YM(),NAe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(GM,r.maxLength):GM;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=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:BAe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===bAe&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.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"){I.pop();let y=I[I.length-1];y.value+=a.value+f,a=y,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(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};jM.exports=NAe});var XM=C((P4e,zM)=>{"use strict";var VM=PC(),LAe=TM(),MAe=UM(),TAe=WM(),Ui=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ui.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ui.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.parse=(t,e={})=>TAe(t,e);Ui.stringify=(t,e={})=>typeof t=="string"?VM(Ui.parse(t,e),e):VM(t,e);Ui.compile=(t,e={})=>(typeof t=="string"&&(t=Ui.parse(t,e)),LAe(t,e));Ui.expand=(t,e={})=>{typeof t=="string"&&(t=Ui.parse(t,e));let r=MAe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ui.compile(t,e):Ui.expand(t,e);zM.exports=Ui});var Mg=C((F4e,ZM)=>{"use strict";var OAe=require("path"),_n="\\\\/",_M=`[^${_n}]`,Os="\\.",KAe="\\+",UAe="\\?",RC="\\/",HAe="(?=.)",$M="[^/]",oQ=`(?:${RC}|$)`,eT=`(?:^|${RC})`,aQ=`${Os}{1,2}${oQ}`,YAe=`(?!${Os})`,jAe=`(?!${eT}${aQ})`,GAe=`(?!${Os}{0,1}${oQ})`,qAe=`(?!${aQ})`,JAe=`[^.${RC}]`,WAe=`${$M}*?`,tT={DOT_LITERAL:Os,PLUS_LITERAL:KAe,QMARK_LITERAL:UAe,SLASH_LITERAL:RC,ONE_CHAR:HAe,QMARK:$M,END_ANCHOR:oQ,DOTS_SLASH:aQ,NO_DOT:YAe,NO_DOTS:jAe,NO_DOT_SLASH:GAe,NO_DOTS_SLASH:qAe,QMARK_NO_DOT:JAe,STAR:WAe,START_ANCHOR:eT},zAe=V(v({},tT),{SLASH_LITERAL:`[${_n}]`,QMARK:_M,STAR:`${_M}*?`,DOTS_SLASH:`${Os}{1,2}(?:[${_n}]|$)`,NO_DOT:`(?!${Os})`,NO_DOTS:`(?!(?:^|[${_n}])${Os}{1,2}(?:[${_n}]|$))`,NO_DOT_SLASH:`(?!${Os}{0,1}(?:[${_n}]|$))`,NO_DOTS_SLASH:`(?!${Os}{1,2}(?:[${_n}]|$))`,QMARK_NO_DOT:`[^.${_n}]`,START_ANCHOR:`(?:^|[${_n}])`,END_ANCHOR:`(?:[${_n}]|$)`}),VAe={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"};ZM.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:VAe,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:OAe.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?zAe:tT}}});var Tg=C(wi=>{"use strict";var XAe=require("path"),ZAe=process.platform==="win32",{REGEX_BACKSLASH:_Ae,REGEX_REMOVE_BACKSLASH:$Ae,REGEX_SPECIAL_CHARS:ele,REGEX_SPECIAL_CHARS_GLOBAL:tle}=Mg();wi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);wi.hasRegexChars=t=>ele.test(t);wi.isRegexChar=t=>t.length===1&&wi.hasRegexChars(t);wi.escapeRegex=t=>t.replace(tle,"\\$1");wi.toPosixSlashes=t=>t.replace(_Ae,"/");wi.removeBackslashes=t=>t.replace($Ae,e=>e==="\\"?"":e);wi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};wi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:ZAe===!0||XAe.sep==="\\";wi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?wi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};wi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};wi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var cT=C((N4e,rT)=>{"use strict";var iT=Tg(),{CHAR_ASTERISK:AQ,CHAR_AT:rle,CHAR_BACKWARD_SLASH:Og,CHAR_COMMA:ile,CHAR_DOT:lQ,CHAR_EXCLAMATION_MARK:nT,CHAR_FORWARD_SLASH:sT,CHAR_LEFT_CURLY_BRACE:cQ,CHAR_LEFT_PARENTHESES:uQ,CHAR_LEFT_SQUARE_BRACKET:nle,CHAR_PLUS:sle,CHAR_QUESTION_MARK:oT,CHAR_RIGHT_CURLY_BRACE:ole,CHAR_RIGHT_PARENTHESES:aT,CHAR_RIGHT_SQUARE_BRACKET:ale}=Mg(),AT=t=>t===sT||t===Og,lT=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},Ale=(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,I=!1,y=!1,B=!1,x=!1,F=!1,N=0,O,P,J={value:"",depth:0,isGlob:!1},oe=()=>c>=i,K=()=>l.charCodeAt(c+1),A=()=>(O=P,l.charCodeAt(++c));for(;c0&&(ee=l.slice(0,u),l=l.slice(u),g-=u),W&&p===!0&&g>0?(W=l.slice(0,g),re=l.slice(g)):p===!0?(W="",re=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&AT(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===!0&&(re&&(re=iT.removeBackslashes(re)),W&&B===!0&&(W=iT.removeBackslashes(W)));let H={prefix:ee,input:t,start:u,base:W,glob:re,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:I,negated:x};if(r.tokens===!0&&(H.maxDepth=0,AT(P)||o.push(J),H.tokens=o),r.parts===!0||r.tokens===!0){let R;for(let ve=0;ve{"use strict";var NC=Mg(),Hi=Tg(),{MAX_LENGTH:LC,POSIX_REGEX_SOURCE:lle,REGEX_NON_SPECIAL_CHARS:cle,REGEX_SPECIAL_CHARS_BACKREF:ule,REPLACEMENTS:gT}=NC,gle=(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=>Hi.escapeRegex(n)).join("..")}return r},Ll=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,fT=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=gT[t]||t;let r=v({},e),i=typeof r.maxLength=="number"?Math.min(LC,r.maxLength):LC,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=Hi.isWindows(e),c=NC.globChars(l),u=NC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:B,QMARK:x,QMARK_NO_DOT:F,STAR:N,START_ANCHOR:O}=c,P=X=>`(${a}(?:(?!${O}${X.dot?m:g}).)*?)`,J=r.dot?"":I,oe=r.dot?x:F,K=r.bash===!0?P(r):N;r.capture&&(K=`(${K})`),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=Hi.removePrefix(t,A),n=t.length;let W=[],ee=[],re=[],H=s,R,ve=()=>A.index===n-1,Ne=A.peek=(X=1)=>t[A.index+X],Je=A.advance=()=>t[++A.index],Ke=()=>t.slice(A.index+1),ie=(X="",ae=0)=>{A.consumed+=X,A.index+=ae},ce=X=>{A.output+=X.output!=null?X.output:X.value,ie(X.value)},Se=()=>{let X=1;for(;Ne()==="!"&&(Ne(2)!=="("||Ne(3)==="?");)Je(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},fe=X=>{A[X]++,re.push(X)},Ie=X=>{A[X]--,re.pop()},pe=X=>{if(H.type==="globstar"){let ae=A.braces>0&&(X.type==="comma"||X.type==="brace"),ue=X.extglob===!0||W.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!ae&&!ue&&(A.output=A.output.slice(0,-H.output.length),H.type="star",H.value="*",H.output=K,A.output+=H.output)}if(W.length&&X.type!=="paren"&&!u[X.value]&&(W[W.length-1].inner+=X.value),(X.value||X.output)&&ce(X),H&&H.type==="text"&&X.type==="text"){H.value+=X.value,H.output=(H.output||"")+X.value;return}X.prev=H,o.push(X),H=X},Qe=(X,ae)=>{let ue=V(v({},u[ae]),{conditions:1,inner:""});ue.prev=H,ue.parens=A.parens,ue.output=A.output;let Be=(r.capture?"(":"")+ue.open;fe("parens"),pe({type:X,value:ae,output:A.output?"":p}),pe({type:"paren",extglob:!0,value:Je(),output:Be}),W.push(ue)},Z=X=>{let ae=X.close+(r.capture?")":"");if(X.type==="negate"){let ue=K;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(ue=P(r)),(ue!==K||ve()||/^\)+$/.test(Ke()))&&(ae=X.close=`)$))${ue}`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}pe({type:"paren",extglob:!0,value:R,output:ae}),Ie("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,ae=t.replace(ule,(ue,Be,ct,mt,St,xn)=>mt==="\\"?(X=!0,ue):mt==="?"?Be?Be+mt+(St?x.repeat(St.length):""):xn===0?oe+(St?x.repeat(St.length):""):x.repeat(ct.length):mt==="."?g.repeat(ct.length):mt==="*"?Be?Be+mt+(St?K:""):K:Be?ue:`\\${ue}`);return X===!0&&(r.unescape===!0?ae=ae.replace(/\\/g,""):ae=ae.replace(/\\+/g,ue=>ue.length%2==0?"\\\\":ue?"\\":"")),ae===t&&r.contains===!0?(A.output=t,A):(A.output=Hi.wrapOutput(ae,A,e),A)}for(;!ve();){if(R=Je(),R==="\0")continue;if(R==="\\"){let ue=Ne();if(ue==="/"&&r.bash!==!0||ue==="."||ue===";")continue;if(!ue){R+="\\",pe({type:"text",value:R});continue}let Be=/^\\+/.exec(Ke()),ct=0;if(Be&&Be[0].length>2&&(ct=Be[0].length,A.index+=ct,ct%2!=0&&(R+="\\")),r.unescape===!0?R=Je()||"":R+=Je()||"",A.brackets===0){pe({type:"text",value:R});continue}}if(A.brackets>0&&(R!=="]"||H.value==="["||H.value==="[^")){if(r.posix!==!1&&R===":"){let ue=H.value.slice(1);if(ue.includes("[")&&(H.posix=!0,ue.includes(":"))){let Be=H.value.lastIndexOf("["),ct=H.value.slice(0,Be),mt=H.value.slice(Be+2),St=lle[mt];if(St){H.value=ct+St,A.backtrack=!0,Je(),!s.output&&o.indexOf(H)===1&&(s.output=p);continue}}}(R==="["&&Ne()!==":"||R==="-"&&Ne()==="]")&&(R=`\\${R}`),R==="]"&&(H.value==="["||H.value==="[^")&&(R=`\\${R}`),r.posix===!0&&R==="!"&&H.value==="["&&(R="^"),H.value+=R,ce({value:R});continue}if(A.quotes===1&&R!=='"'){R=Hi.escapeRegex(R),H.value+=R,ce({value:R});continue}if(R==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&pe({type:"text",value:R});continue}if(R==="("){fe("parens"),pe({type:"paren",value:R});continue}if(R===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ll("opening","("));let ue=W[W.length-1];if(ue&&A.parens===ue.parens+1){Z(W.pop());continue}pe({type:"paren",value:R,output:A.parens?")":"\\)"}),Ie("parens");continue}if(R==="["){if(r.nobracket===!0||!Ke().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ll("closing","]"));R=`\\${R}`}else fe("brackets");pe({type:"bracket",value:R});continue}if(R==="]"){if(r.nobracket===!0||H&&H.type==="bracket"&&H.value.length===1){pe({type:"text",value:R,output:`\\${R}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ll("opening","["));pe({type:"text",value:R,output:`\\${R}`});continue}Ie("brackets");let ue=H.value.slice(1);if(H.posix!==!0&&ue[0]==="^"&&!ue.includes("/")&&(R=`/${R}`),H.value+=R,ce({value:R}),r.literalBrackets===!1||Hi.hasRegexChars(ue))continue;let Be=Hi.escapeRegex(H.value);if(A.output=A.output.slice(0,-H.value.length),r.literalBrackets===!0){A.output+=Be,H.value=Be;continue}H.value=`(${a}${Be}|${H.value})`,A.output+=H.value;continue}if(R==="{"&&r.nobrace!==!0){fe("braces");let ue={type:"brace",value:R,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ee.push(ue),pe(ue);continue}if(R==="}"){let ue=ee[ee.length-1];if(r.nobrace===!0||!ue){pe({type:"text",value:R,output:R});continue}let Be=")";if(ue.dots===!0){let ct=o.slice(),mt=[];for(let St=ct.length-1;St>=0&&(o.pop(),ct[St].type!=="brace");St--)ct[St].type!=="dots"&&mt.unshift(ct[St].value);Be=gle(mt,r),A.backtrack=!0}if(ue.comma!==!0&&ue.dots!==!0){let ct=A.output.slice(0,ue.outputIndex),mt=A.tokens.slice(ue.tokensIndex);ue.value=ue.output="\\{",R=Be="\\}",A.output=ct;for(let St of mt)A.output+=St.output||St.value}pe({type:"brace",value:R,output:Be}),Ie("braces"),ee.pop();continue}if(R==="|"){W.length>0&&W[W.length-1].conditions++,pe({type:"text",value:R});continue}if(R===","){let ue=R,Be=ee[ee.length-1];Be&&re[re.length-1]==="braces"&&(Be.comma=!0,ue="|"),pe({type:"comma",value:R,output:ue});continue}if(R==="/"){if(H.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),H=s;continue}pe({type:"slash",value:R,output:h});continue}if(R==="."){if(A.braces>0&&H.type==="dot"){H.value==="."&&(H.output=g);let ue=ee[ee.length-1];H.type="dots",H.output+=R,H.value+=R,ue.dots=!0;continue}if(A.braces+A.parens===0&&H.type!=="bos"&&H.type!=="slash"){pe({type:"text",value:R,output:g});continue}pe({type:"dot",value:R,output:g});continue}if(R==="?"){if(!(H&&H.value==="(")&&r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){Qe("qmark",R);continue}if(H&&H.type==="paren"){let Be=Ne(),ct=R;if(Be==="<"&&!Hi.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(H.value==="("&&!/[!=<:]/.test(Be)||Be==="<"&&!/<([!=]|\w+>)/.test(Ke()))&&(ct=`\\${R}`),pe({type:"text",value:R,output:ct});continue}if(r.dot!==!0&&(H.type==="slash"||H.type==="bos")){pe({type:"qmark",value:R,output:F});continue}pe({type:"qmark",value:R,output:x});continue}if(R==="!"){if(r.noextglob!==!0&&Ne()==="("&&(Ne(2)!=="?"||!/[!=<:]/.test(Ne(3)))){Qe("negate",R);continue}if(r.nonegate!==!0&&A.index===0){Se();continue}}if(R==="+"){if(r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){Qe("plus",R);continue}if(H&&H.value==="("||r.regex===!1){pe({type:"plus",value:R,output:f});continue}if(H&&(H.type==="bracket"||H.type==="paren"||H.type==="brace")||A.parens>0){pe({type:"plus",value:R});continue}pe({type:"plus",value:f});continue}if(R==="@"){if(r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){pe({type:"at",extglob:!0,value:R,output:""});continue}pe({type:"text",value:R});continue}if(R!=="*"){(R==="$"||R==="^")&&(R=`\\${R}`);let ue=cle.exec(Ke());ue&&(R+=ue[0],A.index+=ue[0].length),pe({type:"text",value:R});continue}if(H&&(H.type==="globstar"||H.star===!0)){H.type="star",H.star=!0,H.value+=R,H.output=K,A.backtrack=!0,A.globstar=!0,ie(R);continue}let X=Ke();if(r.noextglob!==!0&&/^\([^?]/.test(X)){Qe("star",R);continue}if(H.type==="star"){if(r.noglobstar===!0){ie(R);continue}let ue=H.prev,Be=ue.prev,ct=ue.type==="slash"||ue.type==="bos",mt=Be&&(Be.type==="star"||Be.type==="globstar");if(r.bash===!0&&(!ct||X[0]&&X[0]!=="/")){pe({type:"star",value:R,output:""});continue}let St=A.braces>0&&(ue.type==="comma"||ue.type==="brace"),xn=W.length&&(ue.type==="pipe"||ue.type==="paren");if(!ct&&ue.type!=="paren"&&!St&&!xn){pe({type:"star",value:R,output:""});continue}for(;X.slice(0,3)==="/**";){let Ii=t[A.index+4];if(Ii&&Ii!=="/")break;X=X.slice(3),ie("/**",3)}if(ue.type==="bos"&&ve()){H.type="globstar",H.value+=R,H.output=P(r),A.output=H.output,A.globstar=!0,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&!mt&&ve()){A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=P(r)+(r.strictSlashes?")":"|$)"),H.value+=R,A.globstar=!0,A.output+=ue.output+H.output,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&X[0]==="/"){let Ii=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=`${P(r)}${h}|${h}${Ii})`,H.value+=R,A.output+=ue.output+H.output,A.globstar=!0,ie(R+Je()),pe({type:"slash",value:"/",output:""});continue}if(ue.type==="bos"&&X[0]==="/"){H.type="globstar",H.value+=R,H.output=`(?:^|${h}|${P(r)}${h})`,A.output=H.output,A.globstar=!0,ie(R+Je()),pe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-H.output.length),H.type="globstar",H.output=P(r),H.value+=R,A.output+=H.output,A.globstar=!0,ie(R);continue}let ae={type:"star",value:R,output:K};if(r.bash===!0){ae.output=".*?",(H.type==="bos"||H.type==="slash")&&(ae.output=J+ae.output),pe(ae);continue}if(H&&(H.type==="bracket"||H.type==="paren")&&r.regex===!0){ae.output=R,pe(ae);continue}(A.index===A.start||H.type==="slash"||H.type==="dot")&&(H.type==="dot"?(A.output+=y,H.output+=y):r.dot===!0?(A.output+=B,H.output+=B):(A.output+=J,H.output+=J),Ne()!=="*"&&(A.output+=p,H.output+=p)),pe(ae)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing","]"));A.output=Hi.escapeLast(A.output,"["),Ie("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing",")"));A.output=Hi.escapeLast(A.output,"("),Ie("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing","}"));A.output=Hi.escapeLast(A.output,"{"),Ie("braces")}if(r.strictSlashes!==!0&&(H.type==="star"||H.type==="bracket")&&pe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};fT.fastpaths=(t,e)=>{let r=v({},e),i=typeof r.maxLength=="number"?Math.min(LC,r.maxLength):LC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=gT[t]||t;let s=Hi.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}=NC.globChars(s),m=r.dot?g:u,I=r.dot?f:u,y=r.capture?"":"?:",B={negated:!1,prefix:""},x=r.bash===!0?".*?":h;r.capture&&(x=`(${x})`);let F=J=>J.noglobstar===!0?x:`(${y}(?:(?!${p}${J.dot?c:o}).)*?)`,N=J=>{switch(J){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${I}${x}`;case"**":return m+F(r);case"**/*":return`(?:${m}${F(r)}${a})?${I}${l}${x}`;case"**/*.*":return`(?:${m}${F(r)}${a})?${I}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${F(r)}${a})?${o}${l}${x}`;default:{let oe=/^(.*?)\.(\w+)$/.exec(J);if(!oe)return;let K=N(oe[1]);return K?K+o+oe[2]:void 0}}},O=Hi.removePrefix(t,B),P=N(O);return P&&r.strictSlashes!==!0&&(P+=`${a}?`),P};uT.exports=fT});var dT=C((M4e,pT)=>{"use strict";var fle=require("path"),hle=cT(),gQ=hT(),fQ=Tg(),ple=Mg(),dle=t=>t&&typeof t=="object"&&!Array.isArray(t),nr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>nr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=dle(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=fQ.isWindows(e),o=i?nr.compileRe(t,e):nr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=V(v({},e),{ignore:null,onMatch:null,onResult:null});l=nr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=nr.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};nr.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?fQ.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=nr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};nr.matchBase=(t,e,r,i=fQ.isWindows(r))=>(e instanceof RegExp?e:nr.makeRe(e,r)).test(fle.basename(t));nr.isMatch=(t,e,r)=>nr(e,r)(t);nr.parse=(t,e)=>Array.isArray(t)?t.map(r=>nr.parse(r,e)):gQ(t,V(v({},e),{fastpaths:!1}));nr.scan=(t,e)=>hle(t,e);nr.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=nr.toRegex(a,e);return i===!0&&(l.state=t),l};nr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=gQ.fastpaths(t,e)),a===void 0?(s=gQ(t,e),s.prefix=o+(s.prefix||"")):s.output=a,nr.compileRe(s,e,r,i)};nr.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/$^/}};nr.constants=ple;pT.exports=nr});var hQ=C((T4e,CT)=>{"use strict";CT.exports=dT()});var Yi=C((O4e,mT)=>{"use strict";var IT=require("util"),ET=XM(),$n=hQ(),pQ=Tg(),yT=t=>typeof t=="string"&&(t===""||t==="./"),Wt=(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};Wt.match=Wt;Wt.matcher=(t,e)=>$n(t,e);Wt.isMatch=(t,e,r)=>$n(e,r)(t);Wt.any=Wt.isMatch;Wt.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=Wt(t,e,V(v({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Wt.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${IT.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Wt.contains(t,i,r));if(typeof e=="string"){if(yT(t)||yT(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Wt.isMatch(t,e,V(v({},r),{contains:!0}))};Wt.matchKeys=(t,e,r)=>{if(!pQ.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Wt(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Wt.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=$n(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Wt.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=$n(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Wt.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${IT.inspect(t)}"`);return[].concat(e).every(i=>$n(i,r)(t))};Wt.capture=(t,e,r)=>{let i=pQ.isWindows(r),s=$n.makeRe(String(t),V(v({},r),{capture:!0})).exec(i?pQ.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Wt.makeRe=(...t)=>$n.makeRe(...t);Wt.scan=(...t)=>$n.scan(...t);Wt.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of ET(String(i),e))r.push($n.parse(n,e));return r};Wt.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:ET(t,e)};Wt.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Wt.braces(t,V(v({},e),{expand:!0}))};mT.exports=Wt});var wT=C((K4e,BT)=>{"use strict";BT.exports=({onlyFirst:t=!1}={})=>{let e=["[\\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(e,t?void 0:"g")}});var bT=C((U4e,QT)=>{"use strict";var Cle=wT();QT.exports=t=>typeof t=="string"?t.replace(Cle(),""):t});var Tl={};et(Tl,{KeyRelationship:()=>$a,applyCascade:()=>QQ,base64RegExp:()=>vT,colorStringAlphaRegExp:()=>kT,colorStringRegExp:()=>xT,computeKey:()=>Mo,getPrintable:()=>lr,hasExactLength:()=>LT,hasForbiddenKeys:()=>Vle,hasKeyRelationship:()=>DQ,hasMaxLength:()=>Fle,hasMinLength:()=>Ple,hasMutuallyExclusiveKeys:()=>Xle,hasRequiredKeys:()=>zle,hasUniqueItems:()=>Rle,isArray:()=>wle,isAtLeast:()=>Mle,isAtMost:()=>Tle,isBase64:()=>Jle,isBoolean:()=>Ele,isDate:()=>Ble,isDict:()=>ble,isEnum:()=>ni,isHexColor:()=>qle,isISO8601:()=>Gle,isInExclusiveRange:()=>Kle,isInInclusiveRange:()=>Ole,isInstanceOf:()=>Sle,isInteger:()=>Ule,isJSON:()=>Wle,isLiteral:()=>mle,isLowerCase:()=>Hle,isNegative:()=>Nle,isNullable:()=>vle,isNumber:()=>yle,isObject:()=>Dle,isOneOf:()=>xle,isOptional:()=>kle,isPositive:()=>Lle,isString:()=>wQ,isTuple:()=>Qle,isUUID4:()=>jle,isUnknown:()=>NT,isUpperCase:()=>Yle,iso8601RegExp:()=>BQ,makeCoercionFn:()=>_a,makeSetter:()=>RT,makeTrait:()=>FT,makeValidator:()=>at,matchesRegExp:()=>bQ,plural:()=>KC,pushError:()=>tt,simpleKeyRegExp:()=>ST,uuid4RegExp:()=>PT});function at({test:t}){return FT(t)()}function lr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function Mo(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:ST.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 _a(t,e){return r=>{let i=t[e];return t[e]=r,_a(t,e).bind(null,i)}}function RT(t,e){return r=>{t[e]=r}}function KC(t,e,r){return t===1?e:r}function tt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function mle(t){return at({test:(e,r)=>e!==t?tt(r,`Expected a literal (got ${lr(t)})`):!0})}function ni(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return at({test:(i,n)=>r.has(i)?!0:tt(n,`Expected a valid enumeration value (got ${lr(i)})`)})}var ST,xT,kT,vT,PT,BQ,FT,NT,wQ,Ile,Ele,yle,Ble,wle,Qle,ble,Dle,Sle,xle,QQ,kle,vle,Ple,Fle,LT,Rle,Nle,Lle,Mle,Tle,Ole,Kle,Ule,bQ,Hle,Yle,jle,Gle,qle,Jle,Wle,zle,Vle,Xle,$a,Zle,DQ,Pn=Yoe(()=>{ST=/^[a-zA-Z_][a-zA-Z0-9_]*$/,xT=/^#[0-9a-f]{6}$/i,kT=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,vT=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,PT=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,BQ=/^(?:[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)?)$/,FT=t=>()=>t;NT=()=>at({test:(t,e)=>!0});wQ=()=>at({test:(t,e)=>typeof t!="string"?tt(e,`Expected a string (got ${lr(t)})`):!0});Ile=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Ele=()=>at({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 tt(e,"Unbound coercion result");let i=Ile.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 tt(e,`Expected a boolean (got ${lr(t)})`)}return!0}}),yle=()=>at({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 tt(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 tt(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 tt(e,`Expected a number (got ${lr(t)})`)}return!0}}),Ble=()=>at({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 tt(e,"Unbound coercion result");let i;if(typeof t=="string"&&BQ.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 tt(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 tt(e,`Expected a date (got ${lr(t)})`)}return!0}}),wle=(t,{delimiter:e}={})=>at({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 tt(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 tt(i,`Expected an array (got ${lr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=LT(t.length);return at({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 tt(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 tt(n,`Expected a tuple (got ${lr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aat({test:(r,i)=>{if(typeof r!="object"||r===null)return tt(i,`Expected an object (got ${lr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return at({test:(i,n)=>{if(typeof i!="object"||i===null)return tt(n,`Expected an object (got ${lr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=tt(Object.assign(Object.assign({},n),{p:Mo(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:Mo(n,l),coercion:_a(i,l)}))&&a:e===null?a=tt(Object.assign(Object.assign({},n),{p:Mo(n,l)}),`Extraneous property (got ${lr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:RT(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}})},Sle=t=>at({test:(e,r)=>e instanceof t?!0:tt(r,`Expected an instance of ${t.name} (got ${lr(e)})`)}),xle=(t,{exclusive:e=!1}={})=>at({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?tt(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}}),QQ=(t,e)=>at({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?_a(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 tt(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()}}}),kle=t=>at({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),vle=t=>at({test:(e,r)=>e===null?!0:t(e,r)}),Ple=t=>at({test:(e,r)=>e.length>=t?!0:tt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Fle=t=>at({test:(e,r)=>e.length<=t?!0:tt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),LT=t=>at({test:(e,r)=>e.length!==t?tt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Rle=({map:t}={})=>at({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sat({test:(t,e)=>t<=0?!0:tt(e,`Expected to be negative (got ${t})`)}),Lle=()=>at({test:(t,e)=>t>=0?!0:tt(e,`Expected to be positive (got ${t})`)}),Mle=t=>at({test:(e,r)=>e>=t?!0:tt(r,`Expected to be at least ${t} (got ${e})`)}),Tle=t=>at({test:(e,r)=>e<=t?!0:tt(r,`Expected to be at most ${t} (got ${e})`)}),Ole=(t,e)=>at({test:(r,i)=>r>=t&&r<=e?!0:tt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Kle=(t,e)=>at({test:(r,i)=>r>=t&&rat({test:(e,r)=>e!==Math.round(e)?tt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:tt(r,`Expected to be a safe integer (got ${e})`)}),bQ=t=>at({test:(e,r)=>t.test(e)?!0:tt(r,`Expected to match the pattern ${t.toString()} (got ${lr(e)})`)}),Hle=()=>at({test:(t,e)=>t!==t.toLowerCase()?tt(e,`Expected to be all-lowercase (got ${t})`):!0}),Yle=()=>at({test:(t,e)=>t!==t.toUpperCase()?tt(e,`Expected to be all-uppercase (got ${t})`):!0}),jle=()=>at({test:(t,e)=>PT.test(t)?!0:tt(e,`Expected to be a valid UUID v4 (got ${lr(t)})`)}),Gle=()=>at({test:(t,e)=>BQ.test(t)?!1:tt(e,`Expected to be a valid ISO 8601 date string (got ${lr(t)})`)}),qle=({alpha:t=!1})=>at({test:(e,r)=>(t?xT.test(e):kT.test(e))?!0:tt(r,`Expected to be a valid hexadecimal color string (got ${lr(e)})`)}),Jle=()=>at({test:(t,e)=>vT.test(t)?!0:tt(e,`Expected to be a valid base 64 string (got ${lr(t)})`)}),Wle=(t=NT())=>at({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return tt(r,`Expected to be a valid JSON string (got ${lr(e)})`)}return t(i,r)}}),zle=t=>{let e=new Set(t);return at({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?tt(i,`Missing required ${KC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Vle=t=>{let e=new Set(t);return at({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?tt(i,`Forbidden ${KC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Xle=t=>{let e=new Set(t);return at({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?tt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})($a||($a={}));Zle={[$a.Forbids]:{expect:!1,message:"forbids using"},[$a.Requires]:{expect:!0,message:"requires using"}},DQ=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=Zle[e];return at({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?tt(l,`Property "${t}" ${o.message} ${KC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Wg=C((Uze,ZT)=>{var fce="2.0.0",hce=256,pce=Number.MAX_SAFE_INTEGER||9007199254740991,dce=16;ZT.exports={SEMVER_SPEC_VERSION:fce,MAX_LENGTH:hce,MAX_SAFE_INTEGER:pce,MAX_SAFE_COMPONENT_LENGTH:dce}});var zg=C((Hze,_T)=>{var Cce=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};_T.exports=Cce});var eA=C((To,$T)=>{var{MAX_SAFE_COMPONENT_LENGTH:FQ}=Wg(),mce=zg();To=$T.exports={};var Ice=To.re=[],Ue=To.src=[],He=To.t={},Ece=0,At=(t,e,r)=>{let i=Ece++;mce(i,e),He[t]=i,Ue[i]=e,Ice[i]=new RegExp(e,r?"g":void 0)};At("NUMERICIDENTIFIER","0|[1-9]\\d*");At("NUMERICIDENTIFIERLOOSE","[0-9]+");At("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");At("MAINVERSION",`(${Ue[He.NUMERICIDENTIFIER]})\\.(${Ue[He.NUMERICIDENTIFIER]})\\.(${Ue[He.NUMERICIDENTIFIER]})`);At("MAINVERSIONLOOSE",`(${Ue[He.NUMERICIDENTIFIERLOOSE]})\\.(${Ue[He.NUMERICIDENTIFIERLOOSE]})\\.(${Ue[He.NUMERICIDENTIFIERLOOSE]})`);At("PRERELEASEIDENTIFIER",`(?:${Ue[He.NUMERICIDENTIFIER]}|${Ue[He.NONNUMERICIDENTIFIER]})`);At("PRERELEASEIDENTIFIERLOOSE",`(?:${Ue[He.NUMERICIDENTIFIERLOOSE]}|${Ue[He.NONNUMERICIDENTIFIER]})`);At("PRERELEASE",`(?:-(${Ue[He.PRERELEASEIDENTIFIER]}(?:\\.${Ue[He.PRERELEASEIDENTIFIER]})*))`);At("PRERELEASELOOSE",`(?:-?(${Ue[He.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ue[He.PRERELEASEIDENTIFIERLOOSE]})*))`);At("BUILDIDENTIFIER","[0-9A-Za-z-]+");At("BUILD",`(?:\\+(${Ue[He.BUILDIDENTIFIER]}(?:\\.${Ue[He.BUILDIDENTIFIER]})*))`);At("FULLPLAIN",`v?${Ue[He.MAINVERSION]}${Ue[He.PRERELEASE]}?${Ue[He.BUILD]}?`);At("FULL",`^${Ue[He.FULLPLAIN]}$`);At("LOOSEPLAIN",`[v=\\s]*${Ue[He.MAINVERSIONLOOSE]}${Ue[He.PRERELEASELOOSE]}?${Ue[He.BUILD]}?`);At("LOOSE",`^${Ue[He.LOOSEPLAIN]}$`);At("GTLT","((?:<|>)?=?)");At("XRANGEIDENTIFIERLOOSE",`${Ue[He.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);At("XRANGEIDENTIFIER",`${Ue[He.NUMERICIDENTIFIER]}|x|X|\\*`);At("XRANGEPLAIN",`[v=\\s]*(${Ue[He.XRANGEIDENTIFIER]})(?:\\.(${Ue[He.XRANGEIDENTIFIER]})(?:\\.(${Ue[He.XRANGEIDENTIFIER]})(?:${Ue[He.PRERELEASE]})?${Ue[He.BUILD]}?)?)?`);At("XRANGEPLAINLOOSE",`[v=\\s]*(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:${Ue[He.PRERELEASELOOSE]})?${Ue[He.BUILD]}?)?)?`);At("XRANGE",`^${Ue[He.GTLT]}\\s*${Ue[He.XRANGEPLAIN]}$`);At("XRANGELOOSE",`^${Ue[He.GTLT]}\\s*${Ue[He.XRANGEPLAINLOOSE]}$`);At("COERCE",`(^|[^\\d])(\\d{1,${FQ}})(?:\\.(\\d{1,${FQ}}))?(?:\\.(\\d{1,${FQ}}))?(?:$|[^\\d])`);At("COERCERTL",Ue[He.COERCE],!0);At("LONETILDE","(?:~>?)");At("TILDETRIM",`(\\s*)${Ue[He.LONETILDE]}\\s+`,!0);To.tildeTrimReplace="$1~";At("TILDE",`^${Ue[He.LONETILDE]}${Ue[He.XRANGEPLAIN]}$`);At("TILDELOOSE",`^${Ue[He.LONETILDE]}${Ue[He.XRANGEPLAINLOOSE]}$`);At("LONECARET","(?:\\^)");At("CARETTRIM",`(\\s*)${Ue[He.LONECARET]}\\s+`,!0);To.caretTrimReplace="$1^";At("CARET",`^${Ue[He.LONECARET]}${Ue[He.XRANGEPLAIN]}$`);At("CARETLOOSE",`^${Ue[He.LONECARET]}${Ue[He.XRANGEPLAINLOOSE]}$`);At("COMPARATORLOOSE",`^${Ue[He.GTLT]}\\s*(${Ue[He.LOOSEPLAIN]})$|^$`);At("COMPARATOR",`^${Ue[He.GTLT]}\\s*(${Ue[He.FULLPLAIN]})$|^$`);At("COMPARATORTRIM",`(\\s*)${Ue[He.GTLT]}\\s*(${Ue[He.LOOSEPLAIN]}|${Ue[He.XRANGEPLAIN]})`,!0);To.comparatorTrimReplace="$1$2$3";At("HYPHENRANGE",`^\\s*(${Ue[He.XRANGEPLAIN]})\\s+-\\s+(${Ue[He.XRANGEPLAIN]})\\s*$`);At("HYPHENRANGELOOSE",`^\\s*(${Ue[He.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ue[He.XRANGEPLAINLOOSE]})\\s*$`);At("STAR","(<|>)?=?\\s*\\*");At("GTE0","^\\s*>=\\s*0.0.0\\s*$");At("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Vg=C((Yze,eO)=>{var yce=["includePrerelease","loose","rtl"],Bce=t=>t?typeof t!="object"?{loose:!0}:yce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};eO.exports=Bce});var qC=C((jze,tO)=>{var rO=/^[0-9]+$/,iO=(t,e)=>{let r=rO.test(t),i=rO.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tiO(e,t);tO.exports={compareIdentifiers:iO,rcompareIdentifiers:wce}});var jr=C((Gze,nO)=>{var JC=zg(),{MAX_LENGTH:sO,MAX_SAFE_INTEGER:WC}=Wg(),{re:oO,t:aO}=eA(),Qce=Vg(),{compareIdentifiers:Xg}=qC(),ln=class{constructor(e,r){if(r=Qce(r),e instanceof ln){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>sO)throw new TypeError(`version is longer than ${sO} characters`);JC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?oO[aO.LOOSE]:oO[aO.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>WC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>WC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>WC||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}};nO.exports=ln});var tA=C((qze,AO)=>{var{MAX_LENGTH:bce}=Wg(),{re:lO,t:cO}=eA(),uO=jr(),Dce=Vg(),Sce=(t,e)=>{if(e=Dce(e),t instanceof uO)return t;if(typeof t!="string"||t.length>bce||!(e.loose?lO[cO.LOOSE]:lO[cO.FULL]).test(t))return null;try{return new uO(t,e)}catch(i){return null}};AO.exports=Sce});var fO=C((Jze,gO)=>{var xce=tA(),kce=(t,e)=>{let r=xce(t,e);return r?r.version:null};gO.exports=kce});var pO=C((Wze,hO)=>{var vce=tA(),Pce=(t,e)=>{let r=vce(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};hO.exports=Pce});var CO=C((zze,dO)=>{var Fce=jr(),Rce=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new Fce(t,r).inc(e,i).version}catch(n){return null}};dO.exports=Rce});var cn=C((Vze,mO)=>{var IO=jr(),Nce=(t,e,r)=>new IO(t,r).compare(new IO(e,r));mO.exports=Nce});var zC=C((Xze,EO)=>{var Lce=cn(),Mce=(t,e,r)=>Lce(t,e,r)===0;EO.exports=Mce});var wO=C((Zze,yO)=>{var BO=tA(),Tce=zC(),Oce=(t,e)=>{if(Tce(t,e))return null;{let r=BO(t),i=BO(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}};yO.exports=Oce});var bO=C((_ze,QO)=>{var Kce=jr(),Uce=(t,e)=>new Kce(t,e).major;QO.exports=Uce});var SO=C(($ze,DO)=>{var Hce=jr(),Yce=(t,e)=>new Hce(t,e).minor;DO.exports=Yce});var kO=C((e5e,xO)=>{var jce=jr(),Gce=(t,e)=>new jce(t,e).patch;xO.exports=Gce});var PO=C((t5e,vO)=>{var qce=tA(),Jce=(t,e)=>{let r=qce(t,e);return r&&r.prerelease.length?r.prerelease:null};vO.exports=Jce});var RO=C((r5e,FO)=>{var Wce=cn(),zce=(t,e,r)=>Wce(e,t,r);FO.exports=zce});var LO=C((i5e,NO)=>{var Vce=cn(),Xce=(t,e)=>Vce(t,e,!0);NO.exports=Xce});var VC=C((n5e,MO)=>{var TO=jr(),Zce=(t,e,r)=>{let i=new TO(t,r),n=new TO(e,r);return i.compare(n)||i.compareBuild(n)};MO.exports=Zce});var KO=C((s5e,OO)=>{var _ce=VC(),$ce=(t,e)=>t.sort((r,i)=>_ce(r,i,e));OO.exports=$ce});var HO=C((o5e,UO)=>{var eue=VC(),tue=(t,e)=>t.sort((r,i)=>eue(i,r,e));UO.exports=tue});var Zg=C((a5e,YO)=>{var rue=cn(),iue=(t,e,r)=>rue(t,e,r)>0;YO.exports=iue});var XC=C((A5e,jO)=>{var nue=cn(),sue=(t,e,r)=>nue(t,e,r)<0;jO.exports=sue});var RQ=C((l5e,GO)=>{var oue=cn(),aue=(t,e,r)=>oue(t,e,r)!==0;GO.exports=aue});var ZC=C((c5e,qO)=>{var Aue=cn(),lue=(t,e,r)=>Aue(t,e,r)>=0;qO.exports=lue});var _C=C((u5e,JO)=>{var cue=cn(),uue=(t,e,r)=>cue(t,e,r)<=0;JO.exports=uue});var NQ=C((g5e,WO)=>{var gue=zC(),fue=RQ(),hue=Zg(),pue=ZC(),due=XC(),Cue=_C(),mue=(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 gue(t,r,i);case"!=":return fue(t,r,i);case">":return hue(t,r,i);case">=":return pue(t,r,i);case"<":return due(t,r,i);case"<=":return Cue(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};WO.exports=mue});var VO=C((f5e,zO)=>{var Iue=jr(),Eue=tA(),{re:$C,t:em}=eA(),yue=(t,e)=>{if(t instanceof Iue)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($C[em.COERCE]);else{let i;for(;(i=$C[em.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),$C[em.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;$C[em.COERCERTL].lastIndex=-1}return r===null?null:Eue(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};zO.exports=yue});var ZO=C((h5e,XO)=>{"use strict";XO.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var _g=C((p5e,_O)=>{"use strict";_O.exports=It;It.Node=rA;It.create=It;function It(t){var e=this;if(e instanceof It||(e=new It),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};It.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};It.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};It.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};It.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 It;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};It.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 bue=_g(),iA=Symbol("max"),Us=Symbol("length"),Kl=Symbol("lengthCalculator"),$g=Symbol("allowStale"),nA=Symbol("maxAge"),Hs=Symbol("dispose"),eK=Symbol("noDisposeOnSet"),br=Symbol("lruList"),Rn=Symbol("cache"),tK=Symbol("updateAgeOnGet"),LQ=()=>1,rK=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[iA]=e.max||Infinity,i=e.length||LQ;if(this[Kl]=typeof i!="function"?LQ:i,this[$g]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[nA]=e.maxAge||0,this[Hs]=e.dispose,this[eK]=e.noDisposeOnSet||!1,this[tK]=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[iA]=e||Infinity,ef(this)}get max(){return this[iA]}set allowStale(e){this[$g]=!!e}get allowStale(){return this[$g]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[nA]=e,ef(this)}get maxAge(){return this[nA]}set lengthCalculator(e){typeof e!="function"&&(e=LQ),e!==this[Kl]&&(this[Kl]=e,this[Us]=0,this[br].forEach(r=>{r.length=this[Kl](r.value,r.key),this[Us]+=r.length})),ef(this)}get lengthCalculator(){return this[Kl]}get length(){return this[Us]}get itemCount(){return this[br].length}rforEach(e,r){r=r||this;for(let i=this[br].tail;i!==null;){let n=i.prev;nK(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[br].head;i!==null;){let n=i.next;nK(this,e,i,r),i=n}}keys(){return this[br].toArray().map(e=>e.key)}values(){return this[br].toArray().map(e=>e.value)}reset(){this[Hs]&&this[br]&&this[br].length&&this[br].forEach(e=>this[Hs](e.key,e.value)),this[Rn]=new Map,this[br]=new bue,this[Us]=0}dump(){return this[br].map(e=>tm(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[br]}set(e,r,i){if(i=i||this[nA],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Kl](r,e);if(this[Rn].has(e)){if(s>this[iA])return Ul(this,this[Rn].get(e)),!1;let l=this[Rn].get(e).value;return this[Hs]&&(this[eK]||this[Hs](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Us]+=s-l.length,l.length=s,this.get(e),ef(this),!0}let o=new iK(e,r,s,n,i);return o.length>this[iA]?(this[Hs]&&this[Hs](e,r),!1):(this[Us]+=o.length,this[br].unshift(o),this[Rn].set(e,this[br].head),ef(this),!0)}has(e){if(!this[Rn].has(e))return!1;let r=this[Rn].get(e).value;return!tm(this,r)}get(e){return MQ(this,e,!0)}peek(e){return MQ(this,e,!1)}pop(){let e=this[br].tail;return e?(Ul(this,e),e.value):null}del(e){Ul(this,this[Rn].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[Rn].forEach((e,r)=>MQ(this,r,!1))}},MQ=(t,e,r)=>{let i=t[Rn].get(e);if(i){let n=i.value;if(tm(t,n)){if(Ul(t,i),!t[$g])return}else r&&(t[tK]&&(i.value.now=Date.now()),t[br].unshiftNode(i));return n.value}},tm=(t,e)=>{if(!e||!e.maxAge&&!t[nA])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[nA]&&r>t[nA]},ef=t=>{if(t[Us]>t[iA])for(let e=t[br].tail;t[Us]>t[iA]&&e!==null;){let r=e.prev;Ul(t,e),e=r}},Ul=(t,e)=>{if(e){let r=e.value;t[Hs]&&t[Hs](r.key,r.value),t[Us]-=r.length,t[Rn].delete(r.key),t[br].removeNode(e)}},iK=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},nK=(t,e,r,i)=>{let n=r.value;tm(t,n)&&(Ul(t,r),t[$g]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};$O.exports=rK});var un=C((C5e,oK)=>{var Hl=class{constructor(e,r){if(r=Due(r),e instanceof Hl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new Hl(e.raw,r);if(e instanceof TQ)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=>!AK(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&&Pue(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=aK.get(i);if(n)return n;let s=this.options.loose,o=s?Gr[Or.HYPHENRANGELOOSE]:Gr[Or.HYPHENRANGE];e=e.replace(o,Nue(this.options.includePrerelease)),sr("hyphen replace",e),e=e.replace(Gr[Or.COMPARATORTRIM],xue),sr("comparator trim",e,Gr[Or.COMPARATORTRIM]),e=e.replace(Gr[Or.TILDETRIM],kue),e=e.replace(Gr[Or.CARETTRIM],vue),e=e.split(/\s+/).join(" ");let a=s?Gr[Or.COMPARATORLOOSE]:Gr[Or.COMPARATOR],l=e.split(" ").map(f=>Fue(f,this.options)).join(" ").split(/\s+/).map(f=>Rue(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new TQ(f,this.options)),c=l.length,u=new Map;for(let f of l){if(AK(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return aK.set(i,g),g}intersects(e,r){if(!(e instanceof Hl))throw new TypeError("a Range is required");return this.set.some(i=>lK(i,r)&&e.set.some(n=>lK(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 Sue(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Pue=t=>t.value==="",lK=(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},Fue=(t,e)=>(sr("comp",t,e),t=Oue(t,e),sr("caret",t),t=Tue(t,e),sr("tildes",t),t=Kue(t,e),sr("xrange",t),t=Uue(t,e),sr("stars",t),t),oi=t=>!t||t.toLowerCase()==="x"||t==="*",Tue=(t,e)=>t.trim().split(/\s+/).map(r=>Hue(r,e)).join(" "),Hue=(t,e)=>{let r=e.loose?Gr[Or.TILDELOOSE]:Gr[Or.TILDE];return t.replace(r,(i,n,s,o,a)=>{sr("tilde",t,i,n,s,o,a);let l;return oi(n)?l="":oi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:oi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(sr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,sr("tilde return",l),l})},Oue=(t,e)=>t.trim().split(/\s+/).map(r=>Yue(r,e)).join(" "),Yue=(t,e)=>{sr("caret",t,e);let r=e.loose?Gr[Or.CARETLOOSE]:Gr[Or.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{sr("caret",t,n,s,o,a,l);let c;return oi(s)?c="":oi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:oi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(sr("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`):(sr("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`),sr("caret return",c),c})},Kue=(t,e)=>(sr("replaceXRanges",t,e),t.split(/\s+/).map(r=>jue(r,e)).join(" ")),jue=(t,e)=>{t=t.trim();let r=e.loose?Gr[Or.XRANGELOOSE]:Gr[Or.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{sr("xRange",t,i,n,s,o,a,l);let c=oi(s),u=c||oi(o),g=u||oi(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`),sr("xRange return",i),i})},Uue=(t,e)=>(sr("replaceStars",t,e),t.trim().replace(Gr[Or.STAR],"")),Rue=(t,e)=>(sr("replaceGTE0",t,e),t.trim().replace(Gr[e.includePrerelease?Or.GTE0PRE:Or.GTE0],"")),Nue=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(oi(i)?r="":oi(n)?r=`>=${i}.0.0${t?"-0":""}`:oi(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,oi(c)?l="":oi(u)?l=`<${+c+1}.0.0-0`:oi(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()),Lue=(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 tf=C((m5e,cK)=>{var rf=Symbol("SemVer ANY"),nf=class{static get ANY(){return rf}constructor(e,r){if(r=Gue(r),e instanceof nf){if(e.loose===!!r.loose)return e;e=e.value}KQ("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===rf?this.value="":this.value=this.operator+this.semver.version,KQ("comp",this)}parse(e){let r=this.options.loose?uK[gK.COMPARATORLOOSE]:uK[gK.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 fK(i[2],this.options.loose):this.semver=rf}toString(){return this.value}test(e){if(KQ("Comparator.test",e,this.options.loose),this.semver===rf||e===rf)return!0;if(typeof e=="string")try{e=new fK(e,this.options)}catch(r){return!1}return OQ(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof nf))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new hK(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new hK(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=OQ(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=OQ(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};cK.exports=nf;var Gue=Vg(),{re:uK,t:gK}=eA(),OQ=NQ(),KQ=zg(),fK=jr(),hK=un()});var sf=C((I5e,pK)=>{var que=un(),Jue=(t,e,r)=>{try{e=new que(e,r)}catch(i){return!1}return e.test(t)};pK.exports=Jue});var CK=C((E5e,dK)=>{var Wue=un(),zue=(t,e)=>new Wue(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));dK.exports=zue});var IK=C((y5e,mK)=>{var Vue=jr(),Xue=un(),Zue=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Xue(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Vue(i,r))}),i};mK.exports=Zue});var yK=C((B5e,EK)=>{var _ue=jr(),$ue=un(),ege=(t,e,r)=>{let i=null,n=null,s=null;try{s=new $ue(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new _ue(i,r))}),i};EK.exports=ege});var QK=C((w5e,BK)=>{var UQ=jr(),tge=un(),wK=Zg(),rge=(t,e)=>{t=new tge(t,e);let r=new UQ("0.0.0");if(t.test(r)||(r=new UQ("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new UQ(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||wK(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||wK(r,s))&&(r=s)}return r&&t.test(r)?r:null};BK.exports=rge});var DK=C((Q5e,bK)=>{var ige=un(),nge=(t,e)=>{try{return new ige(t,e).range||"*"}catch(r){return null}};bK.exports=nge});var rm=C((b5e,SK)=>{var sge=jr(),xK=tf(),{ANY:oge}=xK,age=un(),Age=sf(),kK=Zg(),vK=XC(),lge=_C(),cge=ZC(),uge=(t,e,r,i)=>{t=new sge(t,i),e=new age(e,i);let n,s,o,a,l;switch(r){case">":n=kK,s=lge,o=vK,a=">",l=">=";break;case"<":n=vK,s=cge,o=kK,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Age(t,e,i))return!1;for(let c=0;c{h.semver===oge&&(h=new xK(">=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};SK.exports=uge});var FK=C((D5e,PK)=>{var gge=rm(),fge=(t,e,r)=>gge(t,e,">",r);PK.exports=fge});var NK=C((S5e,RK)=>{var hge=rm(),pge=(t,e,r)=>hge(t,e,"<",r);RK.exports=pge});var TK=C((x5e,LK)=>{var MK=un(),dge=(t,e,r)=>(t=new MK(t,r),e=new MK(e,r),t.intersects(e));LK.exports=dge});var KK=C((k5e,OK)=>{var Cge=sf(),mge=cn();OK.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>mge(u,g,r));for(let u of o)Cge(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 HK=un(),im=tf(),{ANY:HQ}=im,of=sf(),YQ=cn(),Ege=(t,e,r={})=>{if(t===e)return!0;t=new HK(t,r),e=new HK(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=Ige(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Ige=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===HQ){if(e.length===1&&e[0].semver===HQ)return!0;r.includePrerelease?t=[new im(">=0.0.0-0")]:t=[new im(">=0.0.0")]}if(e.length===1&&e[0].semver===HQ){if(r.includePrerelease)return!0;e=[new im(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=YK(n,h,r):h.operator==="<"||h.operator==="<="?s=jK(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=YQ(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&&!of(h,String(n),r)||s&&!of(h,String(s),r))return null;for(let p of e)if(!of(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=YK(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!of(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=jK(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!of(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)},YK=(t,e,r)=>{if(!t)return e;let i=YQ(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},jK=(t,e,r)=>{if(!t)return e;let i=YQ(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};UK.exports=Ege});var cr=C((P5e,qK)=>{var jQ=eA();qK.exports={re:jQ.re,src:jQ.src,tokens:jQ.t,SEMVER_SPEC_VERSION:Wg().SEMVER_SPEC_VERSION,SemVer:jr(),compareIdentifiers:qC().compareIdentifiers,rcompareIdentifiers:qC().rcompareIdentifiers,parse:tA(),valid:fO(),clean:pO(),inc:CO(),diff:wO(),major:bO(),minor:SO(),patch:kO(),prerelease:PO(),compare:cn(),rcompare:RO(),compareLoose:LO(),compareBuild:VC(),sort:KO(),rsort:HO(),gt:Zg(),lt:XC(),eq:zC(),neq:RQ(),gte:ZC(),lte:_C(),cmp:NQ(),coerce:VO(),Comparator:tf(),Range:un(),satisfies:sf(),toComparators:CK(),maxSatisfying:IK(),minSatisfying:yK(),minVersion:QK(),validRange:DK(),outside:rm(),gtr:FK(),ltr:NK(),intersects:TK(),simplifyRange:KK(),subset:GK()}});var nU=C((M5e,iU)=>{"use strict";iU.exports=(...t)=>[...new Set([].concat(...t))]});var ZQ=C((T5e,sU)=>{"use strict";var xge=require("stream"),oU=xge.PassThrough,kge=Array.prototype.slice;sU.exports=vge;function vge(){let t=[],e=!1,r=kge.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=oU(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(sm,"__esModule",{value:!0});function Pge(t){return t.reduce((e,r)=>[].concat(e,r),[])}sm.flatten=Pge;function Fge(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}sm.splitWhen=Fge});var lU=C(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});function Rge(t){return t.code==="ENOENT"}_Q.isEnoentCodeError=Rge});var uU=C($Q=>{"use strict";Object.defineProperty($Q,"__esModule",{value:!0});var cU=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 Nge(t,e){return new cU(t,e)}$Q.createDirentFromStats=Nge});var gU=C(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Lge=require("path"),Mge=2,Tge=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Oge(t){return t.replace(/\\/g,"/")}Jl.unixify=Oge;function Kge(t,e){return Lge.resolve(t,e)}Jl.makeAbsolute=Kge;function Uge(t){return t.replace(Tge,"\\$2")}Jl.escape=Uge;function Hge(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mge)}return t}Jl.removeLeadingDotSegment=Hge});var hU=C((Y5e,fU)=>{fU.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 dU=C((j5e,pU)=>{var Yge=hU(),jge={"{":"}","(":")","[":"]"},Gge=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,qge=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;pU.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Yge(e))return!0;var i=Gge,n;for(r&&r.strict===!1&&(i=qge);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?jge[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var mU=C((G5e,CU)=>{"use strict";var Jge=dU(),Wge=require("path").posix.dirname,zge=require("os").platform()==="win32",e0="/",Vge=/\\/g,Xge=/[\{\[].*[\}\]]$/,Zge=/(^|[^\\])([\{\[]|\([^\)]+$)/,_ge=/\\([\!\*\?\|\[\]\(\)\{\}])/g;CU.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&zge&&e.indexOf(e0)<0&&(e=e.replace(Vge,e0)),Xge.test(e)&&(e+=e0),e+="a";do e=Wge(e);while(Jge(e)||Zge.test(e));return e.replace(_ge,"$1")}});var SU=C(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});var $ge=require("path"),efe=mU(),IU=Yi(),tfe=hQ(),EU="**",rfe="\\",ife=/[*?]|^!/,nfe=/\[.*]/,sfe=/(?:^|[^!*+?@])\(.*\|.*\)/,ofe=/[!*+?@]\(.*\)/,afe=/{.*(?:,|\.\.).*}/;function BU(t,e={}){return!yU(t,e)}ur.isStaticPattern=BU;function yU(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(rfe)||ife.test(t)||nfe.test(t)||sfe.test(t)||e.extglob!==!1&&ofe.test(t)||e.braceExpansion!==!1&&afe.test(t))}ur.isDynamicPattern=yU;function Afe(t){return om(t)?t.slice(1):t}ur.convertToPositivePattern=Afe;function lfe(t){return"!"+t}ur.convertToNegativePattern=lfe;function om(t){return t.startsWith("!")&&t[1]!=="("}ur.isNegativePattern=om;function wU(t){return!om(t)}ur.isPositivePattern=wU;function cfe(t){return t.filter(om)}ur.getNegativePatterns=cfe;function ufe(t){return t.filter(wU)}ur.getPositivePatterns=ufe;function gfe(t){return efe(t,{flipBackslashes:!1})}ur.getBaseDirectory=gfe;function ffe(t){return t.includes(EU)}ur.hasGlobStar=ffe;function QU(t){return t.endsWith("/"+EU)}ur.endsWithSlashGlobStar=QU;function hfe(t){let e=$ge.basename(t);return QU(t)||BU(e)}ur.isAffectDepthOfReadingPattern=hfe;function pfe(t){return t.reduce((e,r)=>e.concat(bU(r)),[])}ur.expandPatternsWithBraceExpansion=pfe;function bU(t){return IU.braces(t,{expand:!0,nodupes:!0})}ur.expandBraceExpansion=bU;function dfe(t,e){let r=tfe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}ur.getPatternParts=dfe;function DU(t,e){return IU.makeRe(t,e)}ur.makeRe=DU;function Cfe(t,e){return t.map(r=>DU(r,e))}ur.convertPatternsToRe=Cfe;function mfe(t,e){return e.some(r=>r.test(t))}ur.matchAny=mfe});var kU=C(t0=>{"use strict";Object.defineProperty(t0,"__esModule",{value:!0});var Ife=ZQ();function Efe(t){let e=Ife(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>xU(t)),e.once("end",()=>xU(t)),e}t0.merge=Efe;function xU(t){t.forEach(e=>e.emit("close"))}});var vU=C(am=>{"use strict";Object.defineProperty(am,"__esModule",{value:!0});function yfe(t){return typeof t=="string"}am.isString=yfe;function Bfe(t){return t===""}am.isEmpty=Bfe});var Gs=C(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var wfe=AU();js.array=wfe;var Qfe=lU();js.errno=Qfe;var bfe=uU();js.fs=bfe;var Dfe=gU();js.path=Dfe;var Sfe=SU();js.pattern=Sfe;var xfe=kU();js.stream=xfe;var kfe=vU();js.string=kfe});var LU=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var AA=Gs();function vfe(t,e){let r=PU(t),i=FU(t,e.ignore),n=r.filter(l=>AA.pattern.isStaticPattern(l,e)),s=r.filter(l=>AA.pattern.isDynamicPattern(l,e)),o=r0(n,i,!1),a=r0(s,i,!0);return o.concat(a)}qs.generate=vfe;function r0(t,e,r){let i=RU(t);return"."in i?[i0(".",t,e,r)]:NU(i,e,r)}qs.convertPatternsToTasks=r0;function PU(t){return AA.pattern.getPositivePatterns(t)}qs.getPositivePatterns=PU;function FU(t,e){return AA.pattern.getNegativePatterns(t).concat(e).map(AA.pattern.convertToPositivePattern)}qs.getNegativePatternsAsPositive=FU;function RU(t){let e={};return t.reduce((r,i)=>{let n=AA.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}qs.groupPatternsByBaseDirectory=RU;function NU(t,e,r){return Object.keys(t).map(i=>i0(i,t[i],e,r))}qs.convertPatternGroupsToTasks=NU;function i0(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(AA.pattern.convertToNegativePattern))}}qs.convertPatternGroupToTask=i0});var TU=C(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.read=void 0;function Pfe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){MU(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){n0(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){MU(r,s);return}n0(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),n0(r,o)})})}Am.read=Pfe;function MU(t,e){t(e)}function n0(t,e){t(null,e)}});var OU=C(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.read=void 0;function Ffe(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}}lm.read=Ffe});var KU=C(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.createFileSystemAdapter=Oo.FILE_SYSTEM_ADAPTER=void 0;var cm=require("fs");Oo.FILE_SYSTEM_ADAPTER={lstat:cm.lstat,stat:cm.stat,lstatSync:cm.lstatSync,statSync:cm.statSync};function Rfe(t){return t===void 0?Oo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Oo.FILE_SYSTEM_ADAPTER),t)}Oo.createFileSystemAdapter=Rfe});var HU=C(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var Nfe=KU(),UU=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Nfe.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}};s0.default=UU});var lA=C(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.statSync=Ko.stat=Ko.Settings=void 0;var YU=TU(),Lfe=OU(),o0=HU();Ko.Settings=o0.default;function Mfe(t,e,r){if(typeof e=="function"){YU.read(t,a0(),e);return}YU.read(t,a0(e),r)}Ko.stat=Mfe;function Tfe(t,e){let r=a0(e);return Lfe.read(t,r)}Ko.statSync=Tfe;function a0(t={}){return t instanceof o0.default?t:new o0.default(t)}});var GU=C((t9e,jU)=>{jU.exports=Ofe;function Ofe(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 A0=C(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var gm=process.versions.node.split(".");if(gm[0]===void 0||gm[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var qU=Number.parseInt(gm[0],10),Kfe=Number.parseInt(gm[1],10),JU=10,Ufe=10,Hfe=qU>JU,Yfe=qU===JU&&Kfe>=Ufe;um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Hfe||Yfe});var zU=C(fm=>{"use strict";Object.defineProperty(fm,"__esModule",{value:!0});fm.createDirentFromStats=void 0;var WU=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 jfe(t,e){return new WU(t,e)}fm.createDirentFromStats=jfe});var l0=C(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.fs=void 0;var Gfe=zU();hm.fs=Gfe});var c0=C(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});pm.joinPathSegments=void 0;function qfe(t,e,r){return t.endsWith(r)?t+e:t+r+e}pm.joinPathSegments=qfe});var e1=C(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.readdir=Uo.readdirWithFileTypes=Uo.read=void 0;var Jfe=lA(),VU=GU(),Wfe=A0(),XU=l0(),ZU=c0();function zfe(t,e,r){if(!e.stats&&Wfe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){_U(t,e,r);return}$U(t,e,r)}Uo.read=zfe;function _U(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:ZU.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){u0(r,s);return}let o=s.map(a=>Vfe(a,e));VU(o,(a,l)=>{if(a!==null){dm(r,a);return}u0(r,l)})})}Uo.readdirWithFileTypes=_U;function Vfe(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=XU.fs.createDirentFromStats(t.name,n),r(null,t)})}}function $U(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(o=>{let a=ZU.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{Jfe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:XU.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});VU(s,(o,a)=>{if(o!==null){dm(r,o);return}u0(r,a)})})}Uo.readdir=$U;function dm(t,e){t(e)}function u0(t,e){t(null,e)}});var s1=C(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.readdir=Ho.readdirWithFileTypes=Ho.read=void 0;var Xfe=lA(),Zfe=A0(),t1=l0(),r1=c0();function _fe(t,e){return!e.stats&&Zfe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?i1(t,e):n1(t,e)}Ho.read=_fe;function i1(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:r1.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=t1.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}Ho.readdirWithFileTypes=i1;function n1(t,e){return e.fs.readdirSync(t).map(i=>{let n=r1.joinPathSegments(t,i,e.pathSegmentSeparator),s=Xfe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:t1.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}Ho.readdir=n1});var o1=C(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.createFileSystemAdapter=Yo.FILE_SYSTEM_ADAPTER=void 0;var Wl=require("fs");Yo.FILE_SYSTEM_ADAPTER={lstat:Wl.lstat,stat:Wl.stat,lstatSync:Wl.lstatSync,statSync:Wl.statSync,readdir:Wl.readdir,readdirSync:Wl.readdirSync};function $fe(t){return t===void 0?Yo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Yo.FILE_SYSTEM_ADAPTER),t)}Yo.createFileSystemAdapter=$fe});var A1=C(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});var ehe=require("path"),the=lA(),rhe=o1(),a1=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=rhe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,ehe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new the.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};g0.default=a1});var Cm=C(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Settings=jo.scandirSync=jo.scandir=void 0;var l1=e1(),ihe=s1(),f0=A1();jo.Settings=f0.default;function nhe(t,e,r){if(typeof e=="function"){l1.read(t,h0(),e);return}l1.read(t,h0(e),r)}jo.scandir=nhe;function she(t,e){let r=h0(e);return ihe.read(t,r)}jo.scandirSync=she;function h0(t={}){return t instanceof f0.default?t:new f0.default(t)}});var u1=C((u9e,c1)=>{"use strict";function ohe(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}}c1.exports=ohe});var f1=C((g9e,p0)=>{"use strict";var ahe=u1();function g1(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=ahe(Ahe),n=null,s=null,o=0,a=null,l={push:m,drain:rs,saturated:rs,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:I,empty:rs,kill:B,killAndDrain:x,error:F};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var N=n,O=0;N;)N=N.next,O++;return O}function f(){for(var N=n,O=[];N;)O.push(N.value),N=N.next;return O}function h(){if(!!l.paused){l.paused=!1;for(var N=0;N{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.joinPathSegments=is.replacePathSegmentSeparator=is.isAppliedFilter=is.isFatalError=void 0;function che(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}is.isFatalError=che;function uhe(t,e){return t===null||t(e)}is.isAppliedFilter=uhe;function ghe(t,e){return t.split(/[/\\]/).join(e)}is.replacePathSegmentSeparator=ghe;function fhe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}is.joinPathSegments=fhe});var C0=C(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var hhe=mm(),h1=class{constructor(e,r){this._root=e,this._settings=r,this._root=hhe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};d0.default=h1});var I0=C(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var phe=require("events"),dhe=Cm(),Che=f1(),Im=mm(),mhe=C0(),p1=class extends mhe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=dhe.scandir,this._emitter=new phe.EventEmitter,this._queue=Che(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||!Im.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=Im.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Im.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Im.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};m0.default=p1});var C1=C(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var Ihe=I0(),d1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Ihe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Ehe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{yhe(e,[...this._storage])}),this._reader.read()}};E0.default=d1;function Ehe(t,e){t(e)}function yhe(t,e){t(null,e)}});var I1=C(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var Bhe=require("stream"),whe=I0(),m1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new whe.default(this._root,this._settings),this._stream=new Bhe.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}};y0.default=m1});var y1=C(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});var Qhe=Cm(),Em=mm(),bhe=C0(),E1=class extends bhe.default{constructor(){super(...arguments);this._scandir=Qhe.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(!!Em.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Em.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Em.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Em.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};B0.default=E1});var w1=C(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});var Dhe=y1(),B1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Dhe.default(this._root,this._settings)}read(){return this._reader.read()}};w0.default=B1});var b1=C(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});var She=require("path"),xhe=Cm(),Q1=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,She.sep),this.fsScandirSettings=new xhe.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}};Q0.default=Q1});var D0=C(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.Settings=ns.walkStream=ns.walkSync=ns.walk=void 0;var D1=C1(),khe=I1(),vhe=w1(),b0=b1();ns.Settings=b0.default;function Phe(t,e,r){if(typeof e=="function"){new D1.default(t,ym()).read(e);return}new D1.default(t,ym(e)).read(r)}ns.walk=Phe;function Fhe(t,e){let r=ym(e);return new vhe.default(t,r).read()}ns.walkSync=Fhe;function Rhe(t,e){let r=ym(e);return new khe.default(t,r).read()}ns.walkStream=Rhe;function ym(t={}){return t instanceof b0.default?t:new b0.default(t)}});var x0=C(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});var Nhe=require("path"),Lhe=lA(),S1=Gs(),x1=class{constructor(e){this._settings=e,this._fsStatSettings=new Lhe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Nhe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:S1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!S1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};S0.default=x1});var v0=C(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});var Mhe=require("stream"),The=lA(),Ohe=D0(),Khe=x0(),k1=class extends Khe.default{constructor(){super(...arguments);this._walkStream=Ohe.walkStream,this._stat=The.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Mhe.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))})}};k0.default=k1});var P1=C(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var zl=Gs(),v1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=zl.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 zl.pattern.getPatternParts(e,this._micromatchOptions).map(i=>zl.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:zl.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return zl.array.splitWhen(e,r=>r.dynamic&&zl.pattern.hasGlobStar(r.pattern))}};P0.default=v1});var R1=C(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});var Uhe=P1(),F1=class extends Uhe.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}};F0.default=F1});var L1=C(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var Bm=Gs(),Hhe=R1(),N1=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 Hhe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(Bm.pattern.isAffectDepthOfReadingPattern);return Bm.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=Bm.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!Bm.pattern.matchAny(e,r)}};R0.default=N1});var T1=C(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var cf=Gs(),M1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=cf.pattern.convertPatternsToRe(e,this._micromatchOptions),n=cf.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=cf.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=cf.path.removeLeadingDotSegment(e);return cf.pattern.matchAny(i,r)}};N0.default=M1});var K1=C(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});var Yhe=Gs(),O1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return Yhe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};L0.default=O1});var Y1=C(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var U1=Gs(),H1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=U1.path.makeAbsolute(this._settings.cwd,r),r=U1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};M0.default=H1});var wm=C(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});var jhe=require("path"),Ghe=L1(),qhe=T1(),Jhe=K1(),Whe=Y1(),j1=class{constructor(e){this._settings=e,this.errorFilter=new Jhe.default(this._settings),this.entryFilter=new qhe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Ghe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Whe.default(this._settings)}_getRootDirectory(e){return jhe.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}}};T0.default=j1});var q1=C(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});var zhe=v0(),Vhe=wm(),G1=class extends Vhe.default{constructor(){super(...arguments);this._reader=new zhe.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)}};O0.default=G1});var W1=C(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var Xhe=require("stream"),Zhe=v0(),_he=wm(),J1=class extends _he.default{constructor(){super(...arguments);this._reader=new Zhe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new Xhe.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)}};K0.default=J1});var V1=C(U0=>{"use strict";Object.defineProperty(U0,"__esModule",{value:!0});var $he=lA(),epe=D0(),tpe=x0(),z1=class extends tpe.default{constructor(){super(...arguments);this._walkSync=epe.walkSync,this._statSync=$he.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)}};U0.default=z1});var Z1=C(H0=>{"use strict";Object.defineProperty(H0,"__esModule",{value:!0});var rpe=V1(),ipe=wm(),X1=class extends ipe.default{constructor(){super(...arguments);this._reader=new rpe.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)}};H0.default=X1});var $1=C(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var Vl=require("fs"),npe=require("os"),spe=npe.cpus().length;uf.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Vl.lstat,lstatSync:Vl.lstatSync,stat:Vl.stat,statSync:Vl.statSync,readdir:Vl.readdir,readdirSync:Vl.readdirSync};var _1=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,spe),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({},uf.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};uf.default=_1});var Qm=C((M9e,e2)=>{"use strict";var t2=LU(),ope=q1(),ape=W1(),Ape=Z1(),Y0=$1(),cA=Gs();async function G0(t,e){Xl(t);let r=j0(t,ope.default,e),i=await Promise.all(r);return cA.array.flatten(i)}(function(t){function e(o,a){Xl(o);let l=j0(o,Ape.default,a);return cA.array.flatten(l)}t.sync=e;function r(o,a){Xl(o);let l=j0(o,ape.default,a);return cA.stream.merge(l)}t.stream=r;function i(o,a){Xl(o);let l=[].concat(o),c=new Y0.default(a);return t2.generate(l,c)}t.generateTasks=i;function n(o,a){Xl(o);let l=new Y0.default(a);return cA.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Xl(o),cA.path.escape(o)}t.escapePath=s})(G0||(G0={}));function j0(t,e,r){let i=[].concat(t),n=new Y0.default(r),s=t2.generate(i,n),o=new e(n);return s.map(o.read,o)}function Xl(t){if(![].concat(t).every(i=>cA.string.isString(i)&&!cA.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}e2.exports=G0});var i2=C(uA=>{"use strict";var{promisify:lpe}=require("util"),r2=require("fs");async function q0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await lpe(r2[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function J0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return r2[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}uA.isFile=q0.bind(null,"stat","isFile");uA.isDirectory=q0.bind(null,"stat","isDirectory");uA.isSymlink=q0.bind(null,"lstat","isSymbolicLink");uA.isFileSync=J0.bind(null,"statSync","isFile");uA.isDirectorySync=J0.bind(null,"statSync","isDirectory");uA.isSymlinkSync=J0.bind(null,"lstatSync","isSymbolicLink")});var A2=C((O9e,W0)=>{"use strict";var gA=require("path"),n2=i2(),s2=t=>t.length>1?`{${t.join(",")}}`:t[0],o2=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return gA.isAbsolute(r)?r:gA.join(e,r)},cpe=(t,e)=>gA.extname(t)?`**/${t}`:`**/${t}.${s2(e)}`,a2=(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=>gA.posix.join(t,cpe(r,e.extensions))):e.files?e.files.map(r=>gA.posix.join(t,`**/${r}`)):e.extensions?[gA.posix.join(t,`**/*.${s2(e.extensions)}`)]:[gA.posix.join(t,"**")]};W0.exports=async(t,e)=>{if(e=v({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 n2.isDirectory(o2(i,e.cwd))?a2(i,e):i));return[].concat.apply([],r)};W0.exports.sync=(t,e)=>{if(e=v({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=>n2.isDirectorySync(o2(i,e.cwd))?a2(i,e):i);return[].concat.apply([],r)}});var d2=C((K9e,l2)=>{function c2(t){return Array.isArray(t)?t:[t]}var upe=/^\s+$/,gpe=/^\\!/,fpe=/^\\#/,hpe=/\r?\n/g,ppe=/^\.*\/|^\.+$/,z0="/",u2=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",dpe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Cpe=/([0-z])-([0-z])/g,mpe=t=>t.replace(Cpe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),Ipe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${mpe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],g2=Object.create(null),Epe=(t,e,r)=>{let i=g2[t];if(i)return i;let n=Ipe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return g2[t]=r?new RegExp(n,"i"):new RegExp(n)},V0=t=>typeof t=="string",ype=t=>t&&V0(t)&&!upe.test(t)&&t.indexOf("#")!==0,Bpe=t=>t.split(hpe),f2=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},wpe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(gpe,"!").replace(fpe,"#");let n=Epe(t,i,e);return new f2(r,t,i,n)},Qpe=(t,e)=>{throw new e(t)},Js=(t,e,r)=>V0(t)?t?Js.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),h2=t=>ppe.test(t);Js.isNotRelative=h2;Js.convert=t=>t;var p2=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,dpe(this,u2,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u2]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(ype(e)){let r=wpe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,c2(V0(e)?Bpe(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&&Js.convert(e);return Js(s,e,Qpe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(z0)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(z0)+z0,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 c2(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},bm=t=>new p2(t),bpe=()=>!1,Dpe=t=>Js(t&&Js.convert(t),t,bpe);bm.isPathValid=Dpe;bm.default=bm;l2.exports=bm;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,"/");Js.convert=t;let e=/^[a-z]:\//i;Js.isNotRelative=r=>e.test(r)||h2(r)}});var m2=C((U9e,C2)=>{"use strict";C2.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var b2=C((H9e,X0)=>{"use strict";var{promisify:Spe}=require("util"),I2=require("fs"),Ws=require("path"),E2=Qm(),xpe=d2(),gf=m2(),y2=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],kpe=Spe(I2.readFile),vpe=t=>e=>e.startsWith("!")?"!"+Ws.posix.join(t,e.slice(1)):Ws.posix.join(t,e),Ppe=(t,e)=>{let r=gf(Ws.relative(e.cwd,Ws.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(vpe(r))},B2=t=>{let e=xpe();for(let r of t)e.add(Ppe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Fpe=(t,e)=>{if(t=gf(t),Ws.isAbsolute(e)){if(gf(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Ws.join(t,e)},w2=(t,e)=>r=>t.ignores(gf(Ws.relative(e,Fpe(e,r.path||r)))),Rpe=async(t,e)=>{let r=Ws.join(e,t),i=await kpe(r,"utf8");return{cwd:e,filePath:r,content:i}},Npe=(t,e)=>{let r=Ws.join(e,t),i=I2.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},Q2=({ignore:t=[],cwd:e=gf(process.cwd())}={})=>({ignore:t,cwd:e});X0.exports=async t=>{t=Q2(t);let e=await E2("**/.gitignore",{ignore:y2.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Rpe(n,t.cwd))),i=B2(r);return w2(i,t.cwd)};X0.exports.sync=t=>{t=Q2(t);let r=E2.sync("**/.gitignore",{ignore:y2.concat(t.ignore),cwd:t.cwd}).map(n=>Npe(n,t.cwd)),i=B2(r);return w2(i,t.cwd)}});var k2=C((Y9e,D2)=>{"use strict";var{Transform:Lpe}=require("stream"),Z0=class extends Lpe{constructor(){super({objectMode:!0})}},S2=class extends Z0{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},x2=class extends Z0{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};D2.exports={FilterStream:S2,UniqueStream:x2}});var tb=C((j9e,fA)=>{"use strict";var v2=require("fs"),Dm=nU(),Mpe=ZQ(),Sm=Qm(),xm=A2(),_0=b2(),{FilterStream:Tpe,UniqueStream:Ope}=k2(),P2=()=>!1,F2=t=>t[0]==="!",Kpe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Upe=(t={})=>{if(!t.cwd)return;let e;try{e=v2.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Hpe=t=>t.stats instanceof v2.Stats?t.path:t,km=(t,e)=>{t=Dm([].concat(t)),Kpe(t),Upe(e);let r=[];e=v({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(F2(n))continue;let s=t.slice(i).filter(a=>F2(a)).map(a=>a.slice(1)),o=V(v({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},Ype=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=V(v({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=v(v({},r),t.options.expandDirectories)),e(t.pattern,r)},$0=(t,e)=>t.options.expandDirectories?Ype(t,e):[t.pattern],R2=t=>t&&t.gitignore?_0.sync({cwd:t.cwd,ignore:t.ignore}):P2,eb=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=xm.sync(r.ignore)),{pattern:e,options:r}};fA.exports=async(t,e)=>{let r=km(t,e),i=async()=>e&&e.gitignore?_0({cwd:e.cwd,ignore:e.ignore}):P2,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await $0(c,xm);return Promise.all(u.map(eb(c)))}));return Dm(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Sm(l.pattern,l.options)));return Dm(...a).filter(l=>!s(Hpe(l)))};fA.exports.sync=(t,e)=>{let r=km(t,e),i=[];for(let o of r){let a=$0(o,xm.sync).map(eb(o));i.push(...a)}let n=R2(e),s=[];for(let o of i)s=Dm(s,Sm.sync(o.pattern,o.options));return s.filter(o=>!n(o))};fA.exports.stream=(t,e)=>{let r=km(t,e),i=[];for(let a of r){let l=$0(a,xm.sync).map(eb(a));i.push(...l)}let n=R2(e),s=new Tpe(a=>!n(a)),o=new Ope;return Mpe(i.map(a=>Sm.stream(a.pattern,a.options))).pipe(s).pipe(o)};fA.exports.generateGlobTasks=km;fA.exports.hasMagic=(t,e)=>[].concat(t).some(r=>Sm.isDynamicPattern(r,e));fA.exports.gitignore=_0});var Vs=C((zs,Ym)=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var Y2=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function tde(t){return Y2.includes(t)}var rde=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...Y2];function ide(t){return rde.includes(t)}var nde=["null","undefined","string","number","bigint","boolean","symbol"];function sde(t){return nde.includes(t)}function ic(t){return e=>typeof e===t}var{toString:j2}=Object.prototype,wf=t=>{let e=j2.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&q.domElement(t))return"HTMLElement";if(ide(e))return e},Vt=t=>e=>wf(e)===t;function q(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(q.observable(t))return"Observable";if(q.array(t))return"Array";if(q.buffer(t))return"Buffer";let e=wf(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"}q.undefined=ic("undefined");q.string=ic("string");var ode=ic("number");q.number=t=>ode(t)&&!q.nan(t);q.bigint=ic("bigint");q.function_=ic("function");q.null_=t=>t===null;q.class_=t=>q.function_(t)&&t.toString().startsWith("class ");q.boolean=t=>t===!0||t===!1;q.symbol=ic("symbol");q.numericString=t=>q.string(t)&&!q.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));q.array=(t,e)=>Array.isArray(t)?q.function_(e)?t.every(e):!0:!1;q.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};q.nullOrUndefined=t=>q.null_(t)||q.undefined(t);q.object=t=>!q.null_(t)&&(typeof t=="object"||q.function_(t));q.iterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};q.asyncIterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};q.generator=t=>q.iterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.asyncGenerator=t=>q.asyncIterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.nativePromise=t=>Vt("Promise")(t);var ade=t=>{var e,r;return q.function_((e=t)===null||e===void 0?void 0:e.then)&&q.function_((r=t)===null||r===void 0?void 0:r.catch)};q.promise=t=>q.nativePromise(t)||ade(t);q.generatorFunction=Vt("GeneratorFunction");q.asyncGeneratorFunction=t=>wf(t)==="AsyncGeneratorFunction";q.asyncFunction=t=>wf(t)==="AsyncFunction";q.boundFunction=t=>q.function_(t)&&!t.hasOwnProperty("prototype");q.regExp=Vt("RegExp");q.date=Vt("Date");q.error=Vt("Error");q.map=t=>Vt("Map")(t);q.set=t=>Vt("Set")(t);q.weakMap=t=>Vt("WeakMap")(t);q.weakSet=t=>Vt("WeakSet")(t);q.int8Array=Vt("Int8Array");q.uint8Array=Vt("Uint8Array");q.uint8ClampedArray=Vt("Uint8ClampedArray");q.int16Array=Vt("Int16Array");q.uint16Array=Vt("Uint16Array");q.int32Array=Vt("Int32Array");q.uint32Array=Vt("Uint32Array");q.float32Array=Vt("Float32Array");q.float64Array=Vt("Float64Array");q.bigInt64Array=Vt("BigInt64Array");q.bigUint64Array=Vt("BigUint64Array");q.arrayBuffer=Vt("ArrayBuffer");q.sharedArrayBuffer=Vt("SharedArrayBuffer");q.dataView=Vt("DataView");q.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;q.urlInstance=t=>Vt("URL")(t);q.urlString=t=>{if(!q.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};q.truthy=t=>Boolean(t);q.falsy=t=>!t;q.nan=t=>Number.isNaN(t);q.primitive=t=>q.null_(t)||sde(typeof t);q.integer=t=>Number.isInteger(t);q.safeInteger=t=>Number.isSafeInteger(t);q.plainObject=t=>{if(j2.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};q.typedArray=t=>tde(wf(t));var Ade=t=>q.safeInteger(t)&&t>=0;q.arrayLike=t=>!q.nullOrUndefined(t)&&!q.function_(t)&&Ade(t.length);q.inRange=(t,e)=>{if(q.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(q.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var lde=1,cde=["innerHTML","ownerDocument","style","attributes","nodeValue"];q.domElement=t=>q.object(t)&&t.nodeType===lde&&q.string(t.nodeName)&&!q.plainObject(t)&&cde.every(e=>e in t);q.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};q.nodeStream=t=>q.object(t)&&q.function_(t.pipe)&&!q.observable(t);q.infinite=t=>t===Infinity||t===-Infinity;var G2=t=>e=>q.integer(e)&&Math.abs(e%2)===t;q.evenInteger=G2(0);q.oddInteger=G2(1);q.emptyArray=t=>q.array(t)&&t.length===0;q.nonEmptyArray=t=>q.array(t)&&t.length>0;q.emptyString=t=>q.string(t)&&t.length===0;q.nonEmptyString=t=>q.string(t)&&t.length>0;var ude=t=>q.string(t)&&!/\S/.test(t);q.emptyStringOrWhitespace=t=>q.emptyString(t)||ude(t);q.emptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length===0;q.nonEmptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length>0;q.emptySet=t=>q.set(t)&&t.size===0;q.nonEmptySet=t=>q.set(t)&&t.size>0;q.emptyMap=t=>q.map(t)&&t.size===0;q.nonEmptyMap=t=>q.map(t)&&t.size>0;var q2=(t,e,r)=>{if(!q.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)};q.any=(t,...e)=>(q.array(t)?t:[t]).some(i=>q2(Array.prototype.some,i,e));q.all=(t,...e)=>q2(Array.prototype.every,t,e);var Re=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${q(r)}\`.`)};zs.assert={undefined:t=>Re(q.undefined(t),"undefined",t),string:t=>Re(q.string(t),"string",t),number:t=>Re(q.number(t),"number",t),bigint:t=>Re(q.bigint(t),"bigint",t),function_:t=>Re(q.function_(t),"Function",t),null_:t=>Re(q.null_(t),"null",t),class_:t=>Re(q.class_(t),"Class",t),boolean:t=>Re(q.boolean(t),"boolean",t),symbol:t=>Re(q.symbol(t),"symbol",t),numericString:t=>Re(q.numericString(t),"string with a number",t),array:(t,e)=>{Re(q.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Re(q.buffer(t),"Buffer",t),nullOrUndefined:t=>Re(q.nullOrUndefined(t),"null or undefined",t),object:t=>Re(q.object(t),"Object",t),iterable:t=>Re(q.iterable(t),"Iterable",t),asyncIterable:t=>Re(q.asyncIterable(t),"AsyncIterable",t),generator:t=>Re(q.generator(t),"Generator",t),asyncGenerator:t=>Re(q.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Re(q.nativePromise(t),"native Promise",t),promise:t=>Re(q.promise(t),"Promise",t),generatorFunction:t=>Re(q.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Re(q.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Re(q.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Re(q.boundFunction(t),"Function",t),regExp:t=>Re(q.regExp(t),"RegExp",t),date:t=>Re(q.date(t),"Date",t),error:t=>Re(q.error(t),"Error",t),map:t=>Re(q.map(t),"Map",t),set:t=>Re(q.set(t),"Set",t),weakMap:t=>Re(q.weakMap(t),"WeakMap",t),weakSet:t=>Re(q.weakSet(t),"WeakSet",t),int8Array:t=>Re(q.int8Array(t),"Int8Array",t),uint8Array:t=>Re(q.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Re(q.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Re(q.int16Array(t),"Int16Array",t),uint16Array:t=>Re(q.uint16Array(t),"Uint16Array",t),int32Array:t=>Re(q.int32Array(t),"Int32Array",t),uint32Array:t=>Re(q.uint32Array(t),"Uint32Array",t),float32Array:t=>Re(q.float32Array(t),"Float32Array",t),float64Array:t=>Re(q.float64Array(t),"Float64Array",t),bigInt64Array:t=>Re(q.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Re(q.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Re(q.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Re(q.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Re(q.dataView(t),"DataView",t),urlInstance:t=>Re(q.urlInstance(t),"URL",t),urlString:t=>Re(q.urlString(t),"string with a URL",t),truthy:t=>Re(q.truthy(t),"truthy",t),falsy:t=>Re(q.falsy(t),"falsy",t),nan:t=>Re(q.nan(t),"NaN",t),primitive:t=>Re(q.primitive(t),"primitive",t),integer:t=>Re(q.integer(t),"integer",t),safeInteger:t=>Re(q.safeInteger(t),"integer",t),plainObject:t=>Re(q.plainObject(t),"plain object",t),typedArray:t=>Re(q.typedArray(t),"TypedArray",t),arrayLike:t=>Re(q.arrayLike(t),"array-like",t),domElement:t=>Re(q.domElement(t),"HTMLElement",t),observable:t=>Re(q.observable(t),"Observable",t),nodeStream:t=>Re(q.nodeStream(t),"Node.js Stream",t),infinite:t=>Re(q.infinite(t),"infinite number",t),emptyArray:t=>Re(q.emptyArray(t),"empty array",t),nonEmptyArray:t=>Re(q.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Re(q.emptyString(t),"empty string",t),nonEmptyString:t=>Re(q.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Re(q.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Re(q.emptyObject(t),"empty object",t),nonEmptyObject:t=>Re(q.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Re(q.emptySet(t),"empty set",t),nonEmptySet:t=>Re(q.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Re(q.emptyMap(t),"empty map",t),nonEmptyMap:t=>Re(q.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Re(q.evenInteger(t),"even integer",t),oddInteger:t=>Re(q.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Re(q.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Re(q.inRange(t,e),"in range",t),any:(t,...e)=>Re(q.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Re(q.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(q,{class:{value:q.class_},function:{value:q.function_},null:{value:q.null_}});Object.defineProperties(zs.assert,{class:{value:zs.assert.class_},function:{value:zs.assert.function_},null:{value:zs.assert.null_}});zs.default=q;Ym.exports=q;Ym.exports.default=q;Ym.exports.assert=zs.assert});var J2=C((c6e,pb)=>{"use strict";var db=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Qf=class{static fn(e){return(...r)=>new Qf((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 db(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Qf.prototype,Promise.prototype);pb.exports=Qf;pb.exports.CancelError=db});var W2=C((Cb,mb)=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var gde=require("tls"),Ib=(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 gde.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)};Cb.default=Ib;mb.exports=Ib;mb.exports.default=Ib});var z2=C((Eb,yb)=>{"use strict";Object.defineProperty(Eb,"__esModule",{value:!0});var fde=W2(),hde=Number(process.versions.node.split(".")[0]),Bb=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||hde>=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),fde.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};Eb.default=Bb;yb.exports=Bb;yb.exports.default=Bb});var tH=C((u6e,wb)=>{"use strict";var{V4MAPPED:pde,ADDRCONFIG:dde,ALL:V2,promises:{Resolver:X2},lookup:Cde}=require("dns"),{promisify:Qb}=require("util"),mde=require("os"),nc=Symbol("cacheableLookupCreateConnection"),bb=Symbol("cacheableLookupInstance"),Z2=Symbol("expires"),Ide=typeof V2=="number",_2=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Ede=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$2=()=>{let t=!1,e=!1;for(let r of Object.values(mde.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}},yde=t=>Symbol.iterator in t,eH={ttl:!0},Bde={all:!0},Db=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new X2,lookup:o=Cde}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Qb(o),this._resolver instanceof X2?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Qb(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Qb(this._resolver.resolve6.bind(this._resolver))),this._iface=$2(),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&pde&&(Ide&&r.hints&V2||n.length===0)?Ede(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&dde){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=>v({},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,eH),this._resolve6(e,eH)].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[Z2]=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}}yde(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Bde);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[Z2];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[nc](r,i))}uninstall(e){if(_2(e),e[nc]){if(e[bb]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[nc],delete e[nc],delete e[bb]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$2(),(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()}};wb.exports=Db;wb.exports.default=Db});var nH=C((g6e,Sb)=>{"use strict";var wde=typeof URL=="undefined"?require("url").URL:URL,Qde="text/plain",bde="us-ascii",rH=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Dde=(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===bde)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Qde)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},iH=(t,e)=>{if(e=v({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 Dde(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new wde(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];rH(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()])rH(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};Sb.exports=iH;Sb.exports.default=iH});var aH=C((f6e,sH)=>{sH.exports=oH;function oH(t,e){if(t&&e)return oH(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 AH=aH();xb.exports=AH(jm);xb.exports.strict=AH(lH);jm.proto=jm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return jm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return lH(this)},configurable:!0})});function jm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function lH(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 vb=C((p6e,cH)=>{var Sde=kb(),xde=function(){},kde=function(t){return t.setHeader&&typeof t.abort=="function"},vde=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},uH=function(t,e,r){if(typeof e=="function")return uH(t,null,e);e||(e={}),r=Sde(r||xde);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 kde(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)),vde(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)}};cH.exports=uH});var hH=C((d6e,gH)=>{var Pde=kb(),Fde=vb(),Pb=require("fs"),bf=function(){},Rde=/^v?\.0/.test(process.version),Gm=function(t){return typeof t=="function"},Nde=function(t){return!Rde||!Pb?!1:(t instanceof(Pb.ReadStream||bf)||t instanceof(Pb.WriteStream||bf))&&Gm(t.close)},Lde=function(t){return t.setHeader&&Gm(t.abort)},Mde=function(t,e,r,i){i=Pde(i);var n=!1;t.on("close",function(){n=!0}),Fde(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,Nde(t))return t.close(bf);if(Lde(t))return t.abort();if(Gm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},fH=function(t){t()},Tde=function(t,e){return t.pipe(e)},Ode=function(){var t=Array.prototype.slice.call(arguments),e=Gm(t[t.length-1]||bf)&&t.pop()||bf;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 Mde(n,o,a,function(l){r||(r=l),l&&i.forEach(fH),!o&&(i.forEach(fH),e(r))})});return t.reduce(Tde)};gH.exports=Ode});var dH=C((C6e,pH)=>{"use strict";var{PassThrough:Kde}=require("stream");pH.exports=t=>{t=v({},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 Kde({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 CH=C((m6e,sc)=>{"use strict";var Ude=hH(),Hde=dH(),Fb=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function qm(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=v({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=Ude(t,Hde(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Fb)})}),i.getBufferedValue()}sc.exports=qm;sc.exports.default=qm;sc.exports.buffer=(t,e)=>qm(t,V(v({},e),{encoding:"buffer"}));sc.exports.array=(t,e)=>qm(t,V(v({},e),{array:!0}));sc.exports.MaxBufferError=Fb});var IH=C((E6e,mH)=>{"use strict";var Yde=[200,203,204,206,300,301,404,405,410,414,501],jde=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Gde={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},qde={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Rb(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 Jde(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(", ")}mH.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=Rb(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=Rb(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":Jde(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())&&jde.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"]||Yde.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=Rb(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)Gde[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&&!qde[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 Jm=C((y6e,EH)=>{"use strict";EH.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var wH=C((B6e,yH)=>{"use strict";var Wde=require("stream").Readable,zde=Jm(),BH=class extends Wde{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=zde(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};yH.exports=BH});var bH=C((w6e,QH)=>{"use strict";var Vde=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];QH.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Vde));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var SH=C((Q6e,DH)=>{"use strict";var Xde=require("stream").PassThrough,Zde=bH(),_de=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Xde;return Zde(t,e),t.pipe(e)};DH.exports=_de});var xH=C(Nb=>{Nb.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)};Nb.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 FH=C((D6e,kH)=>{"use strict";var $de=require("events"),vH=xH(),eCe=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},PH=class extends $de{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:vH.stringify,deserialize:vH.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=eCe(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())}};kH.exports=PH});var LH=C((S6e,RH)=>{"use strict";var tCe=require("events"),Wm=require("url"),rCe=nH(),iCe=CH(),Lb=IH(),NH=wH(),nCe=Jm(),sCe=SH(),oCe=FH(),os=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new oCe({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=Mb(Wm.parse(r)),r={};else if(r instanceof Wm.URL)n=Mb(Wm.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Mb(V(v({},r),{pathname:g,search:h}))}r=v(v({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),aCe(n)),r.headers=nCe(r.headers);let s=new tCe,o=rCe(Wm.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(I=>{h=()=>{f||(f=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let B=Lb.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!B.modified){let x=B.policy.responseHeaders();I=new NH(l.statusCode,x,l.body,l.url),I.cachePolicy=B.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new Lb(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=sCe(I),(async()=>{try{let B=iCe.buffer(I);if(await Promise.race([p,new Promise(O=>I.once("end",O))]),f)return;let x=await B,F={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:x},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,F,N)}catch(B){s.emit("error",new os.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new os.CacheError(B))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",h),I.once("abort",h),s.emit("request",I)}catch(I){s.emit("error",new os.RequestError(I))}};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=Lb.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let I=m.responseHeaders(),y=new NH(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new os.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 os.CacheError(h))}})(),s}}};function aCe(t){let e=v({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function Mb(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}os.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};os.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};RH.exports=os});var TH=C((x6e,MH)=>{"use strict";var ACe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];MH.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(ACe)),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 KH=C((k6e,OH)=>{"use strict";var{Transform:lCe,PassThrough:cCe}=require("stream"),Tb=require("zlib"),uCe=TH();OH.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Tb.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new lCe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new cCe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Tb.createBrotliDecompress():Tb.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),uCe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var Ob=C((v6e,UH)=>{"use strict";var HH=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)}};UH.exports=HH});var Ub=C((P6e,YH)=>{"use strict";var gCe=require("events"),fCe=require("tls"),hCe=require("http2"),pCe=Ob(),li=Symbol("currentStreamsCount"),jH=Symbol("request"),fn=Symbol("cachedOriginSet"),oc=Symbol("gracefullyClosing"),dCe=["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"],CCe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},mCe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Kb=(t,e)=>{for(let r of t)r[fn].lengthe[fn].includes(i))&&r[li]+e[li]<=e.remoteSettings.maxConcurrentStreams&&GH(r)},ICe=(t,e)=>{for(let r of t)e[fn].lengthr[fn].includes(i))&&e[li]+r[li]<=r.remoteSettings.maxConcurrentStreams&&GH(e)},qH=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Xs.kCurrentStreamsCount]{t[oc]=!0,t[li]===0&&t.close()},Xs=class extends gCe{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 pCe({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 dCe)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=Xs.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[oc]||p.destroyed)continue;h||(g=m),I>f&&(h=p,f=I)}}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=hCe.connect(e,v({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[li]=0,f[oc]=!1;let h=()=>f[li]{this.tlsSessionCache.set(u,I)}),f.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(f),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let I of f[fn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&h();)y.shift().resolve(f);let B=this.queue[o];if(B[I].listeners.length===0&&(delete B[I],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[fn]=f.originSet,!!h()&&(m(),Kb(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);f.destroy();return}f[fn]=f.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(CCe(y,f,mCe),0,f)}else I[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[li]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),Kb(this.sessions[o],f)})}),f[jH]=f.request,f.request=(I,y)=>{if(f[oc])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[jH](I,y);return f.ref(),++f[li],f[li]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[li],!f.destroyed&&!f.closed&&(ICe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[li]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[oc])?f.close():(Kb(this.sessions[o],f),m())}}),B}}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 Xs.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),fCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[li]===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 qH({agent:this,isFree:!0})}get busySessions(){return qH({agent:this,isFree:!1})}};Xs.kCurrentStreamsCount=li;Xs.kGracefullyClosing=oc;YH.exports={Agent:Xs,globalAgent:new Xs}});var Hb=C((F6e,JH)=>{"use strict";var{Readable:ECe}=require("stream"),WH=class extends ECe{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()}};JH.exports=WH});var Yb=C((R6e,zH)=>{"use strict";zH.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 XH=C((N6e,VH)=>{"use strict";VH.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var _H=C((L6e,ZH)=>{"use strict";ZH.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var eY=C((T6e,$H)=>{"use strict";var ac=(t,e,r)=>{$H.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};ac(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]}`});ac(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);ac(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);ac(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);ac(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);ac(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Jb=C((O6e,tY)=>{"use strict";var yCe=require("http2"),{Writable:BCe}=require("stream"),{Agent:rY,globalAgent:wCe}=Ub(),QCe=Hb(),bCe=Yb(),DCe=XH(),SCe=_H(),{ERR_INVALID_ARG_TYPE:jb,ERR_INVALID_PROTOCOL:xCe,ERR_HTTP_HEADERS_SENT:iY,ERR_INVALID_HTTP_TOKEN:kCe,ERR_HTTP_INVALID_HEADER_VALUE:vCe,ERR_INVALID_CHAR:PCe}=eY(),{HTTP2_HEADER_STATUS:nY,HTTP2_HEADER_METHOD:sY,HTTP2_HEADER_PATH:oY,HTTP2_METHOD_CONNECT:FCe}=yCe.constants,Jr=Symbol("headers"),Gb=Symbol("origin"),qb=Symbol("session"),aY=Symbol("options"),zm=Symbol("flushedHeaders"),Df=Symbol("jobs"),RCe=/^[\^`\-\w!#$%&*+.|~]+$/,NCe=/[^\t\u0020-\u007E\u0080-\u00FF]/,AY=class extends BCe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=bCe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:v({},e)):r=v(v({},e),r),r.h2session)this[qb]=r.h2session;else if(r.agent===!1)this.agent=new rY({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new rY({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=wCe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new jb("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new xCe(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[Jr]=Object.create(null),this[Df]=[],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[Jr])&&(this[Jr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[aY]=r,s===443?(this[Gb]=`https://${o}`,":authority"in this[Jr]||(this[Jr][":authority"]=o)):(this[Gb]=`https://${o}:${s}`,":authority"in this[Jr]||(this[Jr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[zm]=!1}get method(){return this[Jr][sY]}set method(e){e&&(this[Jr][sY]=e.toUpperCase())}get path(){return this[Jr][oY]}set path(e){e&&(this[Jr][oY]=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[Df].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[Df].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[zm]||this.destroyed)return;this[zm]=!0;let e=this.method===FCe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||DCe(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 QCe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[nY],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[nY]}))),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[Df])o();this.emit("socket",this.socket)};if(this[qb])try{r(this[qb].request(this[Jr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[Gb],this[aY],this[Jr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new jb("name","string",e);return this[Jr][e.toLowerCase()]}get headersSent(){return this[zm]}removeHeader(e){if(typeof e!="string")throw new jb("name","string",e);if(this.headersSent)throw new iY("remove");delete this[Jr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new iY("set");if(typeof e!="string"||!RCe.test(e)&&!SCe(e))throw new kCe("Header name",e);if(typeof r=="undefined")throw new vCe(r,e);if(NCe.test(r))throw new PCe("header content",e);this[Jr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Df].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};tY.exports=AY});var cY=C((K6e,lY)=>{"use strict";var LCe=require("tls");lY.exports=(t={})=>new Promise((e,r)=>{let i=LCe.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 gY=C((U6e,uY)=>{"use strict";var MCe=require("net");uY.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]),MCe.isIP(e)?"":e}});var pY=C((H6e,Wb)=>{"use strict";var fY=require("http"),zb=require("https"),TCe=cY(),OCe=Ob(),KCe=Jb(),UCe=gY(),HCe=Yb(),Vm=new OCe({maxSize:100}),Sf=new Map,hY=(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)},YCe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Vm.has(e)){if(Sf.has(e))return(await Sf.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=TCe(t);Sf.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Vm.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=zb,l=zb.Agent.prototype.createConnection;i?i.createConnection===l?hY(i,s,t):s.destroy():a.createConnection===l?hY(a,s,t):s.destroy()}return Sf.delete(e),o}catch(s){throw Sf.delete(e),s}}return Vm.get(e)};Wb.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=HCe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=V(v(v({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||UCe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?zb.globalAgent:fY.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 YCe(e)==="h2"?(n&&(e.agent=n.http2),new KCe(e,r)):fY.request(e,r)};Wb.exports.protocolCache=Vm});var CY=C((Y6e,dY)=>{"use strict";var jCe=require("http2"),GCe=Ub(),Vb=Jb(),qCe=Hb(),JCe=pY(),WCe=(t,e,r)=>new Vb(t,e,r),zCe=(t,e,r)=>{let i=new Vb(t,e,r);return i.end(),i};dY.exports=V(v(V(v({},jCe),{ClientRequest:Vb,IncomingMessage:qCe}),GCe),{request:WCe,get:zCe,auto:JCe})});var Zb=C(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});var mY=Vs();Xb.default=t=>mY.default.nodeStream(t)&&mY.default.function_(t.getBoundary)});var BY=C(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});var IY=require("fs"),EY=require("util"),yY=Vs(),VCe=Zb(),XCe=EY.promisify(IY.stat);_b.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(yY.default.string(t))return Buffer.byteLength(t);if(yY.default.buffer(t))return t.length;if(VCe.default(t))return EY.promisify(t.getLength.bind(t))();if(t instanceof IY.ReadStream){let{size:r}=await XCe(t.path);return r}}});var eD=C($b=>{"use strict";Object.defineProperty($b,"__esModule",{value:!0});function ZCe(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])}}$b.default=ZCe});var wY=C(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});tD.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 bY=C(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});xf.TimeoutError=void 0;var _Ce=require("net"),$Ce=wY(),QY=Symbol("reentry"),eme=()=>{},rD=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};xf.TimeoutError=rD;xf.default=(t,e,r)=>{if(QY in t)return eme;t[QY]=!0;let i=[],{once:n,unhandleAll:s}=$Ce.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 I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new rD(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:_Ce.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",I=>{I===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 SY=C(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var DY=Vs();iD.default=t=>{t=t;let e={protocol:t.protocol,hostname:DY.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 DY.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 xY=C(nD=>{"use strict";Object.defineProperty(nD,"__esModule",{value:!0});var tme=require("url"),rme=["protocol","host","hostname","port","pathname","search"];nD.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 tme.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 rme)e[s]&&(n[s]=e[s].toString());return n}});var vY=C(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var kY=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)}};sD.default=kY});var aD=C(oD=>{"use strict";Object.defineProperty(oD,"__esModule",{value:!0});var ime=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(""))};oD.default=ime});var FY=C(mA=>{"use strict";Object.defineProperty(mA,"__esModule",{value:!0});mA.dnsLookupIpVersionToFamily=mA.isDnsLookupIpVersion=void 0;var PY={auto:0,ipv4:4,ipv6:6};mA.isDnsLookupIpVersion=t=>t in PY;mA.dnsLookupIpVersionToFamily=t=>{if(mA.isDnsLookupIpVersion(t))return PY[t];throw new Error("Invalid DNS lookup IP version")}});var AD=C(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});Xm.isResponseOk=void 0;Xm.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var NY=C(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var RY=new Set;lD.default=t=>{RY.has(t)||(RY.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var LY=C(cD=>{"use strict";Object.defineProperty(cD,"__esModule",{value:!0});var Ht=Vs(),nme=(t,e)=>{if(Ht.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ht.assert.any([Ht.default.string,Ht.default.undefined],t.encoding),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.resolveBodyOnly),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.methodRewriting),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.isStream),Ht.assert.any([Ht.default.string,Ht.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=v({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ht.default.object(r)?(t.retry=v(v({},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)]):Ht.default.number(r)&&(t.retry.limit=r),Ht.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ht.default.number))),Ht.default.object(t.pagination)){e&&(t.pagination=v(v({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ht.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ht.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ht.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ht.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};cD.default=nme});var MY=C(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.retryAfterStatusCodes=void 0;kf.retryAfterStatusCodes=new Set([413,429,503]);var sme=({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};kf.default=sme});var Pf=C(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.UnsupportedProtocolError=Et.ReadError=Et.TimeoutError=Et.UploadError=Et.CacheError=Et.HTTPError=Et.MaxRedirectsError=Et.RequestError=Et.setNonEnumerableProperties=Et.knownHookEvents=Et.withoutBody=Et.kIsNormalizedAlready=void 0;var TY=require("util"),OY=require("stream"),ome=require("fs"),Wo=require("url"),KY=require("http"),uD=require("http"),ame=require("https"),Ame=z2(),lme=tH(),UY=LH(),cme=KH(),ume=CY(),gme=Jm(),se=Vs(),fme=BY(),HY=Zb(),hme=eD(),YY=bY(),pme=SY(),jY=xY(),dme=vY(),Cme=aD(),GY=FY(),mme=AD(),zo=NY(),Ime=LY(),Eme=MY(),yme=new lme.default,Sr=Symbol("request"),Zm=Symbol("response"),Ac=Symbol("responseSize"),lc=Symbol("downloadedSize"),cc=Symbol("bodySize"),uc=Symbol("uploadedSize"),_m=Symbol("serverResponsesPiped"),qY=Symbol("unproxyEvents"),JY=Symbol("isFromCache"),gD=Symbol("cancelTimeouts"),WY=Symbol("startedReading"),gc=Symbol("stopReading"),$m=Symbol("triggerRead"),Vo=Symbol("body"),vf=Symbol("jobs"),zY=Symbol("originalResponse"),VY=Symbol("retryTimeout");Et.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Bme=se.default.string(process.versions.brotli);Et.withoutBody=new Set(["GET","HEAD"]);Et.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function wme(t){for(let e in t){let r=t[e];if(!se.default.string(r)&&!se.default.number(r)&&!se.default.boolean(r)&&!se.default.null_(r)&&!se.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Qme(t){return se.default.object(t)&&!("statusCode"in t)}var fD=new dme.default,bme=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()})}),Dme=new Set([300,301,302,303,304,307,308]),Sme=["context","body","json","form"];Et.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Sme)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var mr=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 hD?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Zm]}),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,!se.default.undefined(r.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(` +`)}`}}};Et.RequestError=mr;var pD=class extends mr{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=pD;var dD=class extends mr{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=dD;var CD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=CD;var mD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=mD;var ID=class extends mr{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=ID;var eI=class extends mr{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=eI;var ED=class extends mr{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=ED;var xme=["socket","connect","continue","information","upgrade","timeout"],hD=class extends OY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[lc]=0,this[uc]=0,this.requestInitialized=!1,this[_m]=new Set,this.redirects=[],this[gc]=!1,this[$m]=!1,this[vf]=[],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 uD.IncomingMessage&&(this.options.headers=v(v({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ome.ReadStream&&await bme(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[Sr])===null||c===void 0||c.destroy();return}for(let g of this[vf])g();this[vf].length=0,this.requestInitialized=!0}catch(u){if(u instanceof mr){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=v(v(v({},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=v(v({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([GY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.https.pfx)),se.assert.any([se.default.object,se.default.undefined],r.cacheOptions),se.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=v({},r.headers):r.headers=gme(v(v({},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(se.default.string(r.searchParams)||r.searchParams instanceof Wo.URLSearchParams)h=new Wo.URLSearchParams(r.searchParams);else{wme(r.searchParams),h=new Wo.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:"",se.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+="/")),se.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=jY.default(r.prefixUrl+r.url,r)}else(se.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=jY.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${I.href}`);r.url=new Wo.URL(m+I.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Wo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new ED(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;se.assert.function_(h),se.assert.function_(p),h.length===4&&p.length===0&&(h=TY.promisify(h.bind(r.cookieJar)),p=TY.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(fD.has(g)||fD.set(g,new UY((h,p)=>{let m=h[Sr](h,p);return se.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions=v({},r.cacheOptions),r.dnsCache===!0)r.dnsCache=yme;else if(!se.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${se.default(r.dnsCache)}`);se.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=v(v({},i.timeout),r.timeout):r.timeout=v({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=v({},r.hooks);for(let h of Et.knownHookEvents)if(h in r.hooks)if(se.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${se.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Et.knownHookEvents)i.hooks[h].length!==0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&zo.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=v(v({},i.https),r.https)),"rejectUnauthorized"in r&&zo.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&zo.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&zo.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&zo.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&zo.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&zo.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&zo.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,Et.setNonEnumerableProperties([i,c],r),Ime.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=!se.default.undefined(e.form),n=!se.default.undefined(e.json),s=!se.default.undefined(e.body),o=i||n||s,a=Et.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 OY.Readable)&&!se.default.string(e.body)&&!se.default.buffer(e.body)&&!HY.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!se.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!se.default.string(r["content-type"]);s?(HY.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[Vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[Vo]=new Wo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[Vo]=e.stringifyJson(e.json));let c=await fme.default(this[Vo],e.headers);se.default.undefined(r["content-length"])&&se.default.undefined(r["transfer-encoding"])&&!a&&!se.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[cc]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[zY]=e,r.decompress&&(e=cme(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:KY.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[JY]=s.isFromCache,this[Ac]=Number(e.headers["content-length"])||void 0,this[Zm]=e,e.once("end",()=>{this[Ac]=this[lc],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new eI(a,this))}),e.once("aborted",()=>{this._beforeError(new eI({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(se.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&&Dme.has(n)){if(e.resume(),this[Sr]&&(this[gD](),delete this[Sr],this[qY]()),(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[Vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new pD(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Wo.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&&!mme.isResponseOk(s)){this._beforeError(new dD(s));return}e.on("readable",()=>{this[$m]&&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[_m])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;Ame.default(e),this[gD]=YY.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 instanceof YY.TimeoutError?l=new ID(l,this.timings,this):l=new mr(l.message,l,this),this._beforeError(l)}),this[qY]=hme.default(e,this,xme),this[Sr]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[Vo],a=this.redirects.length===0?this:e;se.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new mD(l,this))})):(this._unlockWrite(),se.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,pme.default(e)),delete r.url;let s,o=fD.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 y in a)if(se.default.undefined(a[y]))delete a[y];else if(se.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&se.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Bme?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());se.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let B=await y(o);if(!se.default.undefined(B)){o.request=()=>B;break}}o.body&&this[Vo]!==o.body&&(this[Vo]=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 y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:B,path:x}=y.groups;Object.assign(o,{socketPath:B,path:x,host:""})}}let f=g.protocol==="https:",h;o.http2?h=ume.auto:h=f?ame.request:KY.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[Sr]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=GY.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);se.default.undefined(y)&&(y=h(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Qme(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof UY.CacheError?new CD(y,this):new mr(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new mr(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[gc])return;let{options:r}=this,i=this.retryCount+1;this[gc]=!0,e instanceof mr||(e=new mr(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Cme.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:Eme.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new mr(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 mr(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[VY]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[$m]=!0;let e=this[Zm];if(e&&!this[gc]){e.readableLength&&(this[$m]=!1);let r;for(;(r=e.read())!==null;){this[lc]+=r.length,this[WY]=!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[vf].push(n)}_writeRequest(e,r,i){this[Sr].destroyed||(this._progressCallbacks.push(()=>{this[uc]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Sr].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(!(Sr in this)){e();return}if(this[Sr].destroyed){e();return}this[Sr].end(i=>{i||(this[cc]=this[uc],this.emit("uploadProgress",this.uploadProgress),this[Sr].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[vf].push(r)}_destroy(e,r){var i;this[gc]=!0,clearTimeout(this[VY]),Sr in this&&(this[gD](),((i=this[Zm])===null||i===void 0?void 0:i.complete)||this[Sr].destroy()),e!==null&&!se.default.undefined(e)&&!(e instanceof mr)&&(e=new mr(e.message,e,this)),r(e)}get _isAboutToError(){return this[gc]}get ip(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Sr])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[zY])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[Ac]?e=this[lc]/this[Ac]:this[Ac]===this[lc]?e=1:e=0,{percent:e,transferred:this[lc],total:this[Ac]}}get uploadProgress(){let e;return this[cc]?e=this[uc]/this[cc]:this[cc]===this[uc]?e=1:e=0,{percent:e,transferred:this[uc],total:this[cc]}}get timings(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[JY]}pipe(e,r){if(this[WY])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof uD.ServerResponse&&this[_m].add(e),super.pipe(e,r)}unpipe(e){return e instanceof uD.ServerResponse&&this[_m].delete(e),super.unpipe(e),this}};Et.default=hD});var Ff=C(Mn=>{"use strict";var kme=Mn&&Mn.__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]}),vme=Mn&&Mn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kme(e,t,r)};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.CancelError=Mn.ParseError=void 0;var XY=Pf(),ZY=class extends XY.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Mn.ParseError=ZY;var _Y=class extends XY.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Mn.CancelError=_Y;vme(Pf(),Mn)});var ej=C(yD=>{"use strict";Object.defineProperty(yD,"__esModule",{value:!0});var $Y=Ff(),Pme=(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 $Y.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new $Y.ParseError(s,t)}};yD.default=Pme});var BD=C(Xo=>{"use strict";var Fme=Xo&&Xo.__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]}),Rme=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Fme(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});var Nme=require("events"),Lme=Vs(),Mme=J2(),tI=Ff(),tj=ej(),rj=Pf(),Tme=eD(),Ome=aD(),ij=AD(),Kme=["request","response","redirect","uploadProgress","downloadProgress"];function nj(t){let e,r,i=new Nme.EventEmitter,n=new Mme((o,a,l)=>{let c=u=>{let g=new rj.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new tI.CancelError(g))),e=g,g.once("response",async h=>{var p;if(h.retryCount=u,h.request.aborted)return;let m;try{m=await Ome.default(g),h.rawBody=m}catch(x){return}if(g._isAboutToError)return;let I=((p=h.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:B}=g;if(y&&!B.decompress)h.body=m;else try{h.body=tj.default(h,B.responseType,B.parseJson,B.encoding)}catch(x){if(h.body=m.toString(),ij.isResponseOk(h)){g._beforeError(x);return}}try{for(let[x,F]of B.hooks.afterResponse.entries())h=await F(h,async N=>{let O=rj.default.normalizeArguments(void 0,V(v({},N),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),B);O.hooks.afterResponse=O.hooks.afterResponse.slice(0,x);for(let J of O.hooks.beforeRetry)await J(O);let P=nj(O);return l(()=>{P.catch(()=>{}),P.cancel()}),P})}catch(x){g._beforeError(new tI.RequestError(x.message,x,g));return}if(!ij.isResponseOk(h)){g._beforeError(new tI.HTTPError(h));return}r=h,o(g.options.resolveBodyOnly?h.body:h)});let f=h=>{if(n.isCanceled)return;let{options:p}=g;if(h instanceof tI.HTTPError&&!p.throwHttpErrors){let{response:m}=h;o(g.options.resolveBodyOnly?m.body:m);return}a(h)};g.once("error",f),g.once("retry",(h,p)=>{var m;if(Lme.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){f(p);return}c(h)}),Tme.default(g,i,Kme)};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 tj.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}Xo.default=nj;Rme(Ff(),Xo)});var sj=C(wD=>{"use strict";Object.defineProperty(wD,"__esModule",{value:!0});var Ume=Ff();function Hme(t,...e){let r=(async()=>{if(t instanceof Ume.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}wD.default=Hme});var Aj=C(QD=>{"use strict";Object.defineProperty(QD,"__esModule",{value:!0});var oj=Vs();function aj(t){for(let e of Object.values(t))(oj.default.plainObject(e)||oj.default.array(e))&&aj(e);return Object.freeze(t)}QD.default=aj});var cj=C(lj=>{"use strict";Object.defineProperty(lj,"__esModule",{value:!0})});var bD=C(hn=>{"use strict";var Yme=hn&&hn.__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]}),jme=hn&&hn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yme(e,t,r)};Object.defineProperty(hn,"__esModule",{value:!0});hn.defaultHandler=void 0;var uj=Vs(),pn=BD(),Gme=sj(),rI=Pf(),qme=Aj(),Jme={RequestError:pn.RequestError,CacheError:pn.CacheError,ReadError:pn.ReadError,HTTPError:pn.HTTPError,MaxRedirectsError:pn.MaxRedirectsError,TimeoutError:pn.TimeoutError,ParseError:pn.ParseError,CancelError:pn.CancelError,UnsupportedProtocolError:pn.UnsupportedProtocolError,UploadError:pn.UploadError},Wme=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:iI}=rI.default,gj=(...t)=>{let e;for(let r of t)e=iI(void 0,r,e);return e},zme=t=>t.isStream?new rI.default(void 0,t):pn.default(t),Vme=t=>"defaults"in t&&"options"in t.defaults,Xme=["get","post","put","patch","head","delete"];hn.defaultHandler=(t,e)=>e(t);var fj=(t,e)=>{if(t)for(let r of t)r(e)},hj=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?zme:c);if(uj.default.plainObject(i)){let u=v(v({},i),n);rI.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{fj(t.options.hooks.init,n),fj((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=iI(i,n,s!=null?s:t.options);if(g[rI.kIsNormalizedAlready]=!0,u)throw new pn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return Gme.default(u,t.options.hooks.beforeError,(a=n==null?void 0: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)Vme(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!==hn.defaultHandler),s.length===0&&s.push(hn.defaultHandler),hj({options:gj(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=iI(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!uj.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,V(v({},n),{isStream:!0}));for(let i of Xme)e[i]=(n,s)=>e(n,V(v({},s),{method:i})),e.stream[i]=(n,s)=>e(n,V(v({},s),{method:i,isStream:!0}));return Object.assign(e,Jme),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:qme.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=gj,e};hn.default=hj;jme(cj(),hn)});var sI=C((Zs,nI)=>{"use strict";var Zme=Zs&&Zs.__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]}),pj=Zs&&Zs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Zme(e,t,r)};Object.defineProperty(Zs,"__esModule",{value:!0});var _me=require("url"),dj=bD(),$me={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 _me.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:[dj.defaultHandler],mutableDefaults:!1},DD=dj.default($me);Zs.default=DD;nI.exports=DD;nI.exports.default=DD;nI.exports.__esModule=!0;pj(bD(),Zs);pj(BD(),Zs)});var Ej=C(fc=>{"use strict";var u7e=require("net"),eIe=require("tls"),SD=require("http"),Cj=require("https"),tIe=require("events"),g7e=require("assert"),rIe=require("util");fc.httpOverHttp=iIe;fc.httpsOverHttp=nIe;fc.httpOverHttps=sIe;fc.httpsOverHttps=oIe;function iIe(t){var e=new _s(t);return e.request=SD.request,e}function nIe(t){var e=new _s(t);return e.request=SD.request,e.createSocket=mj,e.defaultPort=443,e}function sIe(t){var e=new _s(t);return e.request=Cj.request,e}function oIe(t){var e=new _s(t);return e.request=Cj.request,e.createSocket=mj,e.defaultPort=443,e}function _s(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SD.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Ij(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)}})};_s.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=xD({},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")),Zo("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){Zo("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){Zo("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 Zo("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),Zo(`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)}};_s.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 mj(t,e){var r=this;_s.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=xD({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=eIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function Ij(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function xD(t){for(var e=1,r=arguments.length;e{yj.exports=Ej()});var sG=C((DVe,RD)=>{var Nj=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Nf={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Nf[$o]=ne[$o]);var ND=[],Lj="./this.program",Mj=function(t,e){throw e},Tj=!1,EA=!0,Lf="";function pIe(t){return ne.locateFile?ne.locateFile(t,Lf):Lf+t}var AI,LD,lI,MD;EA&&(Tj?Lf=require("path").dirname(Lf)+"/":Lf=__dirname+"/",AI=function(e,r){var i=Kj(e);return i?r?i:i.toString():(lI||(lI=Nj),MD||(MD=require("path")),e=MD.normalize(e),lI.readFileSync(e,r?null:"utf8"))},LD=function(e){var r=AI(e,!0);return r.buffer||(r=new Uint8Array(r)),Oj(r.buffer),r},process.argv.length>1&&(Lj=process.argv[1].replace(/\\/g,"/")),ND=process.argv.slice(2),typeof RD!="undefined"&&(RD.exports=ne),Mj=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var cI=ne.print||console.log.bind(console),Wr=ne.printErr||console.warn.bind(console);for($o in Nf)Nf.hasOwnProperty($o)&&(ne[$o]=Nf[$o]);Nf=null;ne.arguments&&(ND=ne.arguments);ne.thisProgram&&(Lj=ne.thisProgram);ne.quit&&(Mj=ne.quit);var dIe=16;function CIe(t,e){return e||(e=dIe),Math.ceil(t/e)*e}var mIe=0,IIe=function(t){mIe=t},TD;ne.wasmBinary&&(TD=ne.wasmBinary);var x7e=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&gr("no native wasm support detected");function EIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return ui[t>>0];case"i8":return ui[t>>0];case"i16":return OD[t>>1];case"i32":return je[t>>2];case"i64":return je[t>>2];case"float":return Uj[t>>2];case"double":return Hj[t>>3];default:gr("invalid type for getValue: "+e)}return null}var uI,Yj=!1,yIe;function Oj(t,e){t||gr("Assertion failed: "+e)}function jj(t){var e=ne["_"+t];return Oj(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function bIe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var m=(h.length<<2)+1;p=Jj(m),qj(h,p,m)}return p},array:function(h){var p=Jj(h.length);return BIe(h,p),p}};function o(h){return e==="string"?Gj(h):e==="boolean"?Boolean(h):h}var a=jj(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&Wj)return Wj.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function Gj(t,e){return t?hc(pc,t,e):""}function gI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function qj(t,e,r){return gI(t,pc,e,r)}function fI(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function KD(t){var e=fI(t)+1,r=zj(e);return r&&gI(t,ui,r,e),r}function BIe(t,e){ui.set(t,e)}function SIe(t,e){return t%e>0&&(t+=e-t%e),t}var UD,ui,pc,OD,xIe,je,kIe,Uj,Hj;function Vj(t){UD=t,ne.HEAP8=ui=new Int8Array(t),ne.HEAP16=OD=new Int16Array(t),ne.HEAP32=je=new Int32Array(t),ne.HEAPU8=pc=new Uint8Array(t),ne.HEAPU16=xIe=new Uint16Array(t),ne.HEAPU32=kIe=new Uint32Array(t),ne.HEAPF32=Uj=new Float32Array(t),ne.HEAPF64=Hj=new Float64Array(t)}var k7e=ne.INITIAL_MEMORY||16777216,HD,Xj=[],Zj=[],_j=[],vIe=!1;function FIe(){if(ne.preRun)for(typeof ne.preRun=="function"&&(ne.preRun=[ne.preRun]);ne.preRun.length;)PIe(ne.preRun.shift());YD(Xj)}function RIe(){vIe=!0,!ne.noFSInit&&!E.init.initialized&&E.init(),ea.init(),YD(Zj)}function LIe(){if(ne.postRun)for(typeof ne.postRun=="function"&&(ne.postRun=[ne.postRun]);ne.postRun.length;)NIe(ne.postRun.shift());YD(_j)}function PIe(t){Xj.unshift(t)}function MIe(t){Zj.unshift(t)}function NIe(t){_j.unshift(t)}var yA=0,jD=null,Mf=null;function TIe(t){return t}function $j(t){yA++,ne.monitorRunDependencies&&ne.monitorRunDependencies(yA)}function GD(t){if(yA--,ne.monitorRunDependencies&&ne.monitorRunDependencies(yA),yA==0&&(jD!==null&&(clearInterval(jD),jD=null),Mf)){var e=Mf;Mf=null,e()}}ne.preloadedImages={};ne.preloadedAudios={};function gr(t){ne.onAbort&&ne.onAbort(t),t+="",Wr(t),Yj=!0,yIe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var eG="data:application/octet-stream;base64,";function tG(t){return t.startsWith(eG)}var Tf="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/AX5gAnx/AXxgAn9+AX5gBX9/f39/AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAMBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAEBYQF0AAADggKAAgcCAgQAAQECAgANBAQOBwICAhwLEw0AAA0dFAwMAAcCDBAeAgMCAwIAAgEABwgUBBUIBgADAAwABAgIAgEGBgABAB8XAQEDAhMCAwUFEQICIA8GAgMYAQgCAQAABwUBGAAaAxIBAAcEAyERCCIHAQsVAQMABQMDAwAFBAACIwYAAQEAGw0bFw0BBAALCwMDDAwAAwAHJAMBBAgaAQECBQMBAwMABwcHAgICAiURCwgICwEmCQkAAAAKAAIABQAGBgUFBQEDBgYGBRISBgQBAQEAAAIJBgABAA4AAQEPCQABBBkJCQkAAAADCgoBAQIQAAAAAgEDAwkEAQoABQ4AAAkEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADxAQF5AM8BAXoAzQEBQQDLAQFCAMoBAUMAyQEBRADIAQFFAMcBAUYAkgIBRwCRAgFIAI4CAUkA6QEBSgDiAQFLAOEBAUwAPQFNAOABAU4A+gEBTwD5AQFQAPIBAVEA+wEBUgDfAQFTAN4BAVQA3QEBVQDcAQFWAOMBAVcA2wEBWADaAQFZANkBAVoA2AEBXwDXAQEkAOoBAmFhAJwBAmJhANYBAmNhANUBAmRhANQBAmVhADECZmEA6wECZ2EAGwJoYQDOAQJpYQBJAmphANMBAmthANIBAmxhAGgCbWEA0QECbmEA6AECb2EA0AECcGEA5AECcWEAigICcmEA+AECc2EA9wECdGEA9gECdWEA5wECdmEA5gECd2EA5QECeGEAGAJ5YQAVAnphAQAJQQEAQQELHswBkAKNAo8CjAKLArYBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH8AVr1AfQB8wHwAe8B7gHtAewBCq2RCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNByJsBKAIASQ0BIAAgAWohACADQcybASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB4JsBakYaIAIgAygCDCIBRgRAQbibAUG4mwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQcCbASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHQmwEoAgBGBEBB0JsBIAM2AgBBxJsBQcSbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQcybASgCAEcNA0HAmwFBADYCAEHMmwFBADYCAA8LIAVBzJsBKAIARgRAQcybASADNgIAQcCbAUHAmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QeCbAWpGGiACIAUoAgwiAUYEQEG4mwFBuJsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcibASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeidAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbybAUG8mwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANBzJsBKAIARw0BQcCbASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QeCbAWohAAJ/QbibASgCACICQQEgAXQiAXFFBEBBuJsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHonQFqIQECQAJAAkBBvJsBKAIAIgRBASACdCIHcUUEQEG8mwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdibAUHYmwEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBDIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQbibASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUHomwFqKAIAIgRBCGohAAJAIAQoAggiAiABQeCbAWoiAUYEQEG4mwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQcCbASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQeibAWooAgAiBCgCCCIBIABB4JsBaiIARgRAQbibASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RB4JsBaiEHQcybASgCACEEAn8gBUEBIAF0IgFxRQRAQbibASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQcybASACNgIAQcCbASADNgIADA0LQbybASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEHonQFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBByJsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhBvJsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QeidAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB6J0BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HAmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEHImwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQcCbASgCACICTQRAQcybASgCACEDAkAgAiAIayIBQRBPBEBBwJsBIAE2AgBBzJsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0HMmwFBADYCAEHAmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQcSbASgCACIGSQRAQcSbASAGIAhrIgE2AgBB0JsBQdCbASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QZCfASgCAARAQZifASgCAAwBC0GcnwFCfzcCAEGUnwFCgKCAgICABDcCAEGQnwEgDEEMakFwcUHYqtWqBXM2AgBBpJ8BQQA2AgBB9J4BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpB8J4BKAIAIgQEQEHongEoAgAiAyACaiIBIANNDQsgASAESw0LC0H0ngEtAABBBHENBQJAAkBB0JsBKAIAIgMEQEH4ngEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAEDwiAUF/Rg0GIAIhBUGUnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkHwngEoAgAiBARAQeieASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPCIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPCIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBmJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA8QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrEDwaDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQfSeAUH0ngEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA8IQFBABA8IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQeieAUHongEoAgAgBWoiADYCAEHsngEoAgAgAEkEQEHsngEgADYCAAsCQAJAAkBB0JsBKAIAIgcEQEH4ngEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQcibASgCACIAQQAgACABTRtFBEBByJsBIAE2AgALQQAhAEH8ngEgBTYCAEH4ngEgATYCAEHYmwFBfzYCAEHcmwFBkJ8BKAIANgIAQYSfAUEANgIAA0AgAEEDdCIDQeibAWogA0HgmwFqIgI2AgAgA0HsmwFqIAI2AgAgAEEBaiIAQSBHDQALQcSbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB0JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQdSbAUGgnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQdCbASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQcSbAUHEmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRB1JsBQaCfASgCADYCAAwBC0HImwEoAgAgAUsEQEHImwEgATYCAAsgASAFaiECQfieASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0H4ngEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEHQmwEgBjYCAEHEmwFBxJsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVBzJsBKAIARgRAQcybASAGNgIAQcCbAUHAmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEHgmwFqRhogAyAFKAIMIgFGBEBBuJsBQbibASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRB6J0BaiIAKAIARgRAIAAgATYCACABDQFBvJsBQbybASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QeCbAWohAgJ/QbibASgCACIBQQEgAHQiAHFFBEBBuJsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB6J0BaiEEAkBBvJsBKAIAIgNBASAAdCIBcUUEQEG8mwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HEmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQdCbASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHUmwFBoJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBgJ8BKQIANwIQIAJB+J4BKQIANwIIQYCfASACQQhqNgIAQfyeASAFNgIAQfieASABNgIAQYSfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEHonQFqIQMCQEG8mwEoAgAiAkEBIAB0IgFxRQRAQbybASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtBxJsBKAIAIgAgCE0NAEHEmwEgACAIayIBNgIAQdCbAUHQmwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRB6J0BaiIAKAIAIARGBEAgACABNgIAIAENAUG8mwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RB4JsBaiECAn9BuJsBKAIAIgFBASAAdCIAcUUEQEG4mwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEHonQFqIQICQAJAIAlBASAAdCIBcUUEQEG8mwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRB6J0BaiIAKAIAIAFGBEAgACAENgIAIAQNAUG8mwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RB4JsBaiEEQcybASgCACECAn9BASAAdCIAIAVxRQRAQbibASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQcybASAJNgIAQcCbASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQEhogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAu4GAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQFWooAgAgACgCEEEQdkH/AXFBAnRBkB1qKAIAIAAoAhBB/wFxQQJ0QZAtaigCACAAKAIQQQh2Qf8BcUECdEGQJWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZAVaigCACAAKAIQQRB2Qf8BcUECdEGQHWooAgAgACgCEEH/AXFBAnRBkC1qKAIAIAAoAhBBCHZB/wFxQQJ0QZAlaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGQFWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGQNWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCDCICQQRqNgIMIAAgAigCACAAKAIQczYCECAAIAAoAhBBGHZBAnRBkM0AaigCACAAKAIQQRB2Qf8BcUECdEGQxQBqKAIAIAAoAhBB/wFxQQJ0QZA1aigCACAAKAIQQQh2Qf8BcUECdEGQPWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QZDNAGooAgAgACgCEEEQdkH/AXFBAnRBkMUAaigCACAAKAIQQf8BcUECdEGQNWooAgAgACgCEEEIdkH/AXFBAnRBkD1qKAIAc3NzNgIQIAAgACgCFEEgazYCFAwBCwsDQCAAKAIUQQRPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGQzQBqKAIAIAAoAhBBEHZB/wFxQQJ0QZDFAGooAgAgACgCEEH/AXFBAnRBkDVqKAIAIAAoAhBBCHZB/wFxQQJ0QZA9aigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QZA1aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQMRoLIAEoAgwoAiRBAUYEQCABKAIMEGcLAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIRogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQuwEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAu2AgEBfyMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjcDGCAEIAM2AhQCQCAEKAIkKQMYQgEgBCgCFK2Gg1AEQCAEKAIkQQxqQRxBABAUIARCfzcDKAwBCwJAIAQoAiQoAgBFBEAgBCAEKAIkKAIIIAQoAiAgBCkDGCAEKAIUIAQoAiQoAgQRDgA3AwgMAQsgBCAEKAIkKAIAIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEKADcDCAsgBCkDCEIAUwRAAkAgBCgCFEEERg0AIAQoAhRBDkYNAAJAIAQoAiQgBEIIQQQQIUIAUwRAIAQoAiRBDGpBFEEAEBQMAQsgBCgCJEEMaiAEKAIAIAQoAgQQFAsLCyAEIAQpAwg3AygLIAQpAyghAiAEQTBqJAAgAgsXACAALQAAQSBxRQRAIAEgAiAAEHIaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJSABKAIMEBULIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAyIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIUIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHsgBCgCLCAEKAIsQaQWahB7IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC5ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELkBIAAoAgwgACgCDEGwFmoQeyAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXAwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQugEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC4ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuAEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQugELCyAEKAIsEL0BIAQoAiAEQCAEKAIsELwBCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";tG(Tf)||(Tf=pIe(Tf));function OIe(t){try{if(t==Tf&&TD)return new Uint8Array(TD);var e=Kj(t);if(e)return e;if(LD)return LD(t);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(r){gr(r)}}function KIe(t,e){var r,i,n;try{n=OIe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Wr("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Wr("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)."),o}return[r,i]}function HIe(){var t={a:UIe};function e(n,s){var o=n.exports;ne.asm=o,uI=ne.asm.u,Vj(uI.buffer),HD=ne.asm.za,MIe(ne.asm.v),GD("wasm-instantiate")}if($j("wasm-instantiate"),ne.instantiateWasm)try{var r=ne.instantiateWasm(t,e);return r}catch(n){return Wr("Module.instantiateWasm callback failed with error: "+n),!1}var i=KIe(Tf,t);return e(i[0]),ne.asm}var xr,$s;function YD(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(ne);continue}var r=e.func;typeof r=="number"?e.arg===void 0?HD.get(r)():HD.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function hI(t,e){var r=new Date(je[t>>2]*1e3);je[e>>2]=r.getUTCSeconds(),je[e+4>>2]=r.getUTCMinutes(),je[e+8>>2]=r.getUTCHours(),je[e+12>>2]=r.getUTCDate(),je[e+16>>2]=r.getUTCMonth(),je[e+20>>2]=r.getUTCFullYear()-1900,je[e+24>>2]=r.getUTCDay(),je[e+36>>2]=0,je[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return je[e+28>>2]=n,hI.GMTString||(hI.GMTString=KD("GMT")),je[e+40>>2]=hI.GMTString,e}function YIe(t,e){return hI(t,e)}var gt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=gt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=gt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=gt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return gt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return gt.normalize(t.join("/"))},join2:function(t,e){return gt.normalize(t+"/"+e)}};function jIe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(EA)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){gr("randomDevice")}}var eo={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=gt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=eo.resolve(t).substr(1),e=eo.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).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;t.input=qD(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(cI(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cI(hc(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Wr(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Wr(hc(t.output,0)),t.output=[])}}};function JD(t){for(var e=CIe(t,65536),r=zj(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&ot.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return ot.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=ot.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),gt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Xe.flagsForNodeMap)t&r&&(e|=Xe.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Xe.realPath(t),r;try{r=st.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}return Xe.isWindows&&!r.blksize&&(r.blksize=4096),Xe.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Xe.realPath(t);try{if(e.mode!==void 0&&(st.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);st.utimesSync(r,i,i)}e.size!==void 0&&st.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Xe.convertNodeCode(n)):n}},lookup:function(t,e){var r=gt.join2(Xe.realPath(t),e),i=Xe.getMode(r);return Xe.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Xe.createNode(t,e,r,i),s=Xe.realPath(n);try{E.isDir(n.mode)?st.mkdirSync(s,n.mode):st.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Xe.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Xe.realPath(t),n=gt.join2(Xe.realPath(e),r);try{st.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Xe.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=gt.join2(Xe.realPath(t),e);try{st.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}},rmdir:function(t,e){var r=gt.join2(Xe.realPath(t),e);try{st.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}},readdir:function(t){var e=Xe.realPath(t);try{return st.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=gt.join2(Xe.realPath(t),e);try{st.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Xe.convertNodeCode(n)):n}},readlink:function(t){var e=Xe.realPath(t);try{return e=st.readlinkSync(e),e=WD.relative(WD.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Xe.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=st.openSync(e,Xe.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&st.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Xe.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return st.readSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return st.writeSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=st.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new E.ErrnoError(28);if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);var o=JD(r);return Xe.stream_ops.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);if(n&2)return 0;var s=Xe.stream_ops.write(t,e,0,i,r,!1);return 0}}},rG={lookupPath:function(t){return{path:t,node:{mode:Xe.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?st.mkdirSync(t,e):st.writeFileSync(t,"",{mode:e})},mkdir:function(){st.mkdirSync.apply(void 0,arguments)},symlink:function(){st.symlinkSync.apply(void 0,arguments)},rename:function(){st.renameSync.apply(void 0,arguments)},rmdir:function(){st.rmdirSync.apply(void 0,arguments)},readdir:function(){st.readdirSync.apply(void 0,arguments)},unlink:function(){st.unlinkSync.apply(void 0,arguments)},readlink:function(){return st.readlinkSync.apply(void 0,arguments)},stat:function(){return st.statSync.apply(void 0,arguments)},lstat:function(){return st.lstatSync.apply(void 0,arguments)},chmod:function(){st.chmodSync.apply(void 0,arguments)},fchmod:function(){st.fchmodSync.apply(void 0,arguments)},chown:function(){st.chownSync.apply(void 0,arguments)},fchown:function(){st.fchownSync.apply(void 0,arguments)},truncate:function(){st.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new E.ErrnoError(28);st.ftruncateSync.apply(void 0,arguments)},utime:function(){st.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=BA.modeStringToFlags(e));var n=st.openSync(t,Xe.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||st.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return BA.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=st.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(dc.EINVAL);if(i<0)throw new E.ErrnoError(dc.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return BA.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=st.readSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return BA.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=st.writeSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(dc.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return BA.mmap(t,e,r,i,n,s);if(e!==0)throw new E.ErrnoError(28);var o=JD(r);return E.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?BA.msync(t,e,r,i,n):(n&2||E.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(dc.ENOTTY)}},E={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(t,e){if(t=eo.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=gt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){var n=new E.FSNode(t,e,r,i);return E.hashAddNode(n),n},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&Wr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=gt.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,m=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=h);var B=function(F,N){if(F>N)throw new Error("invalid range ("+F+", "+N+") or no bytes requested!");if(N>h-1)throw new Error("only "+h+" bytes available! programmer error!");var O=new XMLHttpRequest;if(O.open("GET",r,!1),h!==y&&O.setRequestHeader("Range","bytes="+F+"-"+N),typeof Uint8Array!="undefined"&&(O.responseType="arraybuffer"),O.overrideMimeType&&O.overrideMimeType("text/plain; charset=x-user-defined"),O.send(null),!(O.status>=200&&O.status<300||O.status===304))throw new Error("Couldn't load "+r+". Status: "+O.status);return O.response!==void 0?new Uint8Array(O.response||[]):qD(O.responseText||"",!0)},x=this;x.setDataGetter(function(F){var N=F*y,O=(F+1)*y-1;if(O=Math.min(O,h-1),typeof x.chunks[F]=="undefined"&&(x.chunks[F]=B(N,O)),typeof x.chunks[F]=="undefined")throw new Error("doXHR failed!");return x.chunks[F]}),(I||!h)&&(y=h=1,h=this.getter(0).length,y=h,cI("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!Tj)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return E.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,m,I){E.forceLoadFile(l);var y=f.node.contents;if(I>=y.length)return 0;var B=Math.min(y.length-I,m);if(y.slice)for(var x=0;x>2]=i.dev,je[r+4>>2]=0,je[r+8>>2]=i.ino,je[r+12>>2]=i.mode,je[r+16>>2]=i.nlink,je[r+20>>2]=i.uid,je[r+24>>2]=i.gid,je[r+28>>2]=i.rdev,je[r+32>>2]=0,$s=[i.size>>>0,(xr=i.size,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[r+40>>2]=$s[0],je[r+44>>2]=$s[1],je[r+48>>2]=4096,je[r+52>>2]=i.blocks,je[r+56>>2]=i.atime.getTime()/1e3|0,je[r+60>>2]=0,je[r+64>>2]=i.mtime.getTime()/1e3|0,je[r+68>>2]=0,je[r+72>>2]=i.ctime.getTime()/1e3|0,je[r+76>>2]=0,$s=[i.ino>>>0,(xr=i.ino,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[r+80>>2]=$s[0],je[r+84>>2]=$s[1],0},doMsync:function(t,e,r,i,n){var s=pc.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=gt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,fI(i)),s=ui[e+n];return qj(i,e,r+1),ui[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=je[e+(s*8+4)>>2],l=E.read(t,ui,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=je[e+(s*8+4)>>2],l=E.write(t,ui,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){wt.varargs+=4;var t=je[wt.varargs-4>>2];return t},getStr:function(t){var e=Gj(t);return e},getStreamFromFD:function(t){var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(t,e){return t}};function GIe(t,e){try{return t=wt.getStr(t),E.chmod(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function JIe(t){return je[qIe()>>2]=t,t}function WIe(t,e,r){wt.varargs=r;try{var i=wt.getStreamFromFD(t);switch(e){case 0:{var n=wt.get();if(n<0)return-28;var s;return s=E.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=wt.get();return i.flags|=n,0}case 12:{var n=wt.get(),o=0;return OD[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return JIe(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&gr(a),-a.errno}}function zIe(t,e){try{var r=wt.getStreamFromFD(t);return wt.doStat(E.stat,r.path,e)}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&gr(i),-i.errno}}function VIe(t,e,r){wt.varargs=r;try{var i=wt.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=wt.get();return je[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=wt.get();return E.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:gr("bad ioctl syscall "+e)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&gr(s),-s.errno}}function XIe(t,e,r){wt.varargs=r;try{var i=wt.getStr(t),n=r?wt.get():0,s=E.open(i,e,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),-o.errno}}function ZIe(t,e){try{return t=wt.getStr(t),e=wt.getStr(e),E.rename(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function _Ie(t){try{return t=wt.getStr(t),E.rmdir(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&gr(e),-e.errno}}function $Ie(t,e){try{return t=wt.getStr(t),wt.doStat(E.stat,t,e)}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function eEe(t){try{return t=wt.getStr(t),E.unlink(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&gr(e),-e.errno}}function tEe(t,e,r){pc.copyWithin(t,e,e+r)}function rEe(t){try{return uI.grow(t-UD.byteLength+65535>>>16),Vj(uI.buffer),1}catch(e){}}function iEe(t){var e=pc.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,SIe(Math.max(t,n),65536)),o=rEe(s);if(o)return!0}return!1}function nEe(t){try{var e=wt.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),r.errno}}function sEe(t,e){try{var r=wt.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return ui[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&gr(n),n.errno}}function oEe(t,e,r,i){try{var n=wt.getStreamFromFD(t),s=wt.doReadv(n,e,r);return je[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),o.errno}}function aEe(t,e,r,i,n){try{var s=wt.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),$s=[s.position>>>0,(xr=s.position,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[n>>2]=$s[0],je[n+4>>2]=$s[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&gr(c),c.errno}}function AEe(t,e,r,i){try{var n=wt.getStreamFromFD(t),s=wt.doWritev(n,e,r);return je[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),o.errno}}function lEe(t){IIe(t)}function cEe(t){var e=Date.now()/1e3|0;return t&&(je[t>>2]=e),e}function zD(){if(zD.called)return;zD.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);je[gEe()>>2]=s*60,je[uEe()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=KD(a),u=KD(l);n>2]=c,je[pI()+4>>2]=u):(je[pI()>>2]=u,je[pI()+4>>2]=c)}function fEe(t){zD();var e=Date.UTC(je[t+20>>2]+1900,je[t+16>>2],je[t+12>>2],je[t+8>>2],je[t+4>>2],je[t>>2],0),r=new Date(e);je[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return je[t+28>>2]=n,r.getTime()/1e3|0}var iG=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=E.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},dI=292|73,CI=146;Object.defineProperties(iG.prototype,{read:{get:function(){return(this.mode&dI)===dI},set:function(t){t?this.mode|=dI:this.mode&=~dI}},write:{get:function(){return(this.mode&CI)===CI},set:function(t){t?this.mode|=CI:this.mode&=~CI}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}});E.FSNode=iG;E.staticInit();EA&&(st=Nj,WD=require("path"),Xe.staticInit());var st,WD;if(EA){nG=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(dc[e.code]):e}}},BA=Object.assign({},E);for(VD in rG)E[VD]=nG(rG[VD])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var nG,BA,VD;function qD(t,e,r){var i=r>0?r:fI(t)+1,n=new Array(i),s=gI(t,n,0,n.length);return e&&(n.length=s),n}var hEe=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(FIe(),yA>0))return;function e(){mI||(mI=!0,ne.calledRun=!0,!Yj&&(RIe(),ne.onRuntimeInitialized&&ne.onRuntimeInitialized(),LIe()))}ne.setStatus?(ne.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ne.setStatus("")},1),e()},1)):e()}ne.run=XD;if(ne.preInit)for(typeof ne.preInit=="function"&&(ne.preInit=[ne.preInit]);ne.preInit.length>0;)ne.preInit.pop()();XD()});var AG=C((kVe,aG)=>{"use strict";function dEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function wA(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,wA)}dEe(wA,Error);wA.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>",ue=pt(">>",!1),Be=">&",ct=pt(">&",!1),mt=">",St=pt(">",!1),xn="<<<",Ii=pt("<<<",!1),Xt="<&",_i=pt("<&",!1),zn="<",_u=pt("<",!1),Kd=function(d){return{type:"argument",segments:[].concat(...d)}},xs=function(d){return d},$u="'",Ud=pt("'",!1),YB=function(d){return[{type:"text",text:d}]},eg='"',Hd=pt('"',!1),Yd=function(d){return d},jd=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},jB=function(d){return{type:"shell",shell:d,quoted:!0}},GB=function(d){return V(v({type:"variable"},d),{quoted:!0})},tg=function(d){return{type:"text",text:d}},qB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},JB=function(d){return{type:"shell",shell:d,quoted:!1}},Gd=function(d){return V(v({type:"variable"},d),{quoted:!1})},WB=function(d){return{type:"glob",pattern:d}},_="\\",ks=pt("\\",!1),$i=Ps(),en=function(d){return d},rg=/^[^']/,qd=Hr(["'"],!0,!1),El=function(d){return d.join("")},ig=/^[^$"]/,Jd=Hr(["$",'"'],!0,!1),ng="-",yl=pt("-",!1),sg="+",og=pt("+",!1),zB=".",VB=pt(".",!1),XB=function(d,b,k){return{type:"number",value:(d==="-"?-1:1)*parseFloat(b.join("")+"."+k.join(""))}},Wd=function(d,b){return{type:"number",value:(d==="-"?-1:1)*parseInt(b.join(""))}},zd=function(d){return v({type:"variable"},d)},ZB=function(d){return{type:"variable",name:d}},Vd=function(d){return d},Xd="*",Zd=pt("*",!1),_B=function(d,b){return{type:"multiplication",left:d,right:b}},$B="/",ew=pt("/",!1),tw=function(d,b){return{type:"division",left:d,right:b}},rw=function(d,b){return{type:"addition",left:d,right:b}},M=function(d,b){return{type:"subtraction",left:d,right:b}},it="$((",Bl=pt("$((",!1),Oi="))",ag=pt("))",!1),Oe=function(d){return d},Ta="$(",_d=pt("$(",!1),aN=function(d){return d},Oa="${",$d=pt("${",!1),Ot=":-",Vn=pt(":-",!1),iw=function(d,b){return{name:d,defaultValue:b}},eC=":-}",So=pt(":-}",!1),tC=function(d){return{name:d,defaultValue:[]}},xo=function(d){return{name:d}},Ve="$",nw=pt("$",!1),rC=function(d){return e.isGlobPattern(d)},iC=function(d){return d},nC=/^[a-zA-Z0-9_]/,Ag=Hr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),lg=function(){return ow()},cg=/^[$@*?#a-zA-Z0-9_\-]/,Ka=Hr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Ua=/^[(){}<>$|&; \t"']/,sw=Hr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),sC=/^[<>&; \t"']/,oC=Hr(["<",">","&",";"," "," ",'"',"'"],!1,!1),aC=/^[ \t]/,ko=Hr([" "," "],!1,!1),Q=0,Le=0,Ha=[{line:1,column:1}],Ei=0,wl=[],be=0,vs;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 ow(){return t.substring(Le,Q)}function aw(){return U(Le,Q)}function ug(d,b){throw b=b!==void 0?b:U(Le,Q),Ce([Ql(d)],t.substring(Le,Q),b)}function pr(d,b){throw b=b!==void 0?b:U(Le,Q),Ee(d,b)}function pt(d,b){return{type:"literal",text:d,ignoreCase:b}}function Hr(d,b,k){return{type:"class",parts:d,inverted:b,ignoreCase:k}}function Ps(){return{type:"any"}}function AC(){return{type:"end"}}function Ql(d){return{type:"other",description:d}}function S(d){var b=Ha[d],k;if(b)return b;for(k=d-1;!Ha[k];)k--;for(b=Ha[k],b={line:b.line,column:b.column};kEi&&(Ei=Q,wl=[]),wl.push(d))}function Ee(d,b){return new wA(d,null,null,b)}function Ce(d,b,k){return new wA(wA.buildMessage(d,b),d,b,k)}function Te(){var d,b;return d=Q,b=rt(),b===r&&(b=null),b!==r&&(Le=d,b=s(b)),d=b,d}function rt(){var d,b,k,Y,$;if(d=Q,b=Aw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();k!==r?(Y=Fs(),Y!==r?($=Kt(),$===r&&($=null),$!==r?(Le=d,b=o(b,Y,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;if(d===r)if(d=Q,b=Aw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();k!==r?(Y=Fs(),Y===r&&(Y=null),Y!==r?(Le=d,b=a(b,Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;return d}function Kt(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=rt(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=l(k),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;return d}function Fs(){var d;return t.charCodeAt(Q)===59?(d=c,Q++):(d=r,be===0&&G(u)),d===r&&(t.charCodeAt(Q)===38?(d=g,Q++):(d=r,be===0&&G(f))),d}function Aw(){var d,b,k;return d=Q,b=AN(),b!==r?(k=Eoe(),k===r&&(k=null),k!==r?(Le=d,b=h(b,k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Eoe(){var d,b,k,Y,$,ke,kt;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=yoe(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=Aw(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=p(k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;return d}function yoe(){var d;return t.substr(Q,2)===m?(d=m,Q+=2):(d=r,be===0&&G(I)),d===r&&(t.substr(Q,2)===y?(d=y,Q+=2):(d=r,be===0&&G(B))),d}function AN(){var d,b,k;return d=Q,b=Qoe(),b!==r?(k=Boe(),k===r&&(k=null),k!==r?(Le=d,b=x(b,k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Boe(){var d,b,k,Y,$,ke,kt;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=woe(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=AN(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=F(k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;return d}function woe(){var d;return t.substr(Q,2)===N?(d=N,Q+=2):(d=r,be===0&&G(O)),d===r&&(t.charCodeAt(Q)===124?(d=P,Q++):(d=r,be===0&&G(J))),d}function lC(){var d,b,k,Y,$,ke;if(d=Q,b=dN(),b!==r)if(t.charCodeAt(Q)===61?(k=oe,Q++):(k=r,be===0&&G(K)),k!==r)if(Y=cN(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(Le=d,b=A(b,Y),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;else Q=d,d=r;if(d===r)if(d=Q,b=dN(),b!==r)if(t.charCodeAt(Q)===61?(k=oe,Q++):(k=r,be===0&&G(K)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=W(b),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;return d}function Qoe(){var d,b,k,Y,$,ke,kt,bl,Yr,yi,vo;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(t.charCodeAt(Q)===40?(k=ee,Q++):(k=r,be===0&&G(re)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=rt(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();if(ke!==r)if(t.charCodeAt(Q)===41?(kt=H,Q++):(kt=r,be===0&&G(R)),kt!==r){for(bl=[],Yr=De();Yr!==r;)bl.push(Yr),Yr=De();if(bl!==r){for(Yr=[],yi=gg();yi!==r;)Yr.push(yi),yi=gg();if(Yr!==r){for(yi=[],vo=De();vo!==r;)yi.push(vo),vo=De();yi!==r?(Le=d,b=ve($,Yr),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(t.charCodeAt(Q)===123?(k=Ne,Q++):(k=r,be===0&&G(Je)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=rt(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();if(ke!==r)if(t.charCodeAt(Q)===125?(kt=Ke,Q++):(kt=r,be===0&&G(ie)),kt!==r){for(bl=[],Yr=De();Yr!==r;)bl.push(Yr),Yr=De();if(bl!==r){for(Yr=[],yi=gg();yi!==r;)Yr.push(yi),yi=gg();if(Yr!==r){for(yi=[],vo=De();vo!==r;)yi.push(vo),vo=De();yi!==r?(Le=d,b=ce($,Yr),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){for(k=[],Y=lC();Y!==r;)k.push(Y),Y=lC();if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r){if($=[],ke=lN(),ke!==r)for(;ke!==r;)$.push(ke),ke=lN();else $=r;if($!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=Se(k,$),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){if(k=[],Y=lC(),Y!==r)for(;Y!==r;)k.push(Y),Y=lC();else k=r;if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=fe(k),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}}}return d}function boe(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){if(k=[],Y=cC(),Y!==r)for(;Y!==r;)k.push(Y),Y=cC();else k=r;if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=Ie(k),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r;return d}function lN(){var d,b,k;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r?(k=gg(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r),d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();b!==r?(k=cC(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r)}return d}function gg(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();return b!==r?(Qe.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Z)),k===r&&(k=null),k!==r?(Y=Doe(),Y!==r?($=cC(),$!==r?(Le=d,b=X(k,Y,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function Doe(){var d;return t.substr(Q,2)===ae?(d=ae,Q+=2):(d=r,be===0&&G(ue)),d===r&&(t.substr(Q,2)===Be?(d=Be,Q+=2):(d=r,be===0&&G(ct)),d===r&&(t.charCodeAt(Q)===62?(d=mt,Q++):(d=r,be===0&&G(St)),d===r&&(t.substr(Q,3)===xn?(d=xn,Q+=3):(d=r,be===0&&G(Ii)),d===r&&(t.substr(Q,2)===Xt?(d=Xt,Q+=2):(d=r,be===0&&G(_i)),d===r&&(t.charCodeAt(Q)===60?(d=zn,Q++):(d=r,be===0&&G(_u))))))),d}function cC(){var d,b,k;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();return b!==r?(k=cN(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function cN(){var d,b,k;if(d=Q,b=[],k=uN(),k!==r)for(;k!==r;)b.push(k),k=uN();else b=r;return b!==r&&(Le=d,b=Kd(b)),d=b,d}function uN(){var d,b;return d=Q,b=Soe(),b!==r&&(Le=d,b=xs(b)),d=b,d===r&&(d=Q,b=xoe(),b!==r&&(Le=d,b=xs(b)),d=b,d===r&&(d=Q,b=koe(),b!==r&&(Le=d,b=xs(b)),d=b)),d}function Soe(){var d,b,k,Y;return d=Q,t.charCodeAt(Q)===39?(b=$u,Q++):(b=r,be===0&&G(Ud)),b!==r?(k=voe(),k!==r?(t.charCodeAt(Q)===39?(Y=$u,Q++):(Y=r,be===0&&G(Ud)),Y!==r?(Le=d,b=YB(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function xoe(){var d,b,k,Y;if(d=Q,t.charCodeAt(Q)===34?(b=eg,Q++):(b=r,be===0&&G(Hd)),b!==r){for(k=[],Y=gN();Y!==r;)k.push(Y),Y=gN();k!==r?(t.charCodeAt(Q)===34?(Y=eg,Q++):(Y=r,be===0&&G(Hd)),Y!==r?(Le=d,b=Yd(k),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;return d}function koe(){var d,b,k;if(d=Q,b=[],k=fN(),k!==r)for(;k!==r;)b.push(k),k=fN();else b=r;return b!==r&&(Le=d,b=Yd(b)),d=b,d}function gN(){var d,b;return d=Q,b=hN(),b!==r&&(Le=d,b=jd(b)),d=b,d===r&&(d=Q,b=pN(),b!==r&&(Le=d,b=jB(b)),d=b,d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=GB(b)),d=b,d===r&&(d=Q,b=Poe(),b!==r&&(Le=d,b=tg(b)),d=b))),d}function fN(){var d,b;return d=Q,b=hN(),b!==r&&(Le=d,b=qB(b)),d=b,d===r&&(d=Q,b=pN(),b!==r&&(Le=d,b=JB(b)),d=b,d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=Gd(b)),d=b,d===r&&(d=Q,b=Roe(),b!==r&&(Le=d,b=WB(b)),d=b,d===r&&(d=Q,b=Foe(),b!==r&&(Le=d,b=tg(b)),d=b)))),d}function voe(){var d,b,k,Y,$;for(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(rg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(qd)));k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(rg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(qd)));return b!==r&&(Le=d,b=El(b)),d=b,d}function Poe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(ig.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Jd))),k!==r)for(;k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(ig.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Jd)));else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function Foe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(k=Q,Y=Q,be++,$=CN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r)),k!==r)for(;k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(k=Q,Y=Q,be++,$=CN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r));else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function lw(){var d,b,k,Y,$,ke;if(d=Q,t.charCodeAt(Q)===45?(b=ng,Q++):(b=r,be===0&&G(yl)),b===r&&(t.charCodeAt(Q)===43?(b=sg,Q++):(b=r,be===0&&G(og))),b===r&&(b=null),b!==r){if(k=[],Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z)),Y!==r)for(;Y!==r;)k.push(Y),Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z));else k=r;if(k!==r)if(t.charCodeAt(Q)===46?(Y=zB,Q++):(Y=r,be===0&&G(VB)),Y!==r){if($=[],Qe.test(t.charAt(Q))?(ke=t.charAt(Q),Q++):(ke=r,be===0&&G(Z)),ke!==r)for(;ke!==r;)$.push(ke),Qe.test(t.charAt(Q))?(ke=t.charAt(Q),Q++):(ke=r,be===0&&G(Z));else $=r;$!==r?(Le=d,b=XB(b,k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,t.charCodeAt(Q)===45?(b=ng,Q++):(b=r,be===0&&G(yl)),b===r&&(t.charCodeAt(Q)===43?(b=sg,Q++):(b=r,be===0&&G(og))),b===r&&(b=null),b!==r){if(k=[],Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z)),Y!==r)for(;Y!==r;)k.push(Y),Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z));else k=r;k!==r?(Le=d,b=Wd(b,k),d=b):(Q=d,d=r)}else Q=d,d=r;if(d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=zd(b)),d=b,d===r&&(d=Q,b=hg(),b!==r&&(Le=d,b=ZB(b)),d=b,d===r)))if(d=Q,t.charCodeAt(Q)===40?(b=ee,Q++):(b=r,be===0&&G(re)),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(Y=uC(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(t.charCodeAt(Q)===41?(ke=H,Q++):(ke=r,be===0&&G(R)),ke!==r?(Le=d,b=Vd(Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r}return d}function fg(){var d,b,k,Y,$,ke;if(d=Q,b=lw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===42?(Y=Xd,Q++):(Y=r,be===0&&G(Zd)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=fg(),ke!==r?(Le=d,b=_B(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,b=lw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===47?(Y=$B,Q++):(Y=r,be===0&&G(ew)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=fg(),ke!==r?(Le=d,b=tw(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;d===r&&(d=lw())}return d}function uC(){var d,b,k,Y,$,ke;if(d=Q,b=fg(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===43?(Y=sg,Q++):(Y=r,be===0&&G(og)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=uC(),ke!==r?(Le=d,b=rw(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,b=fg(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===45?(Y=ng,Q++):(Y=r,be===0&&G(yl)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=uC(),ke!==r?(Le=d,b=M(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;d===r&&(d=fg())}return d}function hN(){var d,b,k,Y,$,ke;if(d=Q,t.substr(Q,3)===it?(b=it,Q+=3):(b=r,be===0&&G(Bl)),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(Y=uC(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(t.substr(Q,2)===Oi?(ke=Oi,Q+=2):(ke=r,be===0&&G(ag)),ke!==r?(Le=d,b=Oe(Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;return d}function pN(){var d,b,k,Y;return d=Q,t.substr(Q,2)===Ta?(b=Ta,Q+=2):(b=r,be===0&&G(_d)),b!==r?(k=rt(),k!==r?(t.charCodeAt(Q)===41?(Y=H,Q++):(Y=r,be===0&&G(R)),Y!==r?(Le=d,b=aN(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function cw(){var d,b,k,Y,$,ke;return d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.substr(Q,2)===Ot?(Y=Ot,Q+=2):(Y=r,be===0&&G(Vn)),Y!==r?($=boe(),$!==r?(t.charCodeAt(Q)===125?(ke=Ke,Q++):(ke=r,be===0&&G(ie)),ke!==r?(Le=d,b=iw(k,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.substr(Q,3)===eC?(Y=eC,Q+=3):(Y=r,be===0&&G(So)),Y!==r?(Le=d,b=tC(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.charCodeAt(Q)===125?(Y=Ke,Q++):(Y=r,be===0&&G(ie)),Y!==r?(Le=d,b=xo(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.charCodeAt(Q)===36?(b=Ve,Q++):(b=r,be===0&&G(nw)),b!==r?(k=hg(),k!==r?(Le=d,b=xo(k),d=b):(Q=d,d=r)):(Q=d,d=r)))),d}function Roe(){var d,b,k;return d=Q,b=Noe(),b!==r?(Le=Q,k=rC(b),k?k=void 0:k=r,k!==r?(Le=d,b=iC(b),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Noe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,Y=Q,be++,$=mN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k!==r)for(;k!==r;)b.push(k),k=Q,Y=Q,be++,$=mN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r);else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function dN(){var d,b,k;if(d=Q,b=[],nC.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ag)),k!==r)for(;k!==r;)b.push(k),nC.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ag));else b=r;return b!==r&&(Le=d,b=lg()),d=b,d}function hg(){var d,b,k;if(d=Q,b=[],cg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ka)),k!==r)for(;k!==r;)b.push(k),cg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ka));else b=r;return b!==r&&(Le=d,b=lg()),d=b,d}function CN(){var d;return Ua.test(t.charAt(Q))?(d=t.charAt(Q),Q++):(d=r,be===0&&G(sw)),d}function mN(){var d;return sC.test(t.charAt(Q))?(d=t.charAt(Q),Q++):(d=r,be===0&&G(oC)),d}function De(){var d,b;if(d=[],aC.test(t.charAt(Q))?(b=t.charAt(Q),Q++):(b=r,be===0&&G(ko)),b!==r)for(;b!==r;)d.push(b),aC.test(t.charAt(Q))?(b=t.charAt(Q),Q++):(b=r,be===0&&G(ko));else d=r;return d}if(vs=n(),vs!==r&&Q===t.length)return vs;throw vs!==r&&Q{"use strict";function mEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function QA(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,QA)}mEe(QA,Error);QA.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;gN&&(N=B,O=[]),O.push(Z))}function ie(Z,X){return new QA(Z,null,null,X)}function ce(Z,X,ae){return new QA(QA.buildMessage(Z,X),Z,X,ae)}function Se(){var Z,X,ae,ue;return Z=B,X=fe(),X!==r?(t.charCodeAt(B)===47?(ae=s,B++):(ae=r,P===0&&Ke(o)),ae!==r?(ue=fe(),ue!==r?(x=Z,X=a(X,ue),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=fe(),X!==r&&(x=Z,X=l(X)),Z=X),Z}function fe(){var Z,X,ae,ue;return Z=B,X=Ie(),X!==r?(t.charCodeAt(B)===64?(ae=c,B++):(ae=r,P===0&&Ke(u)),ae!==r?(ue=Qe(),ue!==r?(x=Z,X=g(X,ue),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=Ie(),X!==r&&(x=Z,X=f(X)),Z=X),Z}function Ie(){var Z,X,ae,ue,Be;return Z=B,t.charCodeAt(B)===64?(X=c,B++):(X=r,P===0&&Ke(u)),X!==r?(ae=pe(),ae!==r?(t.charCodeAt(B)===47?(ue=s,B++):(ue=r,P===0&&Ke(o)),ue!==r?(Be=pe(),Be!==r?(x=Z,X=h(),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=pe(),X!==r&&(x=Z,X=h()),Z=X),Z}function pe(){var Z,X,ae;if(Z=B,X=[],p.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(m)),ae!==r)for(;ae!==r;)X.push(ae),p.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(m));else X=r;return X!==r&&(x=Z,X=h()),Z=X,Z}function Qe(){var Z,X,ae;if(Z=B,X=[],I.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(y)),ae!==r)for(;ae!==r;)X.push(ae),I.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(y));else X=r;return X!==r&&(x=Z,X=h()),Z=X,Z}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function fG(t){return typeof t=="undefined"||t===null}function EEe(t){return typeof t=="object"&&t!==null}function yEe(t){return Array.isArray(t)?t:fG(t)?[]:[t]}function BEe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Uf(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||""}Uf.prototype=Object.create(Error.prototype);Uf.prototype.constructor=Uf;Uf.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};hG.exports=Uf});var CG=C((WVe,pG)=>{"use strict";var dG=DA();function iS(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}iS.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),dG.repeat(" ",e)+i+a+s+` +`+dG.repeat(" ",e+this.position-n+i.length)+"^"};iS.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};pG.exports=iS});var Ir=C((zVe,mG)=>{"use strict";var IG=Ec(),bEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],DEe=["scalar","sequence","mapping"];function SEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function xEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(bEe.indexOf(r)===-1)throw new IG('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=SEe(e.styleAliases||null),DEe.indexOf(this.kind)===-1)throw new IG('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}mG.exports=xEe});var SA=C((VVe,EG)=>{"use strict";var yG=DA(),bI=Ec(),kEe=Ir();function nS(t,e,r){var i=[];return t.include.forEach(function(n){r=nS(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 vEe(){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 PEe=Ir();BG.exports=new PEe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var bG=C((ZVe,QG)=>{"use strict";var FEe=Ir();QG.exports=new FEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var SG=C((_Ve,DG)=>{"use strict";var REe=Ir();DG.exports=new REe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var DI=C(($Ve,xG)=>{"use strict";var NEe=SA();xG.exports=new NEe({explicit:[wG(),bG(),SG()]})});var vG=C((eXe,kG)=>{"use strict";var LEe=Ir();function MEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function TEe(){return null}function OEe(t){return t===null}kG.exports=new LEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:MEe,construct:TEe,predicate:OEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var FG=C((tXe,PG)=>{"use strict";var KEe=Ir();function UEe(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 HEe(t){return t==="true"||t==="True"||t==="TRUE"}function YEe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}PG.exports=new KEe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:UEe,construct:HEe,predicate:YEe,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 NG=C((rXe,RG)=>{"use strict";var jEe=DA(),GEe=Ir();function qEe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function JEe(t){return 48<=t&&t<=55}function WEe(t){return 48<=t&&t<=57}function zEe(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 TG=C((iXe,LG)=>{"use strict";var MG=DA(),ZEe=Ir(),_Ee=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 $Ee(t){return!(t===null||!_Ee.test(t)||t[t.length-1]==="_")}function eye(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 tye=/^[-+]?[0-9]+e/;function rye(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(MG.isNegativeZero(t))return"-0.0";return r=t.toString(10),tye.test(r)?r.replace("e",".e"):r}function iye(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||MG.isNegativeZero(t))}LG.exports=new ZEe("tag:yaml.org,2002:float",{kind:"scalar",resolve:$Ee,construct:eye,predicate:iye,represent:rye,defaultStyle:"lowercase"})});var sS=C((nXe,OG)=>{"use strict";var nye=SA();OG.exports=new nye({include:[DI()],implicit:[vG(),FG(),NG(),TG()]})});var oS=C((sXe,KG)=>{"use strict";var sye=SA();KG.exports=new sye({include:[sS()]})});var jG=C((oXe,UG)=>{"use strict";var oye=Ir(),HG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YG=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 aye(t){return t===null?!1:HG.exec(t)!==null||YG.exec(t)!==null}function Aye(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=HG.exec(t),e===null&&(e=YG.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 lye(t){return t.toISOString()}UG.exports=new oye("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:aye,construct:Aye,instanceOf:Date,represent:lye})});var qG=C((aXe,GG)=>{"use strict";var cye=Ir();function uye(t){return t==="<<"||t===null}GG.exports=new cye("tag:yaml.org,2002:merge",{kind:"scalar",resolve:uye})});var zG=C((AXe,JG)=>{"use strict";var xA;try{WG=require,xA=WG("buffer").Buffer}catch(t){}var WG,gye=Ir(),aS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function fye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=aS;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function hye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=aS,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),xA?xA.from?xA.from(a):new xA(a):a}function pye(t){var e="",r=0,i,n,s=t.length,o=aS;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 dye(t){return xA&&xA.isBuffer(t)}JG.exports=new gye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fye,construct:hye,predicate:dye,represent:pye})});var XG=C((lXe,VG)=>{"use strict";var Cye=Ir(),mye=Object.prototype.hasOwnProperty,Iye=Object.prototype.toString;function Eye(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 Bye=Ir(),wye=Object.prototype.toString;function Qye(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 Dye=Ir(),Sye=Object.prototype.hasOwnProperty;function xye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Sye.call(r,e)&&r[e]!==null)return!1;return!0}function kye(t){return t!==null?t:{}}$G.exports=new Dye("tag:yaml.org,2002:set",{kind:"mapping",resolve:xye,construct:kye})});var Bc=C((gXe,tq)=>{"use strict";var vye=SA();tq.exports=new vye({include:[oS()],implicit:[jG(),qG()],explicit:[zG(),XG(),_G(),eq()]})});var iq=C((fXe,rq)=>{"use strict";var Pye=Ir();function Fye(){return!0}function Rye(){}function Nye(){return""}function Lye(t){return typeof t=="undefined"}rq.exports=new Pye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Fye,construct:Rye,predicate:Lye,represent:Nye})});var sq=C((hXe,nq)=>{"use strict";var Mye=Ir();function Tye(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 Oye(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 Kye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Uye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}nq.exports=new Mye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Tye,construct:Oye,predicate:Uye,represent:Kye})});var Aq=C((pXe,oq)=>{"use strict";var SI;try{aq=require,SI=aq("esprima")}catch(t){typeof window!="undefined"&&(SI=window.esprima)}var aq,Hye=Ir();function Yye(t){if(t===null)return!1;try{var e="("+t+")",r=SI.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 jye(t){var e="("+t+")",r=SI.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 Gye(t){return t.toString()}function qye(t){return Object.prototype.toString.call(t)==="[object Function]"}oq.exports=new Hye("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Yye,construct:jye,predicate:qye,represent:Gye})});var Hf=C((dXe,lq)=>{"use strict";var cq=SA();lq.exports=cq.DEFAULT=new cq({include:[Bc()],explicit:[iq(),sq(),Aq()]})});var kq=C((CXe,Yf)=>{"use strict";var to=DA(),uq=Ec(),Jye=CG(),gq=Bc(),Wye=Hf(),ta=Object.prototype.hasOwnProperty,xI=1,fq=2,hq=3,kI=4,AS=1,zye=2,pq=3,Vye=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Xye=/[\x85\u2028\u2029]/,Zye=/[,\[\]\{\}]/,dq=/^(?:!|!!|![a-z\-]+!)$/i,Cq=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function mq(t){return Object.prototype.toString.call(t)}function as(t){return t===10||t===13}function kA(t){return t===9||t===32}function ki(t){return t===9||t===32||t===10||t===13}function wc(t){return t===44||t===91||t===93||t===123||t===125}function _ye(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function $ye(t){return t===120?2:t===117?4:t===85?8:0}function eBe(t){return 48<=t&&t<=57?t-48:-1}function Iq(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 tBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Eq=new Array(256),yq=new Array(256);for(var Qc=0;Qc<256;Qc++)Eq[Qc]=Iq(Qc)?1:0,yq[Qc]=Iq(Qc);function rBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Wye,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 Bq(t,e){return new uq(e,new Jye(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function $e(t,e){throw Bq(t,e)}function vI(t,e){t.onWarning&&t.onWarning.call(null,Bq(t,e))}var wq={YAML:function(e,r,i){var n,s,o;e.version!==null&&$e(e,"duplication of %YAML directive"),i.length!==1&&$e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&$e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&$e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&vI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&$e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],dq.test(n)||$e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&$e(e,'there is a previously declared suffix for "'+n+'" tag handle'),Cq.test(s)||$e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=to.repeat(` +`,e-1))}function iBe(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),ki(h)||wc(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),ki(n)||r&&wc(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),ki(n)||r&&wc(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),ki(i))break}else{if(t.position===t.lineStart&&PI(t)||r&&wc(h))break;if(as(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,fr(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&&(ra(t,s,o,!1),cS(t,t.line-l),s=o=t.position,a=!1),kA(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function nBe(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(ra(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 as(r)?(ra(t,i,n,!0),cS(t,fr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);$e(t,"unexpected end of the stream within a single quoted scalar")}function sBe(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 ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),as(a))fr(t,!1,e);else if(a<256&&Eq[a])t.result+=yq[a],t.position++;else if((o=$ye(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=_ye(a))>=0?s=(s<<4)+o:$e(t,"expected hexadecimal character");t.result+=tBe(s),t.position++}else $e(t,"unknown escape sequence");r=i=t.position}else as(a)?(ra(t,r,i,!0),cS(t,fr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}$e(t,"unexpected end of the stream within a double quoted scalar")}function oBe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(fr(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||$e(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),ki(a)&&(c=u=!0,t.position++,fr(t,!0,e))),i=t.line,Dc(t,e,xI,!1,!0),p=t.tag,h=t.result,fr(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),fr(t,!0,e),Dc(t,e,xI,!1,!0),m=t.result),g?bc(t,s,f,p,h,m):c?s.push(bc(t,null,f,p,h,m)):s.push(h),fr(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}$e(t,"unexpected end of the stream within a flow collection")}function aBe(t,e){var r,i,n=AS,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)AS===n?n=g===43?pq:zye:$e(t,"repeat of a chomping mode identifier");else if((u=eBe(g))>=0)u===0?$e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?$e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(kA(g)){do g=t.input.charCodeAt(++t.position);while(kA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!as(g)&&g!==0)}for(;g!==0;){for(lS(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),as(g)){l++;continue}if(t.lineIndente)&&l!==0)$e(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(Dc(t,e,kI,!0,n)&&(p?f=t.result:h=t.result),p||(bc(t,c,u,g,f,h,s,o),g=f=h=null),fr(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)$e(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)):$e(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):$e(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function gBe(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&&(fr(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&&!ki(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&$e(t,"directive name must not be less than one character in length");o!==0;){for(;kA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!as(o));break}if(as(o))break;for(r=t.position;o!==0&&!ki(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&lS(t),ta.call(wq,i)?wq[i](t,i,n):vI(t,'unknown document directive "'+i+'"')}if(fr(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,fr(t,!0,-1)):s&&$e(t,"directives end mark is expected"),Dc(t,t.lineIndent-1,kI,!1,!0),fr(t,!0,-1),t.checkLineBreaks&&Xye.test(t.input.slice(e,t.position))&&vI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&PI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,fr(t,!0,-1));return}if(t.position{"use strict";var jf=DA(),Gf=Ec(),pBe=Hf(),dBe=Bc(),vq=Object.prototype.toString,Pq=Object.prototype.hasOwnProperty,CBe=9,qf=10,mBe=13,IBe=32,EBe=33,yBe=34,Fq=35,BBe=37,wBe=38,QBe=39,bBe=42,Rq=44,DBe=45,Nq=58,SBe=61,xBe=62,kBe=63,vBe=64,Lq=91,Mq=93,PBe=96,Tq=123,FBe=124,Oq=125,zr={};zr[0]="\\0";zr[7]="\\a";zr[8]="\\b";zr[9]="\\t";zr[10]="\\n";zr[11]="\\v";zr[12]="\\f";zr[13]="\\r";zr[27]="\\e";zr[34]='\\"';zr[92]="\\\\";zr[133]="\\N";zr[160]="\\_";zr[8232]="\\L";zr[8233]="\\P";var RBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function NBe(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&&Hq(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!Sc(o))return FI;a=s>0?t.charCodeAt(s-1):null,f=f&&Hq(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?jq:Gq:r>9&&Yq(t)?FI:c?Jq:qq}function YBe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&RBe.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 MBe(t,l)}switch(KBe(e,o,t.indent,s,a)){case jq:return e;case Gq:return"'"+e.replace(/'/g,"''")+"'";case qq:return"|"+Wq(e,t.indent)+zq(Uq(e,n));case Jq:return">"+Wq(e,t.indent)+zq(Uq(UBe(e,s),n));case FI:return'"'+HBe(e,s)+'"';default:throw new Gf("impossible error: invalid scalar style")}}()}function Wq(t,e){var r=Yq(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function zq(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function UBe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,Vq(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!==""?` +`:"")+Vq(l,e),n=s}return i}function Vq(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 HBe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Kq((r-55296)*1024+i-56320+65536),s++;continue}n=zr[r],e+=!n&&Sc(r)?t[s]:n||Kq(r)}return e}function jBe(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?"":" "),!!vA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function JBe(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 Gf("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&qf===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=gS(t,e)),!!vA(t,e+1,u,!0,g)&&(t.dump&&qf===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function Xq(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 vA(t,e,r,i,n,s){t.tag=null,t.dump=r,Xq(t,r,!1)||Xq(t,r,!0);var o=vq.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?(JBe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(qBe(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?(GBe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(jBe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&YBe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Gf("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function WBe(t,e){var r=[],i=[],n,s;for(hS(t,r,i),n=0,s=i.length;n{"use strict";var RI=kq(),$q=_q();function NI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Ir();_t.exports.Schema=SA();_t.exports.FAILSAFE_SCHEMA=DI();_t.exports.JSON_SCHEMA=sS();_t.exports.CORE_SCHEMA=oS();_t.exports.DEFAULT_SAFE_SCHEMA=Bc();_t.exports.DEFAULT_FULL_SCHEMA=Hf();_t.exports.load=RI.load;_t.exports.loadAll=RI.loadAll;_t.exports.safeLoad=RI.safeLoad;_t.exports.safeLoadAll=RI.safeLoadAll;_t.exports.dump=$q.dump;_t.exports.safeDump=$q.safeDump;_t.exports.YAMLException=Ec();_t.exports.MINIMAL_SCHEMA=DI();_t.exports.SAFE_SCHEMA=Bc();_t.exports.DEFAULT_SCHEMA=Hf();_t.exports.scan=NI("scan");_t.exports.parse=NI("parse");_t.exports.compose=NI("compose");_t.exports.addConstructor=NI("addConstructor")});var rJ=C((EXe,tJ)=>{"use strict";var VBe=eJ();tJ.exports=VBe});var nJ=C((yXe,iJ)=>{"use strict";function XBe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function PA(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,PA)}XBe(PA,Error);PA.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({[Ee]:G})))},N=function(S){return S},O=function(S){return S},P=So("correct indentation"),J=" ",oe=Ot(" ",!1),K=function(S){return S.length===Ql*AC},A=function(S){return S.length===(Ql+1)*AC},W=function(){return Ql++,!0},ee=function(){return Ql--,!0},re=function(){return _d()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ve=Vn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Ne=/^[^\r\n\t ,\][{}:#"']/,Je=Vn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return _d().replace(/^ *| *$/g,"")},ie="--",ce=Ot("--",!1),Se=/^[a-zA-Z\/0-9]/,fe=Vn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=Vn(["\r",` +`," "," ",":",","],!0,!1),Qe="null",Z=Ot("null",!1),X=function(){return null},ae="true",ue=Ot("true",!1),Be=function(){return!0},ct="false",mt=Ot("false",!1),St=function(){return!1},xn=So("string"),Ii='"',Xt=Ot('"',!1),_i=function(){return""},zn=function(S){return S},_u=function(S){return S.join("")},Kd=/^[^"\\\0-\x1F\x7F]/,xs=Vn(['"',"\\",["\0",""],"\x7F"],!0,!1),$u='\\"',Ud=Ot('\\"',!1),YB=function(){return'"'},eg="\\\\",Hd=Ot("\\\\",!1),Yd=function(){return"\\"},jd="\\/",jB=Ot("\\/",!1),GB=function(){return"/"},tg="\\b",qB=Ot("\\b",!1),JB=function(){return"\b"},Gd="\\f",WB=Ot("\\f",!1),_=function(){return"\f"},ks="\\n",$i=Ot("\\n",!1),en=function(){return` +`},rg="\\r",qd=Ot("\\r",!1),El=function(){return"\r"},ig="\\t",Jd=Ot("\\t",!1),ng=function(){return" "},yl="\\u",sg=Ot("\\u",!1),og=function(S,U,G,Ee){return String.fromCharCode(parseInt(`0x${S}${U}${G}${Ee}`))},zB=/^[0-9a-fA-F]/,VB=Vn([["0","9"],["a","f"],["A","F"]],!1,!1),XB=So("blank space"),Wd=/^[ \t]/,zd=Vn([" "," "],!1,!1),ZB=So("white space"),Vd=/^[ \t\n\r]/,Xd=Vn([" "," ",` +`,"\r"],!1,!1),Zd=`\r +`,_B=Ot(`\r +`,!1),$B=` +`,ew=Ot(` +`,!1),tw="\r",rw=Ot("\r",!1),M=0,it=0,Bl=[{line:1,column:1}],Oi=0,ag=[],Oe=0,Ta;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 _d(){return t.substring(it,M)}function aN(){return xo(it,M)}function Oa(S,U){throw U=U!==void 0?U:xo(it,M),rC([So(S)],t.substring(it,M),U)}function $d(S,U){throw U=U!==void 0?U:xo(it,M),nw(S,U)}function Ot(S,U){return{type:"literal",text:S,ignoreCase:U}}function Vn(S,U,G){return{type:"class",parts:S,inverted:U,ignoreCase:G}}function iw(){return{type:"any"}}function eC(){return{type:"end"}}function So(S){return{type:"other",description:S}}function tC(S){var U=Bl[S],G;if(U)return U;for(G=S-1;!Bl[G];)G--;for(U=Bl[G],U={line:U.line,column:U.column};GOi&&(Oi=M,ag=[]),ag.push(S))}function nw(S,U){return new PA(S,null,null,U)}function rC(S,U,G){return new PA(PA.buildMessage(S,U),S,U,G)}function iC(){var S;return S=lg(),S}function nC(){var S,U,G;for(S=M,U=[],G=Ag();G!==r;)U.push(G),G=Ag();return U!==r&&(it=S,U=s(U)),S=U,S}function Ag(){var S,U,G,Ee,Ce;return S=M,U=Ua(),U!==r?(t.charCodeAt(M)===45?(G=o,M++):(G=r,Oe===0&&Ve(a)),G!==r?(Ee=pr(),Ee!==r?(Ce=Ka(),Ce!==r?(it=S,U=l(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S}function lg(){var S,U,G;for(S=M,U=[],G=cg();G!==r;)U.push(G),G=cg();return U!==r&&(it=S,U=c(U)),S=U,S}function cg(){var S,U,G,Ee,Ce,Te,rt,Kt,Fs;if(S=M,U=pr(),U===r&&(U=null),U!==r){if(G=M,t.charCodeAt(M)===35?(Ee=u,M++):(Ee=r,Oe===0&&Ve(g)),Ee!==r){if(Ce=[],Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r),Te!==r)for(;Te!==r;)Ce.push(Te),Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r);else Ce=r;Ce!==r?(Ee=[Ee,Ce],G=Ee):(M=G,G=r)}else M=G,G=r;if(G===r&&(G=null),G!==r){if(Ee=[],Ce=Hr(),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=Hr();else Ee=r;Ee!==r?(it=S,U=h(),S=U):(M=S,S=r)}else M=S,S=r}else M=S,S=r;if(S===r&&(S=M,U=Ua(),U!==r?(G=aC(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ua(),U!==r?(G=ko(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))){if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r)if(Ee=pr(),Ee!==r)if(Ce=Le(),Ce!==r){if(Te=[],rt=Hr(),rt!==r)for(;rt!==r;)Te.push(rt),rt=Hr();else Te=r;Te!==r?(it=S,U=I(G,Ce),S=U):(M=S,S=r)}else M=S,S=r;else M=S,S=r;else M=S,S=r;else M=S,S=r;if(S===r)if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r){if(Ee=[],Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r);else Ee=r;Ee!==r?(Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(M)===58?(Te=p,M++):(Te=r,Oe===0&&Ve(m)),Te!==r?(rt=pr(),rt===r&&(rt=null),rt!==r?(Kt=Ka(),Kt!==r?(it=S,U=F(G,Ee,Kt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)}else M=S,S=r;else M=S,S=r}return S}function Ka(){var S,U,G,Ee,Ce,Te,rt;if(S=M,U=M,Oe++,G=M,Ee=Ps(),Ee!==r?(Ce=sw(),Ce!==r?(t.charCodeAt(M)===45?(Te=o,M++):(Te=r,Oe===0&&Ve(a)),Te!==r?(rt=pr(),rt!==r?(Ee=[Ee,Ce,Te,rt],G=Ee):(M=G,G=r)):(M=G,G=r)):(M=G,G=r)):(M=G,G=r),Oe--,G!==r?(M=U,U=void 0):U=r,U!==r?(G=Hr(),G!==r?(Ee=sC(),Ee!==r?(Ce=nC(),Ce!==r?(Te=oC(),Te!==r?(it=S,U=N(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ps(),U!==r?(G=sC(),G!==r?(Ee=lg(),Ee!==r?(Ce=oC(),Ce!==r?(it=S,U=N(Ee),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))if(S=M,U=Q(),U!==r){if(G=[],Ee=Hr(),Ee!==r)for(;Ee!==r;)G.push(Ee),Ee=Hr();else G=r;G!==r?(it=S,U=O(U),S=U):(M=S,S=r)}else M=S,S=r;return S}function Ua(){var S,U,G;for(Oe++,S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));return U!==r?(it=M,G=K(U),G?G=void 0:G=r,G!==r?(U=[U,G],S=U):(M=S,S=r)):(M=S,S=r),Oe--,S===r&&(U=r,Oe===0&&Ve(P)),S}function sw(){var S,U,G;for(S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));return U!==r?(it=M,G=A(U),G?G=void 0:G=r,G!==r?(U=[U,G],S=U):(M=S,S=r)):(M=S,S=r),S}function sC(){var S;return it=M,S=W(),S?S=void 0:S=r,S}function oC(){var S;return it=M,S=ee(),S?S=void 0:S=r,S}function aC(){var S;return S=vs(),S===r&&(S=Ha()),S}function ko(){var S,U,G;if(S=vs(),S===r){if(S=M,U=[],G=Ei(),G!==r)for(;G!==r;)U.push(G),G=Ei();else U=r;U!==r&&(it=S,U=re()),S=U}return S}function Q(){var S;return S=wl(),S===r&&(S=be(),S===r&&(S=vs(),S===r&&(S=Ha()))),S}function Le(){var S;return S=wl(),S===r&&(S=vs(),S===r&&(S=Ei())),S}function Ha(){var S,U,G,Ee,Ce,Te;if(Oe++,S=M,R.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(ve)),U!==r){for(G=[],Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Ne.test(t.charAt(M))?(Te=t.charAt(M),M++):(Te=r,Oe===0&&Ve(Je)),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);Ee!==r;)G.push(Ee),Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Ne.test(t.charAt(M))?(Te=t.charAt(M),M++):(Te=r,Oe===0&&Ve(Je)),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);G!==r?(it=S,U=Ke(),S=U):(M=S,S=r)}else M=S,S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(H)),S}function Ei(){var S,U,G,Ee,Ce;if(S=M,t.substr(M,2)===ie?(U=ie,M+=2):(U=r,Oe===0&&Ve(ce)),U===r&&(U=null),U!==r)if(Se.test(t.charAt(M))?(G=t.charAt(M),M++):(G=r,Oe===0&&Ve(fe)),G!==r){for(Ee=[],Ie.test(t.charAt(M))?(Ce=t.charAt(M),M++):(Ce=r,Oe===0&&Ve(pe));Ce!==r;)Ee.push(Ce),Ie.test(t.charAt(M))?(Ce=t.charAt(M),M++):(Ce=r,Oe===0&&Ve(pe));Ee!==r?(it=S,U=Ke(),S=U):(M=S,S=r)}else M=S,S=r;else M=S,S=r;return S}function wl(){var S,U;return S=M,t.substr(M,4)===Qe?(U=Qe,M+=4):(U=r,Oe===0&&Ve(Z)),U!==r&&(it=S,U=X()),S=U,S}function be(){var S,U;return S=M,t.substr(M,4)===ae?(U=ae,M+=4):(U=r,Oe===0&&Ve(ue)),U!==r&&(it=S,U=Be()),S=U,S===r&&(S=M,t.substr(M,5)===ct?(U=ct,M+=5):(U=r,Oe===0&&Ve(mt)),U!==r&&(it=S,U=St()),S=U),S}function vs(){var S,U,G,Ee;return Oe++,S=M,t.charCodeAt(M)===34?(U=Ii,M++):(U=r,Oe===0&&Ve(Xt)),U!==r?(t.charCodeAt(M)===34?(G=Ii,M++):(G=r,Oe===0&&Ve(Xt)),G!==r?(it=S,U=_i(),S=U):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,t.charCodeAt(M)===34?(U=Ii,M++):(U=r,Oe===0&&Ve(Xt)),U!==r?(G=ow(),G!==r?(t.charCodeAt(M)===34?(Ee=Ii,M++):(Ee=r,Oe===0&&Ve(Xt)),Ee!==r?(it=S,U=zn(G),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)),Oe--,S===r&&(U=r,Oe===0&&Ve(xn)),S}function ow(){var S,U,G;if(S=M,U=[],G=aw(),G!==r)for(;G!==r;)U.push(G),G=aw();else U=r;return U!==r&&(it=S,U=_u(U)),S=U,S}function aw(){var S,U,G,Ee,Ce,Te;return Kd.test(t.charAt(M))?(S=t.charAt(M),M++):(S=r,Oe===0&&Ve(xs)),S===r&&(S=M,t.substr(M,2)===$u?(U=$u,M+=2):(U=r,Oe===0&&Ve(Ud)),U!==r&&(it=S,U=YB()),S=U,S===r&&(S=M,t.substr(M,2)===eg?(U=eg,M+=2):(U=r,Oe===0&&Ve(Hd)),U!==r&&(it=S,U=Yd()),S=U,S===r&&(S=M,t.substr(M,2)===jd?(U=jd,M+=2):(U=r,Oe===0&&Ve(jB)),U!==r&&(it=S,U=GB()),S=U,S===r&&(S=M,t.substr(M,2)===tg?(U=tg,M+=2):(U=r,Oe===0&&Ve(qB)),U!==r&&(it=S,U=JB()),S=U,S===r&&(S=M,t.substr(M,2)===Gd?(U=Gd,M+=2):(U=r,Oe===0&&Ve(WB)),U!==r&&(it=S,U=_()),S=U,S===r&&(S=M,t.substr(M,2)===ks?(U=ks,M+=2):(U=r,Oe===0&&Ve($i)),U!==r&&(it=S,U=en()),S=U,S===r&&(S=M,t.substr(M,2)===rg?(U=rg,M+=2):(U=r,Oe===0&&Ve(qd)),U!==r&&(it=S,U=El()),S=U,S===r&&(S=M,t.substr(M,2)===ig?(U=ig,M+=2):(U=r,Oe===0&&Ve(Jd)),U!==r&&(it=S,U=ng()),S=U,S===r&&(S=M,t.substr(M,2)===yl?(U=yl,M+=2):(U=r,Oe===0&&Ve(sg)),U!==r?(G=ug(),G!==r?(Ee=ug(),Ee!==r?(Ce=ug(),Ce!==r?(Te=ug(),Te!==r?(it=S,U=og(G,Ee,Ce,Te),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)))))))))),S}function ug(){var S;return zB.test(t.charAt(M))?(S=t.charAt(M),M++):(S=r,Oe===0&&Ve(VB)),S}function pr(){var S,U;if(Oe++,S=[],Wd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(zd)),U!==r)for(;U!==r;)S.push(U),Wd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(zd));else S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(XB)),S}function pt(){var S,U;if(Oe++,S=[],Vd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(Xd)),U!==r)for(;U!==r;)S.push(U),Vd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(Xd));else S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(ZB)),S}function Hr(){var S,U,G,Ee,Ce,Te;if(S=M,U=Ps(),U!==r){for(G=[],Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Te=Ps(),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);Ee!==r;)G.push(Ee),Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Te=Ps(),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);G!==r?(U=[U,G],S=U):(M=S,S=r)}else M=S,S=r;return S}function Ps(){var S;return t.substr(M,2)===Zd?(S=Zd,M+=2):(S=r,Oe===0&&Ve(_B)),S===r&&(t.charCodeAt(M)===10?(S=$B,M++):(S=r,Oe===0&&Ve(ew)),S===r&&(t.charCodeAt(M)===13?(S=tw,M++):(S=r,Oe===0&&Ve(rw)))),S}let AC=2,Ql=0;if(Ta=n(),Ta!==r&&M===t.length)return Ta;throw Ta!==r&&M{var gwe=typeof global=="object"&&global&&global.Object===Object&&global;kJ.exports=gwe});var On=C((XXe,vJ)=>{var fwe=BS(),hwe=typeof self=="object"&&self&&self.Object===Object&&self,pwe=fwe||hwe||Function("return this")();vJ.exports=pwe});var NA=C((ZXe,PJ)=>{var dwe=On(),Cwe=dwe.Symbol;PJ.exports=Cwe});var RJ=C((_Xe,FJ)=>{function mwe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var Iwe=Array.isArray;NJ.exports=Iwe});var OJ=C((eZe,LJ)=>{var MJ=NA(),TJ=Object.prototype,Ewe=TJ.hasOwnProperty,ywe=TJ.toString,Zf=MJ?MJ.toStringTag:void 0;function Bwe(t){var e=Ewe.call(t,Zf),r=t[Zf];try{t[Zf]=void 0;var i=!0}catch(s){}var n=ywe.call(t);return i&&(e?t[Zf]=r:delete t[Zf]),n}LJ.exports=Bwe});var UJ=C((tZe,KJ)=>{var wwe=Object.prototype,Qwe=wwe.toString;function bwe(t){return Qwe.call(t)}KJ.exports=bwe});var LA=C((rZe,HJ)=>{var YJ=NA(),Dwe=OJ(),Swe=UJ(),xwe="[object Null]",kwe="[object Undefined]",jJ=YJ?YJ.toStringTag:void 0;function vwe(t){return t==null?t===void 0?kwe:xwe:jJ&&jJ in Object(t)?Dwe(t):Swe(t)}HJ.exports=vwe});var ls=C((iZe,GJ)=>{function Pwe(t){return t!=null&&typeof t=="object"}GJ.exports=Pwe});var jI=C((nZe,qJ)=>{var Fwe=LA(),Rwe=ls(),Nwe="[object Symbol]";function Lwe(t){return typeof t=="symbol"||Rwe(t)&&Fwe(t)==Nwe}qJ.exports=Lwe});var ZJ=C((sZe,JJ)=>{var WJ=NA(),Mwe=RJ(),Twe=dn(),Owe=jI(),Kwe=1/0,zJ=WJ?WJ.prototype:void 0,VJ=zJ?zJ.toString:void 0;function XJ(t){if(typeof t=="string")return t;if(Twe(t))return Mwe(t,XJ)+"";if(Owe(t))return VJ?VJ.call(t):"";var e=t+"";return e=="0"&&1/t==-Kwe?"-0":e}JJ.exports=XJ});var kc=C((oZe,_J)=>{var Uwe=ZJ();function Hwe(t){return t==null?"":Uwe(t)}_J.exports=Hwe});var wS=C((aZe,$J)=>{function Ywe(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 jwe=wS();function Gwe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:jwe(t,e,r)}eW.exports=Gwe});var QS=C((lZe,rW)=>{var qwe="\\ud800-\\udfff",Jwe="\\u0300-\\u036f",Wwe="\\ufe20-\\ufe2f",zwe="\\u20d0-\\u20ff",Vwe=Jwe+Wwe+zwe,Xwe="\\ufe0e\\ufe0f",Zwe="\\u200d",_we=RegExp("["+Zwe+qwe+Vwe+Xwe+"]");function $we(t){return _we.test(t)}rW.exports=$we});var nW=C((cZe,iW)=>{function eQe(t){return t.split("")}iW.exports=eQe});var gW=C((uZe,sW)=>{var oW="\\ud800-\\udfff",tQe="\\u0300-\\u036f",rQe="\\ufe20-\\ufe2f",iQe="\\u20d0-\\u20ff",nQe=tQe+rQe+iQe,sQe="\\ufe0e\\ufe0f",oQe="["+oW+"]",bS="["+nQe+"]",DS="\\ud83c[\\udffb-\\udfff]",aQe="(?:"+bS+"|"+DS+")",aW="[^"+oW+"]",AW="(?:\\ud83c[\\udde6-\\uddff]){2}",lW="[\\ud800-\\udbff][\\udc00-\\udfff]",AQe="\\u200d",cW=aQe+"?",uW="["+sQe+"]?",lQe="(?:"+AQe+"(?:"+[aW,AW,lW].join("|")+")"+uW+cW+")*",cQe=uW+cW+lQe,uQe="(?:"+[aW+bS+"?",bS,AW,lW,oQe].join("|")+")",gQe=RegExp(DS+"(?="+DS+")|"+uQe+cQe,"g");function fQe(t){return t.match(gQe)||[]}sW.exports=fQe});var hW=C((gZe,fW)=>{var hQe=nW(),pQe=QS(),dQe=gW();function CQe(t){return pQe(t)?dQe(t):hQe(t)}fW.exports=CQe});var dW=C((fZe,pW)=>{var mQe=tW(),IQe=QS(),EQe=hW(),yQe=kc();function BQe(t){return function(e){e=yQe(e);var r=IQe(e)?EQe(e):void 0,i=r?r[0]:e.charAt(0),n=r?mQe(r,1).join(""):e.slice(1);return i[t]()+n}}pW.exports=BQe});var mW=C((hZe,CW)=>{var wQe=dW(),QQe=wQe("toUpperCase");CW.exports=QQe});var SS=C((pZe,IW)=>{var bQe=kc(),DQe=mW();function SQe(t){return DQe(bQe(t).toLowerCase())}IW.exports=SQe});var yW=C((dZe,EW)=>{"use strict";EW.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var GI=C((CZe,xS)=>{"use strict";var xQe=yW(),BW=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=xQe(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};xS.exports=BW;xS.exports.default=BW});var kW=C((xZe,WI)=>{function kQe(){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,I=16,y=17,B=0,x=1,F=2,N=3,O=4;function P(A,W){return 55296<=A.charCodeAt(W)&&A.charCodeAt(W)<=56319&&56320<=A.charCodeAt(W+1)&&A.charCodeAt(W+1)<=57343}function J(A,W){W===void 0&&(W=0);var ee=A.charCodeAt(W);if(55296<=ee&&ee<=56319&&W=1){var re=A.charCodeAt(W-1),H=ee;return 55296<=re&&re<=56319?(re-55296)*1024+(H-56320)+65536:H}return ee}function oe(A,W,ee){var re=[A].concat(W).concat([ee]),H=re[re.length-2],R=ee,ve=re.lastIndexOf(p);if(ve>1&&re.slice(1,ve).every(function(Ke){return Ke==i})&&[i,h,y].indexOf(A)==-1)return F;var Ne=re.lastIndexOf(n);if(Ne>0&&re.slice(1,Ne).every(function(Ke){return Ke==n})&&[f,n].indexOf(H)==-1)return re.filter(function(Ke){return Ke==n}).length%2==1?N:O;if(H==t&&R==e)return B;if(H==r||H==t||H==e)return R==p&&W.every(function(Ke){return Ke==i})?F:x;if(R==r||R==t||R==e)return x;if(H==o&&(R==o||R==a||R==c||R==u))return B;if((H==c||H==a)&&(R==a||R==l))return B;if((H==u||H==l)&&R==l)return B;if(R==i||R==m)return B;if(R==s)return B;if(H==f)return B;var Je=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,y].indexOf(re[Je])!=-1&&re.slice(Je+1,-1).every(function(Ke){return Ke==i})&&R==p||H==m&&[I,y].indexOf(R)!=-1?B:W.indexOf(n)!=-1?F:H==n&&R==n?B:x}this.nextBreak=function(A,W){if(W===void 0&&(W=0),W<0)return 0;if(W>=A.length-1)return A.length;for(var ee=K(J(A,W)),re=[],H=W+1;H{var vQe=kW(),PQe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FQe=new vQe;vW.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(PQe)||[t,t,void 0],l=FQe.splitGraphemes(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 Pc=C((t_e,GW)=>{"use strict";var qW=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"]]),e_e=GW.exports=t=>t?Object.keys(t).map(e=>[qW.has(e)?qW.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Fc=C((r_e,JW)=>{"use strict";var JQe=require("events"),WW=require("stream"),eh=_g(),zW=require("string_decoder").StringDecoder,no=Symbol("EOF"),th=Symbol("maybeEmitEnd"),oa=Symbol("emittedEnd"),ZI=Symbol("emittingEnd"),_I=Symbol("closed"),VW=Symbol("read"),FS=Symbol("flush"),XW=Symbol("flushChunk"),Pi=Symbol("encoding"),so=Symbol("decoder"),$I=Symbol("flowing"),rh=Symbol("paused"),ih=Symbol("resume"),hi=Symbol("bufferLength"),ZW=Symbol("bufferPush"),RS=Symbol("bufferShift"),Xr=Symbol("objectMode"),Zr=Symbol("destroyed"),_W=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WQe=_W&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zQe=_W&&Symbol.iterator||Symbol("iterator not implemented"),$W=t=>t==="end"||t==="finish"||t==="prefinish",VQe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,XQe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);JW.exports=class e3 extends WW{constructor(e){super();this[$I]=!1,this[rh]=!1,this.pipes=new eh,this.buffer=new eh,this[Xr]=e&&e.objectMode||!1,this[Xr]?this[Pi]=null:this[Pi]=e&&e.encoding||null,this[Pi]==="buffer"&&(this[Pi]=null),this[so]=this[Pi]?new zW(this[Pi]):null,this[no]=!1,this[oa]=!1,this[ZI]=!1,this[_I]=!1,this.writable=!0,this.readable=!0,this[hi]=0,this[Zr]=!1}get bufferLength(){return this[hi]}get encoding(){return this[Pi]}set encoding(e){if(this[Xr])throw new Error("cannot set encoding in objectMode");if(this[Pi]&&e!==this[Pi]&&(this[so]&&this[so].lastNeed||this[hi]))throw new Error("cannot change encoding");this[Pi]!==e&&(this[so]=e?new zW(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[so].write(r)))),this[Pi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Xr]}set objectMode(e){this[Xr]=this[Xr]||!!e}write(e,r,i){if(this[no])throw new Error("write after end");return this[Zr]?(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[Xr]&&!Buffer.isBuffer(e)&&(XQe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VQe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[hi]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Xr]&&!(r===this[Pi]&&!this[so].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Pi]&&(e=this[so].write(e)),this.flowing?(this[hi]!==0&&this[FS](!0),this.emit("data",e)):this[ZW](e),this[hi]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Zr])return null;try{return this[hi]===0||e===0||e>this[hi]?null:(this[Xr]&&(e=null),this.buffer.length>1&&!this[Xr]&&(this.encoding?this.buffer=new eh([Array.from(this.buffer).join("")]):this.buffer=new eh([Buffer.concat(Array.from(this.buffer),this[hi])])),this[VW](e||null,this.buffer.head.value))}finally{this[th]()}}[VW](e,r){return e===r.length||e===null?this[RS]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[hi]-=e),this.emit("data",r),!this.buffer.length&&!this[no]&&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[no]=!0,this.writable=!1,(this.flowing||!this[rh])&&this[th](),this}[ih](){this[Zr]||(this[rh]=!1,this[$I]=!0,this.emit("resume"),this.buffer.length?this[FS]():this[no]?this[th]():this.emit("drain"))}resume(){return this[ih]()}pause(){this[$I]=!1,this[rh]=!0}get destroyed(){return this[Zr]}get flowing(){return this[$I]}get paused(){return this[rh]}[ZW](e){return this[Xr]?this[hi]+=1:this[hi]+=e.length,this.buffer.push(e)}[RS](){return this.buffer.length&&(this[Xr]?this[hi]-=1:this[hi]-=this.buffer.head.value.length),this.buffer.shift()}[FS](e){do;while(this[XW](this[RS]()));!e&&!this.buffer.length&&!this[no]&&this.emit("drain")}[XW](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Zr])return;let i=this[oa];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[ih]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[ih](),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[ih]():$W(e)&&this[oa]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[oa]}[th](){!this[ZI]&&!this[oa]&&!this[Zr]&&this.buffer.length===0&&this[no]&&(this[ZI]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[_I]&&this.emit("close"),this[ZI]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Zr&&this[Zr])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[oa]===!0)return;this[oa]=!0,this.readable=!1,this[so]&&(r=this[so].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[_I]=!0,!this[oa]&&!this[Zr]))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[Xr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this[Pi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Zr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WQe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[no])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[no]})},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(Zr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zQe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Zr]?(e?this.emit("error",e):this.emit(Zr),this):(this[Zr]=!0,this.buffer=new eh,this[hi]=0,typeof this.close=="function"&&!this[_I]&&this.close(),e?this.emit("error",e):this.emit(Zr),this)}static isStream(e){return!!e&&(e instanceof e3||e instanceof WW||e instanceof JQe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var r3=C((i_e,t3)=>{var ZQe=require("zlib").constants||{ZLIB_VERNUM:4736};t3.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},ZQe))});var YS=C(Ji=>{"use strict";var NS=require("assert"),aa=require("buffer").Buffer,i3=require("zlib"),MA=Ji.constants=r3(),_Qe=Fc(),n3=aa.concat,TA=Symbol("_superWrite"),nh=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"}},$Qe=Symbol("opts"),sh=Symbol("flushFlag"),s3=Symbol("finishFlushFlag"),LS=Symbol("fullFlushFlag"),Nt=Symbol("handle"),eE=Symbol("onError"),Rc=Symbol("sawError"),MS=Symbol("level"),TS=Symbol("strategy"),OS=Symbol("ended"),n_e=Symbol("_defaultFullFlush"),KS=class extends _Qe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[Rc]=!1,this[OS]=!1,this[$Qe]=e,this[sh]=e.flush,this[s3]=e.finishFlush;try{this[Nt]=new i3[r](e)}catch(i){throw new nh(i)}this[eE]=i=>{this[Rc]||(this[Rc]=!0,this.close(),this.emit("error",i))},this[Nt].on("error",i=>this[eE](new nh(i))),this.once("end",()=>this.close)}close(){this[Nt]&&(this[Nt].close(),this[Nt]=null,this.emit("close"))}reset(){if(!this[Rc])return NS(this[Nt],"zlib binding closed"),this[Nt].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[LS]),this.write(Object.assign(aa.alloc(0),{[sh]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[s3]),this[OS]=!0,super.end(null,null,i)}get ended(){return this[OS]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=aa.from(e,r)),this[Rc])return;NS(this[Nt],"zlib binding closed");let n=this[Nt]._handle,s=n.close;n.close=()=>{};let o=this[Nt].close;this[Nt].close=()=>{},aa.concat=c=>c;let a;try{let c=typeof e[sh]=="number"?e[sh]:this[sh];a=this[Nt]._processChunk(e,c),aa.concat=n3}catch(c){aa.concat=n3,this[eE](new nh(c))}finally{this[Nt]&&(this[Nt]._handle=n,n.close=s,this[Nt].close=o,this[Nt].removeAllListeners("error"))}this[Nt]&&this[Nt].on("error",c=>this[eE](new nh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[TA](aa.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Nt].params(e,r)}finally{this[Nt].flush=i}this[Nt]&&(this[MS]=e,this[TS]=r)}}}},o3=class extends Aa{constructor(e){super(e,"Deflate")}},a3=class extends Aa{constructor(e){super(e,"Inflate")}},US=Symbol("_portable"),A3=class extends Aa{constructor(e){super(e,"Gzip");this[US]=e&&!!e.portable}[TA](e){return this[US]?(this[US]=!1,e[9]=255,super[TA](e)):super[TA](e)}},l3=class extends Aa{constructor(e){super(e,"Gunzip")}},c3=class extends Aa{constructor(e){super(e,"DeflateRaw")}},u3=class extends Aa{constructor(e){super(e,"InflateRaw")}},g3=class extends Aa{constructor(e){super(e,"Unzip")}},HS=class extends KS{constructor(e,r){e=e||{},e.flush=e.flush||MA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||MA.BROTLI_OPERATION_FINISH,super(e,r),this[LS]=MA.BROTLI_OPERATION_FLUSH}},f3=class extends HS{constructor(e){super(e,"BrotliCompress")}},h3=class extends HS{constructor(e){super(e,"BrotliDecompress")}};Ji.Deflate=o3;Ji.Inflate=a3;Ji.Gzip=A3;Ji.Gunzip=l3;Ji.DeflateRaw=c3;Ji.InflateRaw=u3;Ji.Unzip=g3;typeof i3.BrotliCompress=="function"?(Ji.BrotliCompress=f3,Ji.BrotliDecompress=h3):Ji.BrotliCompress=Ji.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var oh=C(tE=>{"use strict";tE.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"]]);tE.code=new Map(Array.from(tE.name).map(t=>[t[1],t[0]]))});var ah=C((l_e,p3)=>{"use strict";var a_e=oh(),e0e=Fc(),jS=Symbol("slurp");p3.exports=class extends e0e{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[jS](r),i&&this[jS](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))}[jS](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var m3=C(GS=>{"use strict";var c_e=GS.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?r0e(t,e):t0e(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},t0e=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},r0e=(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]=d3(n):n===0?e[i-1]=0:(r=!0,e[i-1]=C3(n))}},u_e=GS.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=n0e(t.slice(1,t.length));else if(r===255)i=i0e(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},i0e=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=d3(s):s===0?o=s:(i=!0,o=C3(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},n0e=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},d3=t=>(255^t)&255,C3=t=>(255^t)+1&255});var Lc=C((f_e,I3)=>{"use strict";var qS=oh(),Nc=require("path").posix,E3=m3(),JS=Symbol("slurp"),Wi=Symbol("type"),y3=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[Wi]="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=OA(e,r,100),this.mode=la(e,r+100,8),this.uid=la(e,r+108,8),this.gid=la(e,r+116,8),this.size=la(e,r+124,12),this.mtime=WS(e,r+136,12),this.cksum=la(e,r+148,12),this[JS](i),this[JS](n,!0),this[Wi]=OA(e,r+156,1),this[Wi]===""&&(this[Wi]="0"),this[Wi]==="0"&&this.path.substr(-1)==="/"&&(this[Wi]="5"),this[Wi]==="5"&&(this.size=0),this.linkpath=OA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=OA(e,r+265,32),this.gname=OA(e,r+297,32),this.devmaj=la(e,r+329,8),this.devmin=la(e,r+337,8),e[r+475]!==0){let o=OA(e,r+345,155);this.path=o+"/"+this.path}else{let o=OA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=WS(e,r+476,12),this.ctime=WS(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=s0e(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=KA(e,r,100,s)||this.needPax,this.needPax=ca(e,r+100,8,this.mode)||this.needPax,this.needPax=ca(e,r+108,8,this.uid)||this.needPax,this.needPax=ca(e,r+116,8,this.gid)||this.needPax,this.needPax=ca(e,r+124,12,this.size)||this.needPax,this.needPax=zS(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Wi].charCodeAt(0),this.needPax=KA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=KA(e,r+265,32,this.uname)||this.needPax,this.needPax=KA(e,r+297,32,this.gname)||this.needPax,this.needPax=ca(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ca(e,r+337,8,this.devmin)||this.needPax,this.needPax=KA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=KA(e,r+345,155,o)||this.needPax:(this.needPax=KA(e,r+345,130,o)||this.needPax,this.needPax=zS(e,r+476,12,this.atime)||this.needPax,this.needPax=zS(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=Nc.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Nc.join(Nc.basename(n),i),n=Nc.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},OA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),WS=(t,e,r)=>o0e(la(t,e,r)),o0e=t=>t===null?null:new Date(t*1e3),la=(t,e,r)=>t[e]&128?E3.parse(t.slice(e,e+r)):a0e(t,e,r),A0e=t=>isNaN(t)?null:t,a0e=(t,e,r)=>A0e(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),l0e={12:8589934591,8:2097151},ca=(t,e,r,i)=>i===null?!1:i>l0e[r]||i<0?(E3.encode(i,t.slice(e,e+r)),!0):(c0e(t,e,r,i),!1),c0e=(t,e,r,i)=>t.write(u0e(i,r),e,r,"ascii"),u0e=(t,e)=>g0e(Math.floor(t).toString(8),e),g0e=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",zS=(t,e,r,i)=>i===null?!1:ca(t,e,r,i.getTime()/1e3),f0e=new Array(156).join("\0"),KA=(t,e,r,i)=>i===null?!1:(t.write(i+f0e,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);I3.exports=y3});var iE=C((h_e,B3)=>{"use strict";var h0e=Lc(),p0e=require("path"),rE=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 h0e({path:("PaxHeader/"+p0e.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}};rE.parse=(t,e,r)=>new rE(d0e(C0e(t),e),r);var d0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,C0e=t=>t.replace(/\n$/,"").split(` +`).reduce(m0e,Object.create(null)),m0e=(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};B3.exports=rE});var nE=C((p_e,w3)=>{"use strict";w3.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 XS=C((d_e,Q3)=>{"use strict";var sE=["|","<",">","?",":"],VS=sE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),I0e=new Map(sE.map((t,e)=>[t,VS[e]])),E0e=new Map(VS.map((t,e)=>[t,sE[e]]));Q3.exports={encode:t=>sE.reduce((e,r)=>e.split(r).join(I0e.get(r)),t),decode:t=>VS.reduce((e,r)=>e.split(r).join(E0e.get(r)),t)}});var D3=C((C_e,b3)=>{"use strict";b3.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 ix=C((B_e,S3)=>{"use strict";var x3=Fc(),k3=iE(),v3=Lc(),m_e=ah(),us=require("fs"),Mc=require("path"),I_e=oh(),y0e=16*1024*1024,P3=Symbol("process"),F3=Symbol("file"),R3=Symbol("directory"),ZS=Symbol("symlink"),N3=Symbol("hardlink"),Ah=Symbol("header"),oE=Symbol("read"),_S=Symbol("lstat"),aE=Symbol("onlstat"),$S=Symbol("onread"),ex=Symbol("onreadlink"),tx=Symbol("openfile"),rx=Symbol("onopenfile"),UA=Symbol("close"),AE=Symbol("mode"),L3=nE(),B0e=XS(),M3=D3(),lE=L3(class extends x3{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||y0e,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&&Mc.win32.isAbsolute(e)){let n=Mc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=B0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Mc.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[aE](this.statCache.get(this.absolute)):this[_S]()}[_S](){us.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[aE](r)})}[aE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=w0e(e),this.emit("stat",e),this[P3]()}[P3](){switch(this.type){case"File":return this[F3]();case"Directory":return this[R3]();case"SymbolicLink":return this[ZS]();default:return this.end()}}[AE](e){return M3(e,this.type==="Directory",this.portable)}[Ah](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this[AE](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 k3({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)}[R3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ah](),this.end()}[ZS](){us.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ex](r)})}[ex](e){this.linkpath=e.replace(/\\/g,"/"),this[Ah](),this.end()}[N3](e){this.type="Link",this.linkpath=Mc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[Ah](),this.end()}[F3](){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[N3](r)}this.linkCache.set(e,this.absolute)}if(this[Ah](),this.stat.size===0)return this.end();this[tx]()}[tx](){us.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[rx](r)})}[rx](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[oE](e,n,0,n.length,0,this.stat.size,r)}[oE](e,r,i,n,s,o,a){us.read(e,r,i,n,s,(l,c)=>{if(l)return this[UA](e,()=>this.emit("error",l));this[$S](e,r,i,n,s,o,a,c)})}[UA](e,r){us.close(e,r)}[$S](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[UA](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[UA](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[oE](e,r,i,n,s,o,a)}}),T3=class extends lE{constructor(e,r){super(e,r)}[_S](){this[aE](us.lstatSync(this.absolute))}[ZS](){this[ex](us.readlinkSync(this.absolute))}[tx](){this[rx](us.openSync(this.absolute,"r"))}[oE](e,r,i,n,s,o,a){let l=!0;try{let c=us.readSync(e,r,i,n,s);this[$S](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[UA](e,()=>{})}catch(c){}}}[UA](e,r){us.closeSync(e),r()}},Q0e=L3(class extends x3{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[AE](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(Mc.isAbsolute(this.path)&&!this.preservePaths){let n=Mc.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 v3({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 k3({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)}[AE](e){return M3(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()}});lE.Sync=T3;lE.Tar=Q0e;var w0e=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";S3.exports=lE});var CE=C((Q_e,O3)=>{"use strict";var nx=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}},b0e=Fc(),D0e=YS(),S0e=ah(),sx=ix(),x0e=sx.Sync,k0e=sx.Tar,v0e=_g(),K3=Buffer.alloc(1024),cE=Symbol("onStat"),uE=Symbol("ended"),gs=Symbol("queue"),Tc=Symbol("current"),HA=Symbol("process"),gE=Symbol("processing"),U3=Symbol("processJob"),fs=Symbol("jobs"),ox=Symbol("jobDone"),fE=Symbol("addFSEntry"),H3=Symbol("addTarEntry"),ax=Symbol("stat"),Ax=Symbol("readdir"),hE=Symbol("onreaddir"),pE=Symbol("pipe"),Y3=Symbol("entry"),lx=Symbol("entryOpt"),cx=Symbol("writeEntryClass"),j3=Symbol("write"),ux=Symbol("ondrain"),dE=require("fs"),G3=require("path"),P0e=nE(),gx=P0e(class extends b0e{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[cx]=sx,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 D0e.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[ux]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[ux]),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[gs]=new v0e,this[fs]=0,this.jobs=+e.jobs||4,this[gE]=!1,this[uE]=!1}[j3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[uE]=!0,this[HA](),this}write(e){if(this[uE])throw new Error("write after end");return e instanceof S0e?this[H3](e):this[fE](e),this.flowing}[H3](e){let r=G3.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 nx(e.path,r,!1);i.entry=new k0e(e,this[lx](i)),i.entry.on("end",n=>this[ox](i)),this[fs]+=1,this[gs].push(i)}this[HA]()}[fE](e){let r=G3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[gs].push(new nx(e,r)),this[HA]()}[ax](e){e.pending=!0,this[fs]+=1;let r=this.follow?"stat":"lstat";dE[r](e.absolute,(i,n)=>{e.pending=!1,this[fs]-=1,i?this.emit("error",i):this[cE](e,n)})}[cE](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[HA]()}[Ax](e){e.pending=!0,this[fs]+=1,dE.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[fs]-=1,r)return this.emit("error",r);this[hE](e,i)})}[hE](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[HA]()}[HA](){if(!this[gE]){this[gE]=!0;for(let e=this[gs].head;e!==null&&this[fs]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}}[Y3](e){this[fs]+=1;try{return new this[cx](e.path,this[lx](e)).on("end",()=>this[ox](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[ux](){this[Tc]&&this[Tc].entry&&this[Tc].entry.resume()}[pE](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[fE](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()}}),q3=class extends gx{constructor(e){super(e);this[cx]=x0e}pause(){}resume(){}[ax](e){let r=this.follow?"statSync":"lstatSync";this[cE](e,dE[r](e.absolute))}[Ax](e,r){this[hE](e,dE.readdirSync(e.absolute))}[pE](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[fE](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[j3](n)})}};gx.Sync=q3;O3.exports=gx});var jc=C(lh=>{"use strict";var F0e=Fc(),R0e=require("events").EventEmitter,Cn=require("fs"),mE=process.binding("fs"),b_e=mE.writeBuffers,N0e=mE.FSReqWrap||mE.FSReqCallback,Oc=Symbol("_autoClose"),hs=Symbol("_close"),ch=Symbol("_ended"),Pt=Symbol("_fd"),J3=Symbol("_finished"),YA=Symbol("_flags"),fx=Symbol("_flush"),hx=Symbol("_handleChunk"),px=Symbol("_makeBuf"),dx=Symbol("_mode"),IE=Symbol("_needDrain"),Kc=Symbol("_onerror"),Uc=Symbol("_onopen"),Cx=Symbol("_onread"),jA=Symbol("_onwrite"),ua=Symbol("_open"),ga=Symbol("_path"),GA=Symbol("_pos"),ps=Symbol("_queue"),Hc=Symbol("_read"),W3=Symbol("_readSize"),fa=Symbol("_reading"),EE=Symbol("_remain"),z3=Symbol("_size"),yE=Symbol("_write"),Yc=Symbol("_writing"),BE=Symbol("_defaultFlag"),mx=class extends F0e{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Pt]=typeof r.fd=="number"?r.fd:null,this[ga]=e,this[W3]=r.readSize||16*1024*1024,this[fa]=!1,this[z3]=typeof r.size=="number"?r.size:Infinity,this[EE]=this[z3],this[Oc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Pt]=="number"?this[Hc]():this[ua]()}get fd(){return this[Pt]}get path(){return this[ga]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ua](){Cn.open(this[ga],"r",(e,r)=>this[Uc](e,r))}[Uc](e,r){e?this[Kc](e):(this[Pt]=r,this.emit("open",r),this[Hc]())}[px](){return Buffer.allocUnsafe(Math.min(this[W3],this[EE]))}[Hc](){if(!this[fa]){this[fa]=!0;let e=this[px]();if(e.length===0)return process.nextTick(()=>this[Cx](null,0,e));Cn.read(this[Pt],e,0,e.length,null,(r,i,n)=>this[Cx](r,i,n))}}[Cx](e,r,i){this[fa]=!1,e?this[Kc](e):this[hx](r,i)&&this[Hc]()}[hs](){this[Oc]&&typeof this[Pt]=="number"&&(Cn.close(this[Pt],e=>this.emit("close")),this[Pt]=null)}[Kc](e){this[fa]=!0,this[hs](),this.emit("error",e)}[hx](e,r){let i=!1;return this[EE]-=e,e>0&&(i=super.write(ethis[Uc](e,r))}[Uc](e,r){this[BE]&&this[YA]==="r+"&&e&&e.code==="ENOENT"?(this[YA]="w",this[ua]()):e?this[Kc](e):(this[Pt]=r,this.emit("open",r),this[fx]())}end(e,r){e&&this.write(e,r),this[ch]=!0,!this[Yc]&&!this[ps].length&&typeof this[Pt]=="number"&&this[jA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[ch]?(this.emit("error",new Error("write() after end()")),!1):this[Pt]===null||this[Yc]||this[ps].length?(this[ps].push(e),this[IE]=!0,!1):(this[Yc]=!0,this[yE](e),!0)}[yE](e){Cn.write(this[Pt],e,0,e.length,this[GA],(r,i)=>this[jA](r,i))}[jA](e,r){e?this[Kc](e):(this[GA]!==null&&(this[GA]+=r),this[ps].length?this[fx]():(this[Yc]=!1,this[ch]&&!this[J3]?(this[J3]=!0,this[hs](),this.emit("finish")):this[IE]&&(this[IE]=!1,this.emit("drain"))))}[fx](){if(this[ps].length===0)this[ch]&&this[jA](null,0);else if(this[ps].length===1)this[yE](this[ps].pop());else{let e=this[ps];this[ps]=[],L0e(this[Pt],e,this[GA],(r,i)=>this[jA](r,i))}}[hs](){this[Oc]&&typeof this[Pt]=="number"&&(Cn.close(this[Pt],e=>this.emit("close")),this[Pt]=null)}},X3=class extends Ix{[ua](){let e;try{e=Cn.openSync(this[ga],this[YA],this[dx])}catch(r){if(this[BE]&&this[YA]==="r+"&&r&&r.code==="ENOENT")return this[YA]="w",this[ua]();throw r}this[Uc](null,e)}[hs](){if(this[Oc]&&typeof this[Pt]=="number"){try{Cn.closeSync(this[Pt])}catch(e){}this[Pt]=null,this.emit("close")}}[yE](e){try{this[jA](null,Cn.writeSync(this[Pt],e,0,e.length,this[GA]))}catch(r){this[jA](r,0)}}},L0e=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new N0e;s.oncomplete=n,mE.writeBuffers(t,e,r,s)};lh.ReadStream=mx;lh.ReadStreamSync=V3;lh.WriteStream=Ix;lh.WriteStreamSync=X3});var fh=C((k_e,Z3)=>{"use strict";var M0e=nE(),S_e=require("path"),T0e=Lc(),O0e=require("events"),K0e=_g(),U0e=1024*1024,H0e=ah(),_3=iE(),Y0e=YS(),Ex=Buffer.from([31,139]),mn=Symbol("state"),qA=Symbol("writeEntry"),oo=Symbol("readEntry"),yx=Symbol("nextEntry"),$3=Symbol("processEntry"),In=Symbol("extendedHeader"),uh=Symbol("globalExtendedHeader"),ha=Symbol("meta"),e8=Symbol("emitMeta"),Yt=Symbol("buffer"),ao=Symbol("queue"),JA=Symbol("ended"),t8=Symbol("emittedEnd"),WA=Symbol("emit"),Fi=Symbol("unzip"),wE=Symbol("consumeChunk"),QE=Symbol("consumeChunkSub"),Bx=Symbol("consumeBody"),r8=Symbol("consumeMeta"),i8=Symbol("consumeHeader"),bE=Symbol("consuming"),wx=Symbol("bufferConcat"),Qx=Symbol("maybeEnd"),gh=Symbol("writing"),pa=Symbol("aborted"),DE=Symbol("onDone"),zA=Symbol("sawValidEntry"),SE=Symbol("sawNullBlock"),xE=Symbol("sawEOF"),j0e=t=>!0;Z3.exports=M0e(class extends O0e{constructor(e){e=e||{},super(e),this.file=e.file||"",this[zA]=null,this.on(DE,r=>{(this[mn]==="begin"||this[zA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(DE,e.ondone):this.on(DE,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||U0e,this.filter=typeof e.filter=="function"?e.filter:j0e,this.writable=!0,this.readable=!1,this[ao]=new K0e,this[Yt]=null,this[oo]=null,this[qA]=null,this[mn]="begin",this[ha]="",this[In]=null,this[uh]=null,this[JA]=!1,this[Fi]=null,this[pa]=!1,this[SE]=!1,this[xE]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[i8](e,r){this[zA]===null&&(this[zA]=!1);let i;try{i=new T0e(e,r,this[In],this[uh])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[SE]?(this[xE]=!0,this[mn]==="begin"&&(this[mn]="header"),this[WA]("eof")):(this[SE]=!0,this[WA]("nullBlock"));else if(this[SE]=!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[qA]=new H0e(i,this[In],this[uh]);if(!this[zA])if(s.remain){let o=()=>{s.invalid||(this[zA]=!0)};s.on("end",o)}else this[zA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[WA]("ignoredEntry",s),this[mn]="ignore",s.resume()):s.size>0&&(this[ha]="",s.on("data",o=>this[ha]+=o),this[mn]="meta"):(this[In]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[WA]("ignoredEntry",s),this[mn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[mn]="body":(this[mn]="header",s.end()),this[oo]?this[ao].push(s):(this[ao].push(s),this[yx]())))}}}[$3](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[oo]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[yx]()),r=!1)):(this[oo]=null,r=!1),r}[yx](){do;while(this[$3](this[ao].shift()));if(!this[ao].length){let e=this[oo];!e||e.flowing||e.size===e.remain?this[gh]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[Bx](e,r){let i=this[qA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[mn]="header",this[qA]=null,i.end()),s.length}[r8](e,r){let i=this[qA],n=this[Bx](e,r);return this[qA]||this[e8](i),n}[WA](e,r,i){!this[ao].length&&!this[oo]?this.emit(e,r,i):this[ao].push([e,r,i])}[e8](e){switch(this[WA]("meta",this[ha]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[In]=_3.parse(this[ha],this[In],!1);break;case"GlobalExtendedHeader":this[uh]=_3.parse(this[ha],this[uh],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[In]=this[In]||Object.create(null),this[In].path=this[ha].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[In]=this[In]||Object.create(null),this[In].linkpath=this[ha].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[pa]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[pa])return;if(this[Fi]===null&&e){if(this[Yt]&&(e=Buffer.concat([this[Yt],e]),this[Yt]=null),e.lengththis[wE](s)),this[Fi].on("error",s=>this.abort(s)),this[Fi].on("end",s=>{this[JA]=!0,this[wE]()}),this[gh]=!0;let n=this[Fi][i?"end":"write"](e);return this[gh]=!1,n}}this[gh]=!0,this[Fi]?this[Fi].write(e):this[wE](e),this[gh]=!1;let r=this[ao].length?!1:this[oo]?this[oo].flowing:!0;return!r&&!this[ao].length&&this[oo].once("drain",i=>this.emit("drain")),r}[wx](e){e&&!this[pa]&&(this[Yt]=this[Yt]?Buffer.concat([this[Yt],e]):e)}[Qx](){if(this[JA]&&!this[t8]&&!this[pa]&&!this[bE]){this[t8]=!0;let e=this[qA];if(e&&e.blockRemain){let r=this[Yt]?this[Yt].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Yt]&&e.write(this[Yt]),e.end()}this[WA](DE)}}[wE](e){if(this[bE])this[wx](e);else if(!e&&!this[Yt])this[Qx]();else{if(this[bE]=!0,this[Yt]){this[wx](e);let r=this[Yt];this[Yt]=null,this[QE](r)}else this[QE](e);for(;this[Yt]&&this[Yt].length>=512&&!this[pa]&&!this[xE];){let r=this[Yt];this[Yt]=null,this[QE](r)}this[bE]=!1}(!this[Yt]||this[JA])&&this[Qx]()}[QE](e){let r=0,i=e.length;for(;r+512<=i&&!this[pa]&&!this[xE];)switch(this[mn]){case"begin":case"header":this[i8](e,r),r+=512;break;case"ignore":case"body":r+=this[Bx](e,r);break;case"meta":r+=this[r8](e,r);break;default:throw new Error("invalid state: "+this[mn])}r{"use strict";var G0e=Pc(),s8=fh(),Gc=require("fs"),q0e=jc(),o8=require("path"),v_e=n8.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=G0e(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&&W0e(i,e),i.noResume||J0e(i),i.file&&i.sync?z0e(i):i.file?V0e(i,r):a8(i)},J0e=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},W0e=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||o8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(o8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},z0e=t=>{let e=a8(t),r=t.file,i=!0,n;try{let s=Gc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new s8(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),Gc.stat(n,(l,c)=>{if(l)a(l);else{let u=new q0e.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},a8=t=>new s8(t)});var f8=C((N_e,A8)=>{"use strict";var X0e=Pc(),vE=CE(),F_e=require("fs"),l8=jc(),c8=kE(),u8=require("path"),R_e=A8.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=X0e(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?Z0e(i,e):i.file?_0e(i,e,r):i.sync?$0e(i,e):ebe(i,e)},Z0e=(t,e)=>{let r=new vE.Sync(t),i=new l8.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),g8(r,e)},_0e=(t,e,r)=>{let i=new vE(t),n=new l8.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 bx(i,e),r?s.then(r,r):s},g8=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?c8({file:u8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},bx=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return c8({file:u8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>bx(t,e));t.add(r)}t.end()},$0e=(t,e)=>{let r=new vE.Sync(t);return g8(r,e),r},ebe=(t,e)=>{let r=new vE(t);return bx(r,e),r}});var Dx=C((T_e,h8)=>{"use strict";var tbe=Pc(),p8=CE(),L_e=fh(),En=require("fs"),d8=jc(),C8=kE(),m8=require("path"),I8=Lc(),M_e=h8.exports=(t,e,r)=>{let i=tbe(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?rbe(i,e):ibe(i,e,r)},rbe=(t,e)=>{let r=new p8.Sync(t),i=!0,n,s;try{try{n=En.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=En.openSync(t.file,"w+");else throw l}let o=En.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,nbe(t,r,s,n,e)}finally{if(i)try{En.closeSync(n)}catch(o){}}},nbe=(t,e,r,i,n)=>{let s=new d8.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sbe(e,n)},ibe=(t,e,r)=>{e=Array.from(e);let i=new p8(t),n=(o,a,l)=>{let c=(p,m)=>{p?En.close(o,I=>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 En.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 I=new I8(f);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,En.read(o,f,0,512,u,h)};En.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+",En.open(t.file,l,c);if(u)return a(u);En.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let I=new d8.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),E8(i,e)})})};En.open(t.file,l,c)});return r?s.then(r,r):s},sbe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?C8({file:m8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},E8=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return C8({file:m8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>E8(t,e));t.add(r)}t.end()}});var B8=C((K_e,y8)=>{"use strict";var obe=Pc(),abe=Dx(),O_e=y8.exports=(t,e,r)=>{let i=obe(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),Abe(i),abe(i,e,r)},Abe=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 b8=C((U_e,w8)=>{var{promisify:Q8}=require("util"),da=require("fs"),lbe=t=>{if(!t)t={mode:511,fs:da};else if(typeof t=="object")t=v({mode:511,fs:da},t);else if(typeof t=="number")t={mode:t,fs:da};else if(typeof t=="string")t={mode:parseInt(t,8),fs:da};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||da.mkdir,t.mkdirAsync=Q8(t.mkdir),t.stat=t.stat||t.fs.stat||da.stat,t.statAsync=Q8(t.stat),t.statSync=t.statSync||t.fs.statSync||da.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||da.mkdirSync,t};w8.exports=lbe});var S8=C((H_e,D8)=>{var cbe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:ube,parse:gbe}=require("path"),fbe=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=ube(t),cbe==="win32"){let e=/[*|"<>?:]/,{root:r}=gbe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};D8.exports=fbe});var F8=C((Y_e,x8)=>{var{dirname:k8}=require("path"),v8=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?v8(t,k8(e),e):void 0),P8=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?P8(t,k8(e),e):void 0}};x8.exports={findMade:v8,findMadeSync:P8}});var kx=C((j_e,R8)=>{var{dirname:N8}=require("path"),Sx=(t,e,r)=>{e.recursive=!1;let i=N8(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 Sx(i,e).then(s=>Sx(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})})},xx=(t,e,r)=>{let i=N8(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 xx(t,e,xx(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};R8.exports={mkdirpManual:Sx,mkdirpManualSync:xx}});var T8=C((G_e,L8)=>{var{dirname:M8}=require("path"),{findMade:hbe,findMadeSync:pbe}=F8(),{mkdirpManual:dbe,mkdirpManualSync:Cbe}=kx(),mbe=(t,e)=>(e.recursive=!0,M8(t)===t?e.mkdirAsync(t,e):hbe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dbe(t,e);throw n}))),Ibe=(t,e)=>{if(e.recursive=!0,M8(t)===t)return e.mkdirSync(t,e);let i=pbe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return Cbe(t,e);throw n}};L8.exports={mkdirpNative:mbe,mkdirpNativeSync:Ibe}});var H8=C((q_e,O8)=>{var K8=require("fs"),Ebe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,vx=Ebe.replace(/^v/,"").split("."),U8=+vx[0]>10||+vx[0]==10&&+vx[1]>=12,ybe=U8?t=>t.mkdir===K8.mkdir:()=>!1,Bbe=U8?t=>t.mkdirSync===K8.mkdirSync:()=>!1;O8.exports={useNative:ybe,useNativeSync:Bbe}});var W8=C((J_e,Y8)=>{var qc=b8(),Jc=S8(),{mkdirpNative:j8,mkdirpNativeSync:G8}=T8(),{mkdirpManual:q8,mkdirpManualSync:J8}=kx(),{useNative:wbe,useNativeSync:Qbe}=H8(),Wc=(t,e)=>(t=Jc(t),e=qc(e),wbe(e)?j8(t,e):q8(t,e)),bbe=(t,e)=>(t=Jc(t),e=qc(e),Qbe(e)?G8(t,e):J8(t,e));Wc.sync=bbe;Wc.native=(t,e)=>j8(Jc(t),qc(e));Wc.manual=(t,e)=>q8(Jc(t),qc(e));Wc.nativeSync=(t,e)=>G8(Jc(t),qc(e));Wc.manualSync=(t,e)=>J8(Jc(t),qc(e));Y8.exports=Wc});var e4=C((W_e,z8)=>{"use strict";var yn=require("fs"),VA=require("path"),Dbe=yn.lchown?"lchown":"chown",Sbe=yn.lchownSync?"lchownSync":"chownSync",V8=yn.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),X8=(t,e,r)=>{try{return yn[Sbe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xbe=(t,e,r)=>{try{return yn.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kbe=V8?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):yn.chown(t,e,r,i)}:(t,e,r,i)=>i,Px=V8?(t,e,r)=>{try{return X8(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xbe(t,e,r)}}:(t,e,r)=>X8(t,e,r),vbe=process.version,Z8=(t,e,r)=>yn.readdir(t,e,r),Pbe=(t,e)=>yn.readdirSync(t,e);/^v4\./.test(vbe)&&(Z8=(t,e,r)=>yn.readdir(t,r));var PE=(t,e,r,i)=>{yn[Dbe](t,e,r,kbe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},_8=(t,e,r,i,n)=>{if(typeof e=="string")return yn.lstat(VA.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,_8(t,o,r,i,n)});if(e.isDirectory())Fx(VA.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=VA.resolve(t,e.name);PE(o,r,i,n)});else{let s=VA.resolve(t,e.name);PE(s,r,i,n)}},Fx=(t,e,r,i)=>{Z8(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 PE(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return PE(t,e,r,i)}};s.forEach(c=>_8(t,c,e,r,l))})},Fbe=(t,e,r,i)=>{if(typeof e=="string")try{let n=yn.lstatSync(VA.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&$8(VA.resolve(t,e.name),r,i),Px(VA.resolve(t,e.name),r,i)},$8=(t,e,r)=>{let i;try{i=Pbe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return Px(t,e,r);throw n}return i&&i.length&&i.forEach(n=>Fbe(t,n,e,r)),Px(t,e,r)};z8.exports=Fx;Fx.sync=$8});var n4=C((X_e,Rx)=>{"use strict";var t4=W8(),Bn=require("fs"),FE=require("path"),r4=e4(),Nx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},hh=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},z_e=Rx.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=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?r4(y,o,a,B=>h(B)):s?Bn.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Bn.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new hh(t,I&&I.code||"ENOTDIR")),h(I)});if(c)return t4(t,{mode:n}).then(I=>h(null,I),h);let m=FE.relative(f,t).split(/\/|\\/);RE(f,m,n,g,u,f,null,h)},RE=(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 RE(c,e,r,i,n,s,o,a);Bn.mkdir(c,r,i4(c,e,r,i,n,s,o,a))},i4=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&FE.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new hh(s,l.code));Bn.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())RE(t,e,r,i,n,s,o,a);else if(n)Bn.unlink(t,g=>{if(g)return a(g);Bn.mkdir(t,r,i4(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new Nx(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,RE(t,e,r,i,n,s,o,a)},V_e=Rx.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=I=>{u.set(t,!0),I&&a&&r4.sync(I,s,o),n&&Bn.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let I=!1,y="ENOTDIR";try{I=Bn.statSync(t).isDirectory()}catch(B){y=B.code}finally{if(!I)throw new hh(t,y)}f();return}if(l)return f(t4.sync(t,i));let p=FE.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{Bn.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(B){if(B.path&&FE.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new hh(g,B.code);let x=Bn.lstatSync(y);if(x.isDirectory()){u.set(y,!0);continue}else if(c){Bn.unlinkSync(y),Bn.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(x.isSymbolicLink())return new Nx(y,y+"/"+p.join("/"))}return f(m)}});var a4=C((Z_e,s4)=>{var o4=require("assert");s4.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);o4.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(I=>h.add(I)))}),f.forEach(p=>{let m=t.get(p);o4(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 c4=C((__e,A4)=>{var Rbe=process.env.__FAKE_PLATFORM__||process.platform,Nbe=Rbe==="win32",Lbe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Mbe,O_TRUNC:Tbe,O_WRONLY:Obe,UV_FS_O_FILEMAP:l4=0}=Lbe.constants,Kbe=Nbe&&!!l4,Ube=512*1024,Hbe=l4|Tbe|Mbe|Obe;A4.exports=Kbe?t=>t"w"});var jx=C((r$e,u4)=>{"use strict";var Ybe=require("assert"),$_e=require("events").EventEmitter,jbe=fh(),bt=require("fs"),Gbe=jc(),Ao=require("path"),Lx=n4(),e$e=Lx.sync,g4=XS(),qbe=a4(),f4=Symbol("onEntry"),Mx=Symbol("checkFs"),h4=Symbol("checkFs2"),Tx=Symbol("isReusable"),lo=Symbol("makeFs"),Ox=Symbol("file"),Kx=Symbol("directory"),NE=Symbol("link"),p4=Symbol("symlink"),d4=Symbol("hardlink"),C4=Symbol("unsupported"),t$e=Symbol("unknown"),m4=Symbol("checkPath"),zc=Symbol("mkdir"),pi=Symbol("onError"),LE=Symbol("pending"),I4=Symbol("pend"),Vc=Symbol("unpend"),Ux=Symbol("ended"),Hx=Symbol("maybeClose"),Yx=Symbol("skip"),ph=Symbol("doChown"),dh=Symbol("uid"),Ch=Symbol("gid"),E4=require("crypto"),y4=c4(),ME=()=>{throw new Error("sync function called cb somehow?!?")},Jbe=(t,e)=>{if(process.platform!=="win32")return bt.unlink(t,e);let r=t+".DELETE."+E4.randomBytes(16).toString("hex");bt.rename(t,r,i=>{if(i)return e(i);bt.unlink(r,e)})},Wbe=t=>{if(process.platform!=="win32")return bt.unlinkSync(t);let e=t+".DELETE."+E4.randomBytes(16).toString("hex");bt.renameSync(t,e),bt.unlinkSync(e)},B4=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,TE=class extends jbe{constructor(e){if(e||(e={}),e.ondone=r=>{this[Ux]=!0,this[Hx]()},super(e),this.reservations=qbe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[LE]=0,this[Ux]=!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=Ao.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[f4](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[Hx](){this[Ux]&&this[LE]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[m4](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(Ao.win32.isAbsolute(r)){let i=Ao.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=Ao.win32.parse(e.path);e.path=r.root===""?g4.encode(e.path):r.root+g4.encode(e.path.substr(r.root.length))}return Ao.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Ao.resolve(this.cwd,e.path),!0}[f4](e){if(!this[m4](e))return e.resume();switch(Ybe.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[Mx](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[C4](e)}}[pi](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Vc](),r.resume())}[zc](e,r,i){Lx(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)}[ph](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}[dh](e){return B4(this.uid,e.uid,this.processUid)}[Ch](e){return B4(this.gid,e.gid,this.processGid)}[Ox](e,r){let i=e.mode&4095||this.fmode,n=new Gbe.WriteStream(e.absolute,{flags:y4(e.size),mode:i,autoClose:!1});n.on("error",l=>this[pi](l,e));let s=1,o=l=>{if(l)return this[pi](l,e);--s==0&&bt.close(n.fd,c=>{r(),c?this[pi](c,e):this[Vc]()})};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;bt.futimes(u,g,f,h=>h?bt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ph](e)){s++;let g=this[dh](e),f=this[Ch](e);bt.fchown(u,g,f,h=>h?bt.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[pi](l,e)),e.pipe(a)),a.pipe(n)}[Kx](e,r){let i=e.mode&4095||this.dmode;this[zc](e.absolute,i,n=>{if(n)return r(),this[pi](n,e);let s=1,o=a=>{--s==0&&(r(),this[Vc](),e.resume())};e.mtime&&!this.noMtime&&(s++,bt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ph](e)&&(s++,bt.chown(e.absolute,this[dh](e),this[Ch](e),o)),o()})}[C4](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[p4](e,r){this[NE](e,e.linkpath,"symlink",r)}[d4](e,r){this[NE](e,Ao.resolve(this.cwd,e.linkpath),"link",r)}[I4](){this[LE]++}[Vc](){this[LE]--,this[Hx]()}[Yx](e){this[Vc](),e.resume()}[Tx](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[Mx](e){this[I4]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[h4](e,i))}[h4](e,r){this[zc](Ao.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[pi](i,e);bt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[Yx](e),r()):n||this[Tx](e,s)?this[lo](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[lo](null,e,r):bt.chmod(e.absolute,e.mode,o=>this[lo](o,e,r)):bt.rmdir(e.absolute,o=>this[lo](o,e,r)):Jbe(e.absolute,o=>this[lo](o,e,r))})})}[lo](e,r,i){if(e)return this[pi](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Ox](r,i);case"Link":return this[d4](r,i);case"SymbolicLink":return this[p4](r,i);case"Directory":case"GNUDumpDir":return this[Kx](r,i)}}[NE](e,r,i,n){bt[i](r,e.absolute,s=>{if(s)return this[pi](s,e);n(),this[Vc](),e.resume()})}},w4=class extends TE{constructor(e){super(e)}[Mx](e){let r=this[zc](Ao.dirname(e.absolute),this.dmode,ME);if(r)return this[pi](r,e);try{let i=bt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[Yx](e);if(this[Tx](e,i))return this[lo](null,e,ME);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&bt.chmodSync(e.absolute,e.mode):bt.rmdirSync(e.absolute):Wbe(e.absolute),this[lo](null,e,ME)}catch(n){return this[pi](n,e)}}catch(i){return this[lo](null,e,ME)}}[Ox](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{bt.closeSync(o)}catch(u){c=u}(l||c)&&this[pi](l||c,e)},s,o;try{o=bt.openSync(e.absolute,y4(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[pi](l,e)),e.pipe(a)),a.on("data",l=>{try{bt.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{bt.futimesSync(o,u,g)}catch(f){try{bt.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ph](e)){let u=this[dh](e),g=this[Ch](e);try{bt.fchownSync(o,u,g)}catch(f){try{bt.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[Kx](e,r){let i=e.mode&4095||this.dmode,n=this[zc](e.absolute,i);if(n)return this[pi](n,e);if(e.mtime&&!this.noMtime)try{bt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ph](e))try{bt.chownSync(e.absolute,this[dh](e),this[Ch](e))}catch(s){}e.resume()}[zc](e,r){try{return Lx.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}}[NE](e,r,i,n){try{bt[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[pi](s,e)}}};TE.Sync=w4;u4.exports=TE});var x4=C((n$e,Q4)=>{"use strict";var zbe=Pc(),OE=jx(),b4=require("fs"),D4=jc(),S4=require("path"),i$e=Q4.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=zbe(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&&Vbe(i,e),i.file&&i.sync?Xbe(i):i.file?Zbe(i,r):i.sync?_be(i):$be(i)},Vbe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||S4.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(S4.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},Xbe=t=>{let e=new OE.Sync(t),r=t.file,i=!0,n,s=b4.statSync(r),o=t.maxReadSize||16*1024*1024;new D4.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},Zbe=(t,e)=>{let r=new OE(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),b4.stat(n,(l,c)=>{if(l)a(l);else{let u=new D4.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},_be=t=>new OE.Sync(t),$be=t=>new OE(t)});var k4=C(yr=>{"use strict";yr.c=yr.create=f8();yr.r=yr.replace=Dx();yr.t=yr.list=kE();yr.u=yr.update=B8();yr.x=yr.extract=x4();yr.Pack=CE();yr.Unpack=jx();yr.Parse=fh();yr.ReadEntry=ah();yr.WriteEntry=ix();yr.Header=Lc();yr.Pax=iE();yr.types=oh()});var P4=C((o$e,Gx)=>{"use strict";var eDe=Object.prototype.hasOwnProperty,di="~";function mh(){}Object.create&&(mh.prototype=Object.create(null),new mh().__proto__||(di=!1));function tDe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function v4(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tDe(r,i||t,n),o=di?di+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function KE(t,e){--t._eventsCount==0?t._events=new mh:delete t._events[e]}function _r(){this._events=new mh,this._eventsCount=0}_r.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eDe.call(r,i)&&e.push(di?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};_r.prototype.listeners=function(e){var r=di?di+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";F4.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var L4=C((A$e,UE)=>{"use strict";var rDe=R4(),qx=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},N4=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new qx(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rDe(t.then(i,n),()=>{clearTimeout(s)})});UE.exports=N4;UE.exports.default=N4;UE.exports.TimeoutError=qx});var M4=C(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});function iDe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}Jx.default=iDe});var O4=C(Wx=>{"use strict";Object.defineProperty(Wx,"__esModule",{value:!0});var nDe=M4(),T4=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nDe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Wx.default=T4});var H4=C(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var sDe=P4(),K4=L4(),oDe=O4(),HE=()=>{},aDe=new K4.TimeoutError,U4=class extends sDe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=HE,this._resolveIdle=HE,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oDe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():K4.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aDe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};zx.default=U4});var J4=C((f$e,q4)=>{var Xx;q4.exports.getContent=()=>(typeof Xx=="undefined"&&(Xx=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Xx)});var _4=C((Zx,Z4)=>{(function(t,e){typeof Zx=="object"?Z4.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(Zx,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(y,B){B>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[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 I=e(s,c);I.forEach(function(y){h=++f===I.length,r(y,s[y],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 nz=C((M$e,ek)=>{"use strict";var pDe=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=pDe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};ek.exports=iz;ek.exports.default=iz});var go=C(uk=>{"use strict";Object.defineProperty(uk,"__esModule",{value:!0});uk.default=uz;function uz(){}uz.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 I=void 0,y=g[m-1],B=g[m+1],x=(B?B.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1=a&&x+1>=l)return o(yDe(s,I.components,r,e,s.useLongestToken));g[m]=I}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 BDe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var fz=C(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.diffChars=wDe;yh.characterDiff=void 0;var bDe=QDe(go());function QDe(t){return t&&t.__esModule?t:{default:t}}var gz=new bDe.default;yh.characterDiff=gz;function wDe(t,e,r){return gz.diff(t,e,r)}});var fk=C(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});gk.generateOptions=DDe;function DDe(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 dz=C($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.diffWords=SDe;$c.diffWordsWithSpace=xDe;$c.wordDiff=void 0;var vDe=kDe(go()),PDe=fk();function kDe(t){return t&&t.__esModule?t:{default:t}}var hz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,pz=/\S/,Bh=new vDe.default;$c.wordDiff=Bh;Bh.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!pz.test(t)&&!pz.test(e)};Bh.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.diffLines=FDe;eu.diffTrimmedLines=RDe;eu.lineDiff=void 0;var LDe=NDe(go()),MDe=fk();function NDe(t){return t&&t.__esModule?t:{default:t}}var WE=new LDe.default;eu.lineDiff=WE;WE.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(wh,"__esModule",{value:!0});wh.diffSentences=TDe;wh.sentenceDiff=void 0;var KDe=ODe(go());function ODe(t){return t&&t.__esModule?t:{default:t}}var hk=new KDe.default;wh.sentenceDiff=hk;hk.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function TDe(t,e,r){return hk.diff(t,e,r)}});var mz=C(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.diffCss=UDe;Qh.cssDiff=void 0;var YDe=HDe(go());function HDe(t){return t&&t.__esModule?t:{default:t}}var pk=new YDe.default;Qh.cssDiff=pk;pk.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UDe(t,e,r){return pk.diff(t,e,r)}});var Ez=C(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.diffJson=jDe;tu.canonicalize=VE;tu.jsonDiff=void 0;var Iz=GDe(go()),qDe=zE();function GDe(t){return t&&t.__esModule?t:{default:t}}function XE(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?XE=function(r){return typeof r}:XE=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},XE(t)}var JDe=Object.prototype.toString,XA=new Iz.default;tu.jsonDiff=XA;XA.useLongestToken=!0;XA.tokenize=qDe.lineDiff.tokenize;XA.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(VE(t,null,null,n),n," ")};XA.equals=function(t,e){return Iz.default.prototype.equals.call(XA,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jDe(t,e,r){return XA.diff(t,e,r)}function VE(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.diffArrays=WDe;bh.arrayDiff=void 0;var VDe=zDe(go());function zDe(t){return t&&t.__esModule?t:{default:t}}var Dh=new VDe.default;bh.arrayDiff=Dh;Dh.tokenize=function(t){return t.slice()};Dh.join=Dh.removeEmpty=function(t){return t};function WDe(t,e,r){return Dh.diff(t,e,r)}});var ZE=C(dk=>{"use strict";Object.defineProperty(dk,"__esModule",{value:!0});dk.parsePatch=XDe;function XDe(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(Ck,"__esModule",{value:!0});Ck.default=ZDe;function ZDe(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 bz=C(_E=>{"use strict";Object.defineProperty(_E,"__esModule",{value:!0});_E.applyPatch=wz;_E.applyPatches=_De;var Qz=ZE(),eSe=$De(Bz());function $De(t){return t&&t.__esModule?t:{default:t}}function wz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,Qz.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(H,R,ve,Ne){return R===Ne},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(H,R){for(var ve=0;ve0?Ne[0]:" ",Ke=Ne.length>0?Ne.substr(1):Ne;if(Je===" "||Je==="-"){if(!o(R+1,i[R],Je,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=O.linedelimiters[J];if(K===" ")P++;else if(K==="-")i.splice(P,1),n.splice(P,1);else if(K==="+")i.splice(P,0,A),n.splice(P,0,W),P++;else if(K==="\\"){var ee=O.lines[J-1]?O.lines[J-1][0]:null;ee==="+"?g=!0:ee==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var re=0;re{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.structuredPatch=Dz;Sh.createTwoFilesPatch=Sz;Sh.createPatch=tSe;var rSe=zE();function mk(t){return sSe(t)||nSe(t)||iSe()}function iSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(O.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(N=f).push.apply(N,mk(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:h+=F.length}else{if(u)if(F.length<=o.context*2&&B=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),ee=F.length==0&&f.length>K.oldLines;!A&&ee&&f.splice(K.oldLines,0,"\\ No newline at end of file"),(!A&&!ee||!W)&&f.push("\\ No newline at end of file")}c.push(K),u=0,g=0,f=[]}h+=F.length,p+=F.length}},I=0;I{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.arrayEqual=oSe;$E.arrayStartsWith=xz;function oSe(t,e){return t.length!==e.length?!1:xz(t,e)}function xz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.calcLineCount=vz;ey.merge=aSe;var ASe=Ik(),lSe=ZE(),Ek=kz();function ru(t){return gSe(t)||uSe(t)||cSe()}function cSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(wk,"__esModule",{value:!0});wk.convertChangesToDMP=dSe;function dSe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});Qk.convertChangesToXML=CSe;function CSe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mSe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mSe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var Wz=C($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});Object.defineProperty($t,"Diff",{enumerable:!0,get:function(){return ISe.default}});Object.defineProperty($t,"diffChars",{enumerable:!0,get:function(){return ESe.diffChars}});Object.defineProperty($t,"diffWords",{enumerable:!0,get:function(){return jz.diffWords}});Object.defineProperty($t,"diffWordsWithSpace",{enumerable:!0,get:function(){return jz.diffWordsWithSpace}});Object.defineProperty($t,"diffLines",{enumerable:!0,get:function(){return Gz.diffLines}});Object.defineProperty($t,"diffTrimmedLines",{enumerable:!0,get:function(){return Gz.diffTrimmedLines}});Object.defineProperty($t,"diffSentences",{enumerable:!0,get:function(){return ySe.diffSentences}});Object.defineProperty($t,"diffCss",{enumerable:!0,get:function(){return BSe.diffCss}});Object.defineProperty($t,"diffJson",{enumerable:!0,get:function(){return qz.diffJson}});Object.defineProperty($t,"canonicalize",{enumerable:!0,get:function(){return qz.canonicalize}});Object.defineProperty($t,"diffArrays",{enumerable:!0,get:function(){return wSe.diffArrays}});Object.defineProperty($t,"applyPatch",{enumerable:!0,get:function(){return Jz.applyPatch}});Object.defineProperty($t,"applyPatches",{enumerable:!0,get:function(){return Jz.applyPatches}});Object.defineProperty($t,"parsePatch",{enumerable:!0,get:function(){return QSe.parsePatch}});Object.defineProperty($t,"merge",{enumerable:!0,get:function(){return bSe.merge}});Object.defineProperty($t,"structuredPatch",{enumerable:!0,get:function(){return bk.structuredPatch}});Object.defineProperty($t,"createTwoFilesPatch",{enumerable:!0,get:function(){return bk.createTwoFilesPatch}});Object.defineProperty($t,"createPatch",{enumerable:!0,get:function(){return bk.createPatch}});Object.defineProperty($t,"convertChangesToDMP",{enumerable:!0,get:function(){return DSe.convertChangesToDMP}});Object.defineProperty($t,"convertChangesToXML",{enumerable:!0,get:function(){return SSe.convertChangesToXML}});var ISe=xSe(go()),ESe=fz(),jz=dz(),Gz=zE(),ySe=Cz(),BSe=mz(),qz=Ez(),wSe=yz(),Jz=bz(),QSe=ZE(),bSe=Uz(),bk=Ik(),DSe=Hz(),SSe=Yz();function xSe(t){return t&&t.__esModule?t:{default:t}}});var ry=C((att,zz)=>{var kSe=dn(),vSe=jI(),PSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,FSe=/^\w*$/;function RSe(t,e){if(kSe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||vSe(t)?!0:FSe.test(t)||!PSe.test(t)||e!=null&&t in Object(e)}zz.exports=RSe});var Hn=C((Att,Vz)=>{function NSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Vz.exports=NSe});var iy=C((ltt,Xz)=>{var LSe=LA(),MSe=Hn(),TSe="[object AsyncFunction]",OSe="[object Function]",KSe="[object GeneratorFunction]",USe="[object Proxy]";function HSe(t){if(!MSe(t))return!1;var e=LSe(t);return e==OSe||e==KSe||e==TSe||e==USe}Xz.exports=HSe});var _z=C((ctt,Zz)=>{var YSe=On(),jSe=YSe["__core-js_shared__"];Zz.exports=jSe});var t5=C((utt,$z)=>{var Dk=_z(),e5=function(){var t=/[^.]+$/.exec(Dk&&Dk.keys&&Dk.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function GSe(t){return!!e5&&e5 in t}$z.exports=GSe});var Sk=C((gtt,r5)=>{var qSe=Function.prototype,JSe=qSe.toString;function WSe(t){if(t!=null){try{return JSe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}r5.exports=WSe});var n5=C((ftt,i5)=>{var zSe=iy(),VSe=t5(),XSe=Hn(),ZSe=Sk(),_Se=/[\\^$.*+?()[\]{}|]/g,$Se=/^\[object .+?Constructor\]$/,exe=Function.prototype,txe=Object.prototype,rxe=exe.toString,ixe=txe.hasOwnProperty,nxe=RegExp("^"+rxe.call(ixe).replace(_Se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sxe(t){if(!XSe(t)||VSe(t))return!1;var e=zSe(t)?nxe:$Se;return e.test(ZSe(t))}i5.exports=sxe});var o5=C((htt,s5)=>{function oxe(t,e){return t==null?void 0:t[e]}s5.exports=oxe});var ma=C((ptt,a5)=>{var axe=n5(),Axe=o5();function lxe(t,e){var r=Axe(t,e);return axe(r)?r:void 0}a5.exports=lxe});var xh=C((dtt,A5)=>{var cxe=ma(),uxe=cxe(Object,"create");A5.exports=uxe});var u5=C((Ctt,l5)=>{var c5=xh();function gxe(){this.__data__=c5?c5(null):{},this.size=0}l5.exports=gxe});var f5=C((mtt,g5)=>{function fxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}g5.exports=fxe});var p5=C((Itt,h5)=>{var hxe=xh(),pxe="__lodash_hash_undefined__",dxe=Object.prototype,Cxe=dxe.hasOwnProperty;function mxe(t){var e=this.__data__;if(hxe){var r=e[t];return r===pxe?void 0:r}return Cxe.call(e,t)?e[t]:void 0}h5.exports=mxe});var C5=C((Ett,d5)=>{var Ixe=xh(),Exe=Object.prototype,yxe=Exe.hasOwnProperty;function Bxe(t){var e=this.__data__;return Ixe?e[t]!==void 0:yxe.call(e,t)}d5.exports=Bxe});var I5=C((ytt,m5)=>{var wxe=xh(),Qxe="__lodash_hash_undefined__";function bxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=wxe&&e===void 0?Qxe:e,this}m5.exports=bxe});var y5=C((Btt,E5)=>{var Dxe=u5(),Sxe=f5(),xxe=p5(),kxe=C5(),vxe=I5();function iu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function Pxe(){this.__data__=[],this.size=0}B5.exports=Pxe});var nu=C((Qtt,Q5)=>{function Fxe(t,e){return t===e||t!==t&&e!==e}Q5.exports=Fxe});var kh=C((btt,b5)=>{var Rxe=nu();function Nxe(t,e){for(var r=t.length;r--;)if(Rxe(t[r][0],e))return r;return-1}b5.exports=Nxe});var S5=C((Dtt,D5)=>{var Lxe=kh(),Mxe=Array.prototype,Txe=Mxe.splice;function Oxe(t){var e=this.__data__,r=Lxe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():Txe.call(e,r,1),--this.size,!0}D5.exports=Oxe});var k5=C((Stt,x5)=>{var Kxe=kh();function Uxe(t){var e=this.__data__,r=Kxe(e,t);return r<0?void 0:e[r][1]}x5.exports=Uxe});var P5=C((xtt,v5)=>{var Hxe=kh();function Yxe(t){return Hxe(this.__data__,t)>-1}v5.exports=Yxe});var R5=C((ktt,F5)=>{var jxe=kh();function Gxe(t,e){var r=this.__data__,i=jxe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}F5.exports=Gxe});var vh=C((vtt,N5)=>{var qxe=w5(),Jxe=S5(),Wxe=k5(),zxe=P5(),Vxe=R5();function su(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Xxe=ma(),Zxe=On(),_xe=Xxe(Zxe,"Map");L5.exports=_xe});var O5=C((Ftt,M5)=>{var T5=y5(),$xe=vh(),eke=ny();function tke(){this.size=0,this.__data__={hash:new T5,map:new(eke||$xe),string:new T5}}M5.exports=tke});var U5=C((Rtt,K5)=>{function rke(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}K5.exports=rke});var Ph=C((Ntt,H5)=>{var ike=U5();function nke(t,e){var r=t.__data__;return ike(e)?r[typeof e=="string"?"string":"hash"]:r.map}H5.exports=nke});var j5=C((Ltt,Y5)=>{var ske=Ph();function oke(t){var e=ske(this,t).delete(t);return this.size-=e?1:0,e}Y5.exports=oke});var q5=C((Mtt,G5)=>{var ake=Ph();function Ake(t){return ake(this,t).get(t)}G5.exports=Ake});var W5=C((Ttt,J5)=>{var lke=Ph();function cke(t){return lke(this,t).has(t)}J5.exports=cke});var V5=C((Ott,z5)=>{var uke=Ph();function gke(t,e){var r=uke(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}z5.exports=gke});var sy=C((Ktt,X5)=>{var fke=O5(),hke=j5(),pke=q5(),dke=W5(),Cke=V5();function ou(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _5=sy(),mke="Expected a function";function xk(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mke);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(xk.Cache||_5),r}xk.Cache=_5;Z5.exports=xk});var t9=C((Htt,e9)=>{var Ike=$5(),Eke=500;function yke(t){var e=Ike(t,function(i){return r.size===Eke&&r.clear(),i}),r=e.cache;return e}e9.exports=yke});var i9=C((Ytt,r9)=>{var Bke=t9(),wke=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qke=/\\(\\)?/g,bke=Bke(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(wke,function(r,i,n,s){e.push(n?s.replace(Qke,"$1"):i||r)}),e});r9.exports=bke});var au=C((jtt,n9)=>{var Dke=dn(),Ske=ry(),xke=i9(),kke=kc();function vke(t,e){return Dke(t)?t:Ske(t,e)?[t]:xke(kke(t))}n9.exports=vke});var _A=C((Gtt,s9)=>{var Pke=jI(),Fke=1/0;function Rke(t){if(typeof t=="string"||Pke(t))return t;var e=t+"";return e=="0"&&1/t==-Fke?"-0":e}s9.exports=Rke});var Fh=C((qtt,o9)=>{var Nke=au(),Lke=_A();function Mke(t,e){e=Nke(e,t);for(var r=0,i=e.length;t!=null&&r{var Tke=ma(),Oke=function(){try{var t=Tke(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();a9.exports=Oke});var Au=C((Wtt,A9)=>{var l9=kk();function Kke(t,e,r){e=="__proto__"&&l9?l9(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}A9.exports=Kke});var oy=C((ztt,c9)=>{var Uke=Au(),Hke=nu(),Yke=Object.prototype,jke=Yke.hasOwnProperty;function Gke(t,e,r){var i=t[e];(!(jke.call(t,e)&&Hke(i,r))||r===void 0&&!(e in t))&&Uke(t,e,r)}c9.exports=Gke});var Rh=C((Vtt,u9)=>{var qke=9007199254740991,Jke=/^(?:0|[1-9]\d*)$/;function Wke(t,e){var r=typeof t;return e=e==null?qke:e,!!e&&(r=="number"||r!="symbol"&&Jke.test(t))&&t>-1&&t%1==0&&t{var zke=oy(),Vke=au(),Xke=Rh(),f9=Hn(),Zke=_A();function _ke(t,e,r,i){if(!f9(t))return t;e=Vke(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $ke=Fh(),eve=vk(),tve=au();function rve(t,e,r){for(var i=-1,n=e.length,s={};++i{function ive(t,e){return t!=null&&e in Object(t)}d9.exports=ive});var I9=C(($tt,m9)=>{var nve=LA(),sve=ls(),ove="[object Arguments]";function ave(t){return sve(t)&&nve(t)==ove}m9.exports=ave});var Nh=C((ert,E9)=>{var y9=I9(),Ave=ls(),B9=Object.prototype,lve=B9.hasOwnProperty,cve=B9.propertyIsEnumerable,uve=y9(function(){return arguments}())?y9:function(t){return Ave(t)&&lve.call(t,"callee")&&!cve.call(t,"callee")};E9.exports=uve});var ay=C((trt,w9)=>{var gve=9007199254740991;function fve(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=gve}w9.exports=fve});var Pk=C((rrt,Q9)=>{var hve=au(),pve=Nh(),dve=dn(),Cve=Rh(),mve=ay(),Ive=_A();function Eve(t,e,r){e=hve(e,t);for(var i=-1,n=e.length,s=!1;++i{var yve=C9(),Bve=Pk();function wve(t,e){return t!=null&&Bve(t,e,yve)}b9.exports=wve});var S9=C((nrt,D9)=>{var Qve=p9(),bve=Fk();function Dve(t,e){return Qve(t,e,function(r,i){return bve(t,i)})}D9.exports=Dve});var Ay=C((srt,x9)=>{function Sve(t,e){for(var r=-1,i=e.length,n=t.length;++r{var v9=NA(),xve=Nh(),kve=dn(),P9=v9?v9.isConcatSpreadable:void 0;function vve(t){return kve(t)||xve(t)||!!(P9&&t&&t[P9])}k9.exports=vve});var L9=C((art,R9)=>{var Pve=Ay(),Fve=F9();function N9(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=Fve),n||(n=[]);++s0&&r(a)?e>1?N9(a,e-1,r,i,n):Pve(n,a):i||(n[n.length]=a)}return n}R9.exports=N9});var T9=C((Art,M9)=>{var Rve=L9();function Nve(t){var e=t==null?0:t.length;return e?Rve(t,1):[]}M9.exports=Nve});var K9=C((lrt,O9)=>{function Lve(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)}O9.exports=Lve});var Rk=C((crt,U9)=>{var Mve=K9(),H9=Math.max;function Tve(t,e,r){return e=H9(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=H9(i.length-e,0),o=Array(s);++n{function Ove(t){return function(){return t}}Y9.exports=Ove});var ly=C((grt,G9)=>{function Kve(t){return t}G9.exports=Kve});var W9=C((frt,q9)=>{var Uve=j9(),J9=kk(),Hve=ly(),Yve=J9?function(t,e){return J9(t,"toString",{configurable:!0,enumerable:!1,value:Uve(e),writable:!0})}:Hve;q9.exports=Yve});var V9=C((hrt,z9)=>{var jve=800,Gve=16,qve=Date.now;function Jve(t){var e=0,r=0;return function(){var i=qve(),n=Gve-(i-r);if(r=i,n>0){if(++e>=jve)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}z9.exports=Jve});var Nk=C((prt,X9)=>{var Wve=W9(),zve=V9(),Vve=zve(Wve);X9.exports=Vve});var _9=C((drt,Z9)=>{var Xve=T9(),Zve=Rk(),_ve=Nk();function $ve(t){return _ve(Zve(t,void 0,Xve),t+"")}Z9.exports=$ve});var e6=C((Crt,$9)=>{var ePe=S9(),tPe=_9(),rPe=tPe(function(t,e){return t==null?{}:ePe(t,e)});$9.exports=rPe});var u6=C((ant,A6)=>{"use strict";var Gk;try{Gk=Map}catch(t){}var qk;try{qk=Set}catch(t){}function l6(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(c6);if(Gk&&t instanceof Gk)return new Map(Array.from(t.entries()));if(qk&&t instanceof qk)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]:l6(t[n],e,r)}return i}return t}function c6(t){return l6(t,[],[])}A6.exports=c6});var Oh=C(Jk=>{"use strict";Object.defineProperty(Jk,"__esModule",{value:!0});Jk.default=uPe;var gPe=Object.prototype.toString,fPe=Error.prototype.toString,hPe=RegExp.prototype.toString,pPe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dPe=/^Symbol\((.*)\)(.*)$/;function CPe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function g6(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CPe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pPe.call(t).replace(dPe,"Symbol($1)");let i=gPe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fPe.call(t)+"]":i==="RegExp"?hPe.call(t):null}function uPe(t,e){let r=g6(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=g6(this[i],e);return s!==null?s:n},2)}});var fo=C(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.default=vr.array=vr.object=vr.boolean=vr.date=vr.number=vr.string=vr.mixed=void 0;var f6=mPe(Oh());function mPe(t){return t&&t.__esModule?t:{default:t}}var h6={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,f6.default)(r,!0)}\``+(n?` (cast from the value \`${(0,f6.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"};vr.mixed=h6;var p6={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"};vr.string=p6;var d6={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"};vr.number=d6;var C6={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};vr.date=C6;var m6={isValue:"${path} field must be ${value}"};vr.boolean=m6;var I6={noUnknown:"${path} field has unspecified keys: ${unknown}"};vr.object=I6;var E6={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"};vr.array=E6;var IPe=Object.assign(Object.create(null),{mixed:h6,string:p6,number:d6,date:C6,object:I6,array:E6,boolean:m6});vr.default=IPe});var B6=C((cnt,y6)=>{var EPe=Object.prototype,yPe=EPe.hasOwnProperty;function BPe(t,e){return t!=null&&yPe.call(t,e)}y6.exports=BPe});var Kh=C((unt,w6)=>{var wPe=B6(),QPe=Pk();function bPe(t,e){return t!=null&&QPe(t,e,wPe)}w6.exports=bPe});var cu=C(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});hy.default=void 0;var DPe=t=>t&&t.__isYupSchema__;hy.default=DPe});var D6=C(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.default=void 0;var SPe=Q6(Kh()),xPe=Q6(cu());function Q6(t){return t&&t.__esModule?t:{default:t}}var b6=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SPe.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,xPe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kPe=b6;py.default=kPe});var zk=C(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});Wk.default=vPe;function vPe(t){return t==null?[]:[].concat(t)}});var $A=C(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.default=void 0;var PPe=S6(Oh()),FPe=S6(zk());function S6(t){return t&&t.__esModule?t:{default:t}}function Vk(){return Vk=Object.assign||function(t){for(var e=1;e(0,PPe.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,FPe.default)(e).forEach(s=>{Uh.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,Uh)}};dy.default=Uh});var Cy=C(Xk=>{"use strict";Object.defineProperty(Xk,"__esModule",{value:!0});Xk.default=NPe;var Zk=LPe($A());function LPe(t){return t&&t.__esModule?t:{default:t}}var MPe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NPe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=MPe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new Zk.default(o,s,l)):c(null,s);for(let f=0;f{function TPe(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}}x6.exports=TPe});var _k=C((mnt,v6)=>{var OPe=k6(),KPe=OPe();v6.exports=KPe});var F6=C((Int,P6)=>{function UPe(t,e){for(var r=-1,i=Array(t);++r{function HPe(){return!1}R6.exports=HPe});var Yh=C((Hh,uu)=>{var YPe=On(),jPe=N6(),L6=typeof Hh=="object"&&Hh&&!Hh.nodeType&&Hh,M6=L6&&typeof uu=="object"&&uu&&!uu.nodeType&&uu,GPe=M6&&M6.exports===L6,T6=GPe?YPe.Buffer:void 0,qPe=T6?T6.isBuffer:void 0,JPe=qPe||jPe;uu.exports=JPe});var K6=C((ynt,O6)=>{var WPe=LA(),zPe=ay(),VPe=ls(),XPe="[object Arguments]",ZPe="[object Array]",_Pe="[object Boolean]",$Pe="[object Date]",eFe="[object Error]",tFe="[object Function]",rFe="[object Map]",iFe="[object Number]",nFe="[object Object]",sFe="[object RegExp]",oFe="[object Set]",aFe="[object String]",AFe="[object WeakMap]",lFe="[object ArrayBuffer]",cFe="[object DataView]",uFe="[object Float32Array]",gFe="[object Float64Array]",fFe="[object Int8Array]",hFe="[object Int16Array]",pFe="[object Int32Array]",dFe="[object Uint8Array]",CFe="[object Uint8ClampedArray]",mFe="[object Uint16Array]",IFe="[object Uint32Array]",jt={};jt[uFe]=jt[gFe]=jt[fFe]=jt[hFe]=jt[pFe]=jt[dFe]=jt[CFe]=jt[mFe]=jt[IFe]=!0;jt[XPe]=jt[ZPe]=jt[lFe]=jt[_Pe]=jt[cFe]=jt[$Pe]=jt[eFe]=jt[tFe]=jt[rFe]=jt[iFe]=jt[nFe]=jt[sFe]=jt[oFe]=jt[aFe]=jt[AFe]=!1;function EFe(t){return VPe(t)&&zPe(t.length)&&!!jt[WPe(t)]}O6.exports=EFe});var my=C((Bnt,U6)=>{function yFe(t){return function(e){return t(e)}}U6.exports=yFe});var Iy=C((jh,gu)=>{var BFe=BS(),H6=typeof jh=="object"&&jh&&!jh.nodeType&&jh,Gh=H6&&typeof gu=="object"&&gu&&!gu.nodeType&&gu,wFe=Gh&&Gh.exports===H6,$k=wFe&&BFe.process,QFe=function(){try{var t=Gh&&Gh.require&&Gh.require("util").types;return t||$k&&$k.binding&&$k.binding("util")}catch(e){}}();gu.exports=QFe});var Ey=C((wnt,Y6)=>{var bFe=K6(),DFe=my(),j6=Iy(),G6=j6&&j6.isTypedArray,SFe=G6?DFe(G6):bFe;Y6.exports=SFe});var ev=C((Qnt,q6)=>{var xFe=F6(),kFe=Nh(),vFe=dn(),PFe=Yh(),FFe=Rh(),RFe=Ey(),NFe=Object.prototype,LFe=NFe.hasOwnProperty;function MFe(t,e){var r=vFe(t),i=!r&&kFe(t),n=!r&&!i&&PFe(t),s=!r&&!i&&!n&&RFe(t),o=r||i||n||s,a=o?xFe(t.length,String):[],l=a.length;for(var c in t)(e||LFe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||FFe(c,l)))&&a.push(c);return a}q6.exports=MFe});var yy=C((bnt,J6)=>{var TFe=Object.prototype;function OFe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TFe;return t===r}J6.exports=OFe});var tv=C((Dnt,W6)=>{function KFe(t,e){return function(r){return t(e(r))}}W6.exports=KFe});var V6=C((Snt,z6)=>{var UFe=tv(),HFe=UFe(Object.keys,Object);z6.exports=HFe});var Z6=C((xnt,X6)=>{var YFe=yy(),jFe=V6(),GFe=Object.prototype,qFe=GFe.hasOwnProperty;function JFe(t){if(!YFe(t))return jFe(t);var e=[];for(var r in Object(t))qFe.call(t,r)&&r!="constructor"&&e.push(r);return e}X6.exports=JFe});var qh=C((knt,_6)=>{var WFe=iy(),zFe=ay();function VFe(t){return t!=null&&zFe(t.length)&&!WFe(t)}_6.exports=VFe});var fu=C((vnt,$6)=>{var XFe=ev(),ZFe=Z6(),_Fe=qh();function $Fe(t){return _Fe(t)?XFe(t):ZFe(t)}$6.exports=$Fe});var rv=C((Pnt,e7)=>{var eRe=_k(),tRe=fu();function rRe(t,e){return t&&eRe(t,e,tRe)}e7.exports=rRe});var r7=C((Fnt,t7)=>{var iRe=vh();function nRe(){this.__data__=new iRe,this.size=0}t7.exports=nRe});var n7=C((Rnt,i7)=>{function sRe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}i7.exports=sRe});var o7=C((Nnt,s7)=>{function oRe(t){return this.__data__.get(t)}s7.exports=oRe});var A7=C((Lnt,a7)=>{function aRe(t){return this.__data__.has(t)}a7.exports=aRe});var c7=C((Mnt,l7)=>{var ARe=vh(),lRe=ny(),cRe=sy(),uRe=200;function gRe(t,e){var r=this.__data__;if(r instanceof ARe){var i=r.__data__;if(!lRe||i.length{var fRe=vh(),hRe=r7(),pRe=n7(),dRe=o7(),CRe=A7(),mRe=c7();function hu(t){var e=this.__data__=new fRe(t);this.size=e.size}hu.prototype.clear=hRe;hu.prototype.delete=pRe;hu.prototype.get=dRe;hu.prototype.has=CRe;hu.prototype.set=mRe;u7.exports=hu});var f7=C((Ont,g7)=>{var IRe="__lodash_hash_undefined__";function ERe(t){return this.__data__.set(t,IRe),this}g7.exports=ERe});var p7=C((Knt,h7)=>{function yRe(t){return this.__data__.has(t)}h7.exports=yRe});var C7=C((Unt,d7)=>{var BRe=sy(),wRe=f7(),QRe=p7();function By(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new BRe;++e{function bRe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function DRe(t,e){return t.has(e)}E7.exports=DRe});var iv=C((jnt,B7)=>{var SRe=C7(),xRe=I7(),kRe=y7(),vRe=1,PRe=2;function FRe(t,e,r,i,n,s){var o=r&vRe,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&PRe?new SRe:void 0;for(s.set(t,e),s.set(e,t);++g{var RRe=On(),NRe=RRe.Uint8Array;w7.exports=NRe});var b7=C((qnt,Q7)=>{function LRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}Q7.exports=LRe});var S7=C((Jnt,D7)=>{function MRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}D7.exports=MRe});var F7=C((Wnt,x7)=>{var k7=NA(),v7=nv(),TRe=nu(),ORe=iv(),KRe=b7(),URe=S7(),HRe=1,YRe=2,jRe="[object Boolean]",GRe="[object Date]",qRe="[object Error]",JRe="[object Map]",WRe="[object Number]",zRe="[object RegExp]",VRe="[object Set]",XRe="[object String]",ZRe="[object Symbol]",_Re="[object ArrayBuffer]",$Re="[object DataView]",P7=k7?k7.prototype:void 0,sv=P7?P7.valueOf:void 0;function eNe(t,e,r,i,n,s,o){switch(r){case $Re:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _Re:return!(t.byteLength!=e.byteLength||!s(new v7(t),new v7(e)));case jRe:case GRe:case WRe:return TRe(+t,+e);case qRe:return t.name==e.name&&t.message==e.message;case zRe:case XRe:return t==e+"";case JRe:var a=KRe;case VRe:var l=i&HRe;if(a||(a=URe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=YRe,o.set(t,e);var u=ORe(a(t),a(e),i,n,s,o);return o.delete(t),u;case ZRe:if(sv)return sv.call(t)==sv.call(e)}return!1}x7.exports=eNe});var ov=C((znt,R7)=>{var tNe=Ay(),rNe=dn();function iNe(t,e,r){var i=e(t);return rNe(t)?i:tNe(i,r(t))}R7.exports=iNe});var L7=C((Vnt,N7)=>{function nNe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sNe(){return[]}M7.exports=sNe});var wy=C((Znt,T7)=>{var oNe=L7(),aNe=av(),ANe=Object.prototype,lNe=ANe.propertyIsEnumerable,O7=Object.getOwnPropertySymbols,cNe=O7?function(t){return t==null?[]:(t=Object(t),oNe(O7(t),function(e){return lNe.call(t,e)}))}:aNe;T7.exports=cNe});var Av=C((_nt,K7)=>{var uNe=ov(),gNe=wy(),fNe=fu();function hNe(t){return uNe(t,fNe,gNe)}K7.exports=hNe});var Y7=C(($nt,U7)=>{var H7=Av(),pNe=1,dNe=Object.prototype,CNe=dNe.hasOwnProperty;function mNe(t,e,r,i,n,s){var o=r&pNe,a=H7(t),l=a.length,c=H7(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CNe.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 I=o;++g{var INe=ma(),ENe=On(),yNe=INe(ENe,"DataView");j7.exports=yNe});var J7=C((tst,q7)=>{var BNe=ma(),wNe=On(),QNe=BNe(wNe,"Promise");q7.exports=QNe});var z7=C((rst,W7)=>{var bNe=ma(),DNe=On(),SNe=bNe(DNe,"Set");W7.exports=SNe});var X7=C((ist,V7)=>{var xNe=ma(),kNe=On(),vNe=xNe(kNe,"WeakMap");V7.exports=vNe});var Wh=C((nst,Z7)=>{var lv=G7(),cv=ny(),uv=J7(),gv=z7(),fv=X7(),_7=LA(),pu=Sk(),$7="[object Map]",PNe="[object Object]",eV="[object Promise]",tV="[object Set]",rV="[object WeakMap]",iV="[object DataView]",FNe=pu(lv),RNe=pu(cv),NNe=pu(uv),LNe=pu(gv),MNe=pu(fv),el=_7;(lv&&el(new lv(new ArrayBuffer(1)))!=iV||cv&&el(new cv)!=$7||uv&&el(uv.resolve())!=eV||gv&&el(new gv)!=tV||fv&&el(new fv)!=rV)&&(el=function(t){var e=_7(t),r=e==PNe?t.constructor:void 0,i=r?pu(r):"";if(i)switch(i){case FNe:return iV;case RNe:return $7;case NNe:return eV;case LNe:return tV;case MNe:return rV}return e});Z7.exports=el});var uV=C((sst,nV)=>{var hv=Jh(),TNe=iv(),ONe=F7(),KNe=Y7(),sV=Wh(),oV=dn(),aV=Yh(),UNe=Ey(),HNe=1,AV="[object Arguments]",lV="[object Array]",Qy="[object Object]",YNe=Object.prototype,cV=YNe.hasOwnProperty;function jNe(t,e,r,i,n,s){var o=oV(t),a=oV(e),l=o?lV:sV(t),c=a?lV:sV(e);l=l==AV?Qy:l,c=c==AV?Qy:c;var u=l==Qy,g=c==Qy,f=l==c;if(f&&aV(t)){if(!aV(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new hv),o||UNe(t)?TNe(t,e,r,i,n,s):ONe(t,e,l,r,i,n,s);if(!(r&HNe)){var h=u&&cV.call(t,"__wrapped__"),p=g&&cV.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,I=p?e.value():e;return s||(s=new hv),n(m,I,r,i,s)}}return f?(s||(s=new hv),KNe(t,e,r,i,n,s)):!1}nV.exports=jNe});var pv=C((ost,gV)=>{var GNe=uV(),fV=ls();function hV(t,e,r,i,n){return t===e?!0:t==null||e==null||!fV(t)&&!fV(e)?t!==t&&e!==e:GNe(t,e,r,i,hV,n)}gV.exports=hV});var dV=C((ast,pV)=>{var qNe=Jh(),JNe=pv(),WNe=1,zNe=2;function VNe(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 XNe=Hn();function ZNe(t){return t===t&&!XNe(t)}CV.exports=ZNe});var IV=C((lst,mV)=>{var _Ne=dv(),$Ne=fu();function eLe(t){for(var e=$Ne(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,_Ne(n)]}return e}mV.exports=eLe});var Cv=C((cst,EV)=>{function tLe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}EV.exports=tLe});var BV=C((ust,yV)=>{var rLe=dV(),iLe=IV(),nLe=Cv();function sLe(t){var e=iLe(t);return e.length==1&&e[0][2]?nLe(e[0][0],e[0][1]):function(r){return r===t||rLe(r,t,e)}}yV.exports=sLe});var by=C((gst,wV)=>{var oLe=Fh();function aLe(t,e,r){var i=t==null?void 0:oLe(t,e);return i===void 0?r:i}wV.exports=aLe});var bV=C((fst,QV)=>{var ALe=pv(),lLe=by(),cLe=Fk(),uLe=ry(),gLe=dv(),fLe=Cv(),hLe=_A(),pLe=1,dLe=2;function CLe(t,e){return uLe(t)&&gLe(e)?fLe(hLe(t),e):function(r){var i=lLe(r,t);return i===void 0&&i===e?cLe(r,t):ALe(e,i,pLe|dLe)}}QV.exports=CLe});var SV=C((hst,DV)=>{function mLe(t){return function(e){return e==null?void 0:e[t]}}DV.exports=mLe});var kV=C((pst,xV)=>{var ILe=Fh();function ELe(t){return function(e){return ILe(e,t)}}xV.exports=ELe});var PV=C((dst,vV)=>{var yLe=SV(),BLe=kV(),wLe=ry(),QLe=_A();function bLe(t){return wLe(t)?yLe(QLe(t)):BLe(t)}vV.exports=bLe});var mv=C((Cst,FV)=>{var DLe=BV(),SLe=bV(),xLe=ly(),kLe=dn(),vLe=PV();function PLe(t){return typeof t=="function"?t:t==null?xLe:typeof t=="object"?kLe(t)?SLe(t[0],t[1]):DLe(t):vLe(t)}FV.exports=PLe});var Iv=C((mst,RV)=>{var FLe=Au(),RLe=rv(),NLe=mv();function LLe(t,e){var r={};return e=NLe(e,3),RLe(t,function(i,n,s){FLe(r,n,e(i,n,s))}),r}RV.exports=LLe});var zh=C((Ist,NV)=>{"use strict";function tl(t){this._maxSize=t,this.clear()}tl.prototype.clear=function(){this._size=0,this._values=Object.create(null)};tl.prototype.get=function(t){return this._values[t]};tl.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var MLe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,LV=/^\d+$/,TLe=/^\d/,OLe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,KLe=/^\s*(['"]?)(.*?)(\1)\s*$/,Ev=512,MV=new tl(Ev),TV=new tl(Ev),OV=new tl(Ev);NV.exports={Cache:tl,split:Bv,normalizePath:yv,setter:function(t){var e=yv(t);return TV.get(t)||TV.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.create=GLe;Vh.default=void 0;var qLe=zh(),Dy={context:"$",value:"."};function GLe(t,e){return new Sy(t,e)}var Sy=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]===Dy.context,this.isValue=this.key[0]===Dy.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?Dy.context:this.isValue?Dy.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qLe.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}};Vh.default=Sy;Sy.prototype.__isYupRef=!0});var KV=C(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});Qv.default=JLe;var WLe=bv(Iv()),xy=bv($A()),zLe=bv(rl());function bv(t){return t&&t.__esModule?t:{default:t}}function ky(){return ky=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function JLe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=VLe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:I}=a;function y(O){return zLe.default.isRef(O)?O.getValue(n,m,I):O}function B(O={}){let P=(0,WLe.default)(ky({value:n,originalValue:l,label:o,path:O.path||s},h,O.params),y),J=new xy.default(xy.default.formatError(O.message||p,P),n,P.path,O.type||g);return J.params=P,J}let x=ky({path:s,parent:m,type:g,createError:B,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(x,n,x)).then(O=>{xy.default.isError(O)?i(O):O?i(null,O):i(B())})}catch(O){i(O)}return}let F;try{var N;if(F=f.call(x,n,x),typeof((N=F)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(O){i(O);return}xy.default.isError(F)?i(F):F?i(null,F):i(B())}return e.OPTIONS=t,e}});var Dv=C(Xh=>{"use strict";Object.defineProperty(Xh,"__esModule",{value:!0});Xh.getIn=UV;Xh.default=void 0;var XLe=zh(),ZLe=t=>t.substr(0,t.length-1).substr(1);function UV(t,e,r,i=r){let n,s,o;return e?((0,XLe.forEach)(e,(a,l,c)=>{let u=l?ZLe(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 _Le=(t,e,r,i)=>UV(t,e,r,i).schema,$Le=_Le;Xh.default=$Le});var YV=C(vy=>{"use strict";Object.defineProperty(vy,"__esModule",{value:!0});vy.default=void 0;var HV=eMe(rl());function eMe(t){return t&&t.__esModule?t:{default:t}}var Py=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){HV.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){HV.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 Py;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}};vy.default=Py});var po=C(Fy=>{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});Fy.default=void 0;var jV=ho(u6()),du=fo(),tMe=ho(D6()),GV=ho(Cy()),Ry=ho(KV()),qV=ho(Oh()),rMe=ho(rl()),iMe=Dv(),nMe=ho(zk()),JV=ho($A()),WV=ho(YV());function ho(t){return t&&t.__esModule?t:{default:t}}function wn(){return wn=Object.assign||function(t){for(var e=1;e{this.typeError(du.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=wn({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=wn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,jV.default)(wn({},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=wn({},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(wn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,qV.default)(e),o=(0,qV.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,wn({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,GV.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,GV.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(wn({},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(wn({},r,{value:e})),n;return i._validate(e,wn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(JV.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(JV.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,jV.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=du.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=du.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=du.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Ry.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,nMe.default)(e).map(s=>new rMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,Ry.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=du.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Ry.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=du.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Ry.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)}}};Fy.default=ms;ms.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ms.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],wn({},i,{parent:n,path:e}))};for(let t of["equals","is"])ms.prototype[t]=ms.prototype.oneOf;for(let t of["not","nope"])ms.prototype[t]=ms.prototype.notOneOf;ms.prototype.optional=ms.prototype.notRequired});var VV=C(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.create=zV;Zh.default=void 0;var oMe=sMe(po());function sMe(t){return t&&t.__esModule?t:{default:t}}var Sv=oMe.default,aMe=Sv;Zh.default=aMe;function zV(){return new Sv}zV.prototype=Sv.prototype});var Cu=C(Ny=>{"use strict";Object.defineProperty(Ny,"__esModule",{value:!0});Ny.default=void 0;var AMe=t=>t==null;Ny.default=AMe});var eX=C(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});_h.create=XV;_h.default=void 0;var lMe=ZV(po()),_V=fo(),$V=ZV(Cu());function ZV(t){return t&&t.__esModule?t:{default:t}}function XV(){return new Ly}var Ly=class extends lMe.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=_V.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,$V.default)(r)||r===!0}})}isFalse(e=_V.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,$V.default)(r)||r===!1}})}};_h.default=Ly;XV.prototype=Ly.prototype});var iX=C($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});$h.create=tX;$h.default=void 0;var Is=fo(),Co=rX(Cu()),cMe=rX(po());function rX(t){return t&&t.__esModule?t:{default:t}}var uMe=/^((([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,gMe=/^((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,fMe=/^(?:[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,hMe=t=>(0,Co.default)(t)||t===t.trim(),pMe={}.toString();function tX(){return new My}var My=class extends cMe.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===pMe?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=Is.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Co.default)(i)||i.length===this.resolve(e)}})}min(e,r=Is.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Co.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Is.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Co.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||Is.string.matches,params:{regex:e},test:o=>(0,Co.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Is.string.email){return this.matches(uMe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Is.string.url){return this.matches(gMe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Is.string.uuid){return this.matches(fMe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Is.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hMe})}lowercase(e=Is.string.lowercase){return this.transform(r=>(0,Co.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toLowerCase()})}uppercase(e=Is.string.uppercase){return this.transform(r=>(0,Co.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toUpperCase()})}};$h.default=My;tX.prototype=My.prototype});var oX=C(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.create=nX;ep.default=void 0;var il=fo(),nl=sX(Cu()),dMe=sX(po());function sX(t){return t&&t.__esModule?t:{default:t}}var CMe=t=>t!=+t;function nX(){return new Ty}var Ty=class extends dMe.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"&&!CMe(e)}min(e,r=il.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,nl.default)(i)||i>=this.resolve(e)}})}max(e,r=il.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,nl.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=il.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,nl.default)(i)||ithis.resolve(e)}})}positive(e=il.number.positive){return this.moreThan(0,e)}negative(e=il.number.negative){return this.lessThan(0,e)}integer(e=il.number.integer){return this.test({name:"integer",message:e,test:r=>(0,nl.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,nl.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,nl.default)(n)?n:Math[e](n))}};ep.default=Ty;nX.prototype=Ty.prototype});var aX=C(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});xv.default=mMe;var IMe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mMe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=IMe.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 cX=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.create=kv;tp.default=void 0;var EMe=Oy(aX()),AX=fo(),lX=Oy(Cu()),yMe=Oy(rl()),BMe=Oy(po());function Oy(t){return t&&t.__esModule?t:{default:t}}var vv=new Date(""),wMe=t=>Object.prototype.toString.call(t)==="[object Date]";function kv(){return new rp}var rp=class extends BMe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,EMe.default)(e),isNaN(e)?vv:new Date(e))})})}_typeCheck(e){return wMe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yMe.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=AX.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,lX.default)(n)||n>=this.resolve(i)}})}max(e,r=AX.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,lX.default)(n)||n<=this.resolve(i)}})}};tp.default=rp;rp.INVALID_DATE=vv;kv.prototype=rp.prototype;kv.INVALID_DATE=vv});var gX=C((Fst,uX)=>{function QMe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bMe(t){return function(e){return t==null?void 0:t[e]}}fX.exports=bMe});var dX=C((Nst,pX)=>{var DMe=hX(),SMe={\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"},xMe=DMe(SMe);pX.exports=xMe});var mX=C((Lst,CX)=>{var kMe=dX(),vMe=kc(),PMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,FMe="\\u0300-\\u036f",RMe="\\ufe20-\\ufe2f",NMe="\\u20d0-\\u20ff",LMe=FMe+RMe+NMe,MMe="["+LMe+"]",TMe=RegExp(MMe,"g");function OMe(t){return t=vMe(t),t&&t.replace(PMe,kMe).replace(TMe,"")}CX.exports=OMe});var EX=C((Mst,IX)=>{var KMe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UMe(t){return t.match(KMe)||[]}IX.exports=UMe});var BX=C((Tst,yX)=>{var HMe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function YMe(t){return HMe.test(t)}yX.exports=YMe});var HX=C((Ost,wX)=>{var QX="\\ud800-\\udfff",jMe="\\u0300-\\u036f",GMe="\\ufe20-\\ufe2f",qMe="\\u20d0-\\u20ff",JMe=jMe+GMe+qMe,bX="\\u2700-\\u27bf",DX="a-z\\xdf-\\xf6\\xf8-\\xff",WMe="\\xac\\xb1\\xd7\\xf7",zMe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VMe="\\u2000-\\u206f",XMe=" \\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",SX="A-Z\\xc0-\\xd6\\xd8-\\xde",ZMe="\\ufe0e\\ufe0f",xX=WMe+zMe+VMe+XMe,kX="['\u2019]",vX="["+xX+"]",_Me="["+JMe+"]",PX="\\d+",$Me="["+bX+"]",FX="["+DX+"]",RX="[^"+QX+xX+PX+bX+DX+SX+"]",eTe="\\ud83c[\\udffb-\\udfff]",tTe="(?:"+_Me+"|"+eTe+")",rTe="[^"+QX+"]",NX="(?:\\ud83c[\\udde6-\\uddff]){2}",LX="[\\ud800-\\udbff][\\udc00-\\udfff]",mu="["+SX+"]",iTe="\\u200d",MX="(?:"+FX+"|"+RX+")",nTe="(?:"+mu+"|"+RX+")",TX="(?:"+kX+"(?:d|ll|m|re|s|t|ve))?",OX="(?:"+kX+"(?:D|LL|M|RE|S|T|VE))?",KX=tTe+"?",UX="["+ZMe+"]?",sTe="(?:"+iTe+"(?:"+[rTe,NX,LX].join("|")+")"+UX+KX+")*",oTe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aTe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ATe=UX+KX+sTe,lTe="(?:"+[$Me,NX,LX].join("|")+")"+ATe,cTe=RegExp([mu+"?"+FX+"+"+TX+"(?="+[vX,mu,"$"].join("|")+")",nTe+"+"+OX+"(?="+[vX,mu+MX,"$"].join("|")+")",mu+"?"+MX+"+"+TX,mu+"+"+OX,aTe,oTe,PX,lTe].join("|"),"g");function uTe(t){return t.match(cTe)||[]}wX.exports=uTe});var jX=C((Kst,YX)=>{var gTe=EX(),fTe=BX(),hTe=kc(),pTe=HX();function dTe(t,e,r){return t=hTe(t),e=r?void 0:e,e===void 0?fTe(t)?pTe(t):gTe(t):t.match(e)||[]}YX.exports=dTe});var Pv=C((Ust,GX)=>{var CTe=gX(),mTe=mX(),ITe=jX(),ETe="['\u2019]",yTe=RegExp(ETe,"g");function BTe(t){return function(e){return CTe(ITe(mTe(e).replace(yTe,"")),t,"")}}GX.exports=BTe});var JX=C((Hst,qX)=>{var wTe=Pv(),QTe=wTe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});qX.exports=QTe});var zX=C((Yst,WX)=>{var bTe=SS(),DTe=Pv(),STe=DTe(function(t,e,r){return e=e.toLowerCase(),t+(r?bTe(e):e)});WX.exports=STe});var XX=C((jst,VX)=>{var xTe=Au(),kTe=rv(),vTe=mv();function PTe(t,e){var r={};return e=vTe(e,3),kTe(t,function(i,n,s){xTe(r,e(i,n,s),i)}),r}VX.exports=PTe});var _X=C((Gst,Fv)=>{Fv.exports=function(t){return ZX(FTe(t),t)};Fv.exports.array=ZX;function ZX(t,e){var r=t.length,i=new Array(r),n={},s=r,o=RTe(e),a=NTe(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 FTe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(Rv,"__esModule",{value:!0});Rv.default=LTe;var MTe=Ky(Kh()),TTe=Ky(_X()),OTe=zh(),KTe=Ky(rl()),UTe=Ky(cu());function Ky(t){return t&&t.__esModule?t:{default:t}}function LTe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,OTe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,MTe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),KTe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,UTe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return TTe.default.array(i,r).reverse()}});var tZ=C(Nv=>{"use strict";Object.defineProperty(Nv,"__esModule",{value:!0});Nv.default=HTe;function eZ(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 HTe(t){return(e,r)=>eZ(t,e)-eZ(t,r)}});var AZ=C(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.create=rZ;ip.default=void 0;var iZ=Es(Kh()),nZ=Es(JX()),YTe=Es(zX()),jTe=Es(XX()),GTe=Es(Iv()),qTe=zh(),sZ=fo(),JTe=Es($X()),oZ=Es(tZ()),WTe=Es(Cy()),zTe=Es($A()),Lv=Es(po());function Es(t){return t&&t.__esModule?t:{default:t}}function Iu(){return Iu=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function VTe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var XTe=(0,oZ.default)([]),Uy=class extends Lv.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=XTe,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 aZ(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=Iu({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,iZ.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 I="spec"in f?f.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?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(!zTe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!aZ(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let I=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,y=this.fields[h];if(y&&"validate"in y){y.validate(g[h],Iu({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,WTe.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=Iu({},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 Lv.default&&s instanceof Lv.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,oZ.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,JTe.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,qTe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,iZ.default)(s,e)&&(o=Iu({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=sZ.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=VTe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=sZ.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jTe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(YTe.default)}snakeCase(){return this.transformKeys(nZ.default)}constantCase(){return this.transformKeys(e=>(0,nZ.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,GTe.default)(this.fields,r=>r.describe()),e}};ip.default=Uy;function rZ(t){return new Uy(t)}rZ.prototype=Uy.prototype});var cZ=C(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.create=lZ;np.default=void 0;var Mv=Eu(Cu()),ZTe=Eu(cu()),_Te=Eu(Oh()),Tv=fo(),$Te=Eu(Cy()),eOe=Eu($A()),tOe=Eu(po());function Eu(t){return t&&t.__esModule?t:{default:t}}function Hy(){return Hy=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,Hy({},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(!eOe.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 I=0;Ic.validate(y,x,N)}(0,$Te.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,ZTe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,_Te.default)(e));return r.innerType=e,r}length(e,r=Tv.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Mv.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||Tv.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Mv.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||Tv.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Mv.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)}};np.default=Yy;lZ.prototype=Yy.prototype});var uZ=C(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.create=rOe;sp.default=void 0;var nOe=iOe(cu());function iOe(t){return t&&t.__esModule?t:{default:t}}function rOe(t){return new Ov(t)}var Ov=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nOe.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)}},sOe=Ov;sp.default=sOe});var gZ=C(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});Kv.default=oOe;var AOe=aOe(fo());function aOe(t){return t&&t.__esModule?t:{default:t}}function oOe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AOe.default[e][r]=t[e][r]})})}});var Hv=C(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.addMethod=lOe;Object.defineProperty(Gt,"MixedSchema",{enumerable:!0,get:function(){return fZ.default}});Object.defineProperty(Gt,"mixed",{enumerable:!0,get:function(){return fZ.create}});Object.defineProperty(Gt,"BooleanSchema",{enumerable:!0,get:function(){return Uv.default}});Object.defineProperty(Gt,"bool",{enumerable:!0,get:function(){return Uv.create}});Object.defineProperty(Gt,"boolean",{enumerable:!0,get:function(){return Uv.create}});Object.defineProperty(Gt,"StringSchema",{enumerable:!0,get:function(){return hZ.default}});Object.defineProperty(Gt,"string",{enumerable:!0,get:function(){return hZ.create}});Object.defineProperty(Gt,"NumberSchema",{enumerable:!0,get:function(){return pZ.default}});Object.defineProperty(Gt,"number",{enumerable:!0,get:function(){return pZ.create}});Object.defineProperty(Gt,"DateSchema",{enumerable:!0,get:function(){return dZ.default}});Object.defineProperty(Gt,"date",{enumerable:!0,get:function(){return dZ.create}});Object.defineProperty(Gt,"ObjectSchema",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(Gt,"object",{enumerable:!0,get:function(){return CZ.create}});Object.defineProperty(Gt,"ArraySchema",{enumerable:!0,get:function(){return mZ.default}});Object.defineProperty(Gt,"array",{enumerable:!0,get:function(){return mZ.create}});Object.defineProperty(Gt,"ref",{enumerable:!0,get:function(){return cOe.create}});Object.defineProperty(Gt,"lazy",{enumerable:!0,get:function(){return uOe.create}});Object.defineProperty(Gt,"ValidationError",{enumerable:!0,get:function(){return gOe.default}});Object.defineProperty(Gt,"reach",{enumerable:!0,get:function(){return fOe.default}});Object.defineProperty(Gt,"isSchema",{enumerable:!0,get:function(){return IZ.default}});Object.defineProperty(Gt,"setLocale",{enumerable:!0,get:function(){return hOe.default}});Object.defineProperty(Gt,"BaseSchema",{enumerable:!0,get:function(){return pOe.default}});var fZ=sl(VV()),Uv=sl(eX()),hZ=sl(iX()),pZ=sl(oX()),dZ=sl(cX()),CZ=sl(AZ()),mZ=sl(cZ()),cOe=rl(),uOe=uZ(),gOe=op($A()),fOe=op(Dv()),IZ=op(cu()),hOe=op(gZ()),pOe=op(po());function op(t){return t&&t.__esModule?t:{default:t}}function EZ(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return EZ=function(){return t},t}function sl(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=EZ();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 lOe(t,e,r){if(!t||!(0,IZ.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 bZ=C((cot,Ap)=>{"use strict";var mOe=process.env.TERM_PROGRAM==="Hyper",IOe=process.platform==="win32",BZ=process.platform==="linux",Yv={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"},wZ=Object.assign({},Yv,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),QZ=Object.assign({},Yv,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:BZ?"\u25B8":"\u276F",pointerSmall:BZ?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Ap.exports=IOe&&!mOe?wZ:QZ;Reflect.defineProperty(Ap.exports,"common",{enumerable:!1,value:Yv});Reflect.defineProperty(Ap.exports,"windows",{enumerable:!1,value:wZ});Reflect.defineProperty(Ap.exports,"other",{enumerable:!1,value:QZ})});var Yn=C((uot,jv)=>{"use strict";var EOe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yOe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,DZ=()=>{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=yOe,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(!EOe(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=bZ(),t.define=n,t};jv.exports=DZ();jv.exports.create=DZ});var $r=C(ht=>{"use strict";var BOe=Object.prototype.toString,Qn=Yn(),SZ=!1,Gv=[],xZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Qn.hasColor(t);var Gy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>BOe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.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};ht.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};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.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)};ht.unmute=t=>{let e=t.stack.find(i=>Qn.keys.color.includes(i));return e?Qn[e]:t.stack.find(i=>i.slice(2)==="bg")?Qn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i));if(e){let i=Qn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Qn[r.slice(2).toLowerCase()]||t:Qn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Qn[xZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=xZ[i];return n&&Qn["bg"+ht.pascal(n)]||t}return Qn.none};ht.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};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Gy(t))return e;if(!Gy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Gy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Gy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{SZ||(SZ=!0,Gv.forEach(n=>n()),r===!0&&process.exit(128+i))};Gv.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Gv.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var kZ=C(Bu=>{"use strict";Bu.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"};Bu.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Bu.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Bu.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Bu.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 FZ=C((hot,vZ)=>{"use strict";var PZ=require("readline"),wOe=kZ(),QOe=/^(?:\x1b)([a-zA-Z0-9])$/,bOe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,DOe={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 SOe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xOe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var qy=(t="",e={})=>{let r,i=v({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=QOe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bOe.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=DOe[s],i.shift=SOe(s)||i.shift,i.ctrl=xOe(s)||i.ctrl}return i};qy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=PZ.createInterface({terminal:!0,input:r});PZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,qy(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()}};qy.action=(t,e,r)=>{let i=v(v({},wOe),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)};vZ.exports=qy});var NZ=C((pot,RZ)=>{"use strict";RZ.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}),kOe(t,r,i)}};function kOe(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 TZ=C((dot,LZ)=>{"use strict";var{define:vOe,width:POe}=$r(),MZ=class{constructor(e){let r=e.options;vOe(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=POe(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=v({},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"}};LZ.exports=MZ});var KZ=C((Cot,OZ)=>{"use strict";var qv=$r(),Ur=Yn(),Jv={default:Ur.noop,noop:Ur.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||qv.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||qv.complement(this.primary)},primary:Ur.cyan,success:Ur.green,danger:Ur.magenta,strong:Ur.bold,warning:Ur.yellow,muted:Ur.dim,disabled:Ur.gray,dark:Ur.dim.gray,underline:Ur.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}};Jv.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ur.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ur.visible=t.styles.visible);let e=qv.merge({},Jv,t.styles);delete e.merge;for(let r of Object.keys(Ur))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});for(let r of Object.keys(Ur.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});return e};OZ.exports=Jv});var HZ=C((mot,UZ)=>{"use strict";var Wv=process.platform==="win32",mo=Yn(),FOe=$r(),zv=V(v({},mo.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:mo.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:mo.symbols.question,submitted:mo.symbols.check,cancelled:mo.symbols.cross},separator:{pending:mo.symbols.pointerSmall,submitted:mo.symbols.middot,cancelled:mo.symbols.middot},radio:{off:Wv?"( )":"\u25EF",on:Wv?"(*)":"\u25C9",disabled:Wv?"(|)":"\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"]});zv.merge=t=>{let e=FOe.merge({},mo.symbols,zv,t.symbols);return delete e.merge,e};UZ.exports=zv});var jZ=C((Iot,YZ)=>{"use strict";var ROe=KZ(),NOe=HZ(),LOe=$r();YZ.exports=t=>{t.options=LOe.merge({},t.options.theme,t.options),t.symbols=NOe.merge(t.options),t.styles=ROe.merge(t.options)}});var zZ=C((GZ,qZ)=>{"use strict";var JZ=process.env.TERM_PROGRAM==="Apple_Terminal",MOe=Yn(),Vv=$r(),jn=qZ.exports=GZ,Zt="[",WZ="\x07",Xv=!1,Ia=jn.code={bell:WZ,beep:WZ,beginning:`${Zt}G`,down:`${Zt}J`,esc:Zt,getPosition:`${Zt}6n`,hide:`${Zt}?25l`,line:`${Zt}2K`,lineEnd:`${Zt}K`,lineStart:`${Zt}1K`,restorePosition:Zt+(JZ?"8":"u"),savePosition:Zt+(JZ?"7":"s"),screen:`${Zt}2J`,show:`${Zt}?25h`,up:`${Zt}1J`},ol=jn.cursor={get hidden(){return Xv},hide(){return Xv=!0,Ia.hide},show(){return Xv=!1,Ia.show},forward:(t=1)=>`${Zt}${t}C`,backward:(t=1)=>`${Zt}${t}D`,nextLine:(t=1)=>`${Zt}E`.repeat(t),prevLine:(t=1)=>`${Zt}F`.repeat(t),up:(t=1)=>t?`${Zt}${t}A`:"",down:(t=1)=>t?`${Zt}${t}B`:"",right:(t=1)=>t?`${Zt}${t}C`:"",left:(t=1)=>t?`${Zt}${t}D`:"",to(t,e){return e?`${Zt}${e+1};${t+1}H`:`${Zt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?ol.left(-t):t>0?ol.right(t):"",r+=e<0?ol.up(-e):e>0?ol.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Vv.isPrimitive(i)?String(i):"",n=Vv.isPrimitive(n)?String(n):"",a=Vv.isPrimitive(a)?String(a):"",o){let l=jn.cursor.up(o)+jn.cursor.to(s.length),c=n.length-r;return c>0&&(l+=jn.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),jn.cursor.move(l)}}},Zv=jn.erase={screen:Ia.screen,up:Ia.up,down:Ia.down,line:Ia.line,lineEnd:Ia.lineEnd,lineStart:Ia.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return Zv.line+ol.to(0);let r=s=>[...MOe.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(Zv.line+ol.prevLine()).repeat(n-1)+Zv.line+ol.to(0)}});var wu=C((Eot,VZ)=>{"use strict";var TOe=require("events"),XZ=Yn(),_v=FZ(),OOe=NZ(),KOe=TZ(),UOe=jZ(),Ri=$r(),al=zZ(),Jy=class extends TOe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UOe(this),OOe(this),this.state=new KOe(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=YOe(this.options.margin),this.setMaxListeners(0),HOe(this)}async keypress(e,r={}){this.keypressed=!0;let i=_v.action(e,_v(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(al.code.beep)}cursorHide(){this.stdout.write(al.cursor.hide()),Ri.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(al.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(al.cursor.down(e)+al.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=al.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=XZ.unstyle(i);let n=XZ.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,Ri.isObject(e)&&(e=e[i.status]||e.pending),Ri.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ri.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 Ri.isObject(s)&&(s=s[i.status]||s.pending),Ri.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Ri.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=Ri.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"&&Ri.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 Ri.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 Ri.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 Ri.resolve(this,e,...r)}get base(){return Jy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ri.height(this.stdout,25)}get width(){return this.options.columns||Ri.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 HOe(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 YOe(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}VZ.exports=Jy});var $Z=C((yot,ZZ)=>{"use strict";var jOe=$r(),_Z={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 _Z.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}};ZZ.exports=(t,e={})=>{let r=jOe.merge({},_Z,e.roles);return r[t]||r.default}});var lp=C((Bot,e_)=>{"use strict";var GOe=Yn(),qOe=wu(),JOe=$Z(),Wy=$r(),{reorder:$v,scrollUp:WOe,scrollDown:zOe,isObject:t_,swap:VOe}=Wy,r_=class extends qOe{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");t_(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=JOe(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,Wy.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,GOe.unstyle(e.message).length));let o=v({},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=v({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 i_(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=$v(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=$v(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=$v(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=WOe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zOe(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){VOe(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(t_(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=Wy.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 i_(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 i_(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Wy.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}e_.exports=r_});var Ea=C((wot,n_)=>{"use strict";var XOe=lp(),eP=$r(),s_=class extends XOe{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"&&!eP.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&&!eP.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?(eP.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()}};n_.exports=s_});var A_=C((Qot,o_)=>{"use strict";var ZOe=Ea(),_Oe=(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}},a_=class extends ZOe{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=_Oe(this.input,e),i=this.choices;this.choices=i.map(n=>V(v({},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()}};o_.exports=a_});var rP=C((bot,l_)=>{"use strict";var tP=$r();l_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=tP.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=tP.isPrimitive(i)?`${i}`:"",r=tP.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 zy=C((Dot,c_)=>{"use strict";var $Oe=Yn(),eKe=Ea(),tKe=rP(),u_=class extends eKe{constructor(e){super(V(v({},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,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,this.state)!==!0&&(F="danger");let O=n[F](await this.indicator(e,r))+(e.pad||""),P=this.indent(e),J=()=>[P,O,B+y,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Oe.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let oe=this.styles.muted;c=tKe(this,{input:c,initial:o,pos:s,showCursor:m,color:oe})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(B=f(B)),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)}};c_.exports=u_});var iP=C((Sot,g_)=>{"use strict";var rKe=zy(),iKe=()=>{throw new Error("expected prompt to have a custom authenticate method")},f_=(t=iKe)=>{class e extends rKe{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 f_(i)}}return e};g_.exports=f_()});var d_=C((xot,h_)=>{"use strict";var nKe=iP();function sKe(t,e){return t.username===this.options.username&&t.password===this.options.password}var p_=(t=sKe)=>{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 nKe.create(t){constructor(n){super(V(v({},n),{choices:e}))}static create(n){return p_(n)}}return r};h_.exports=p_()});var Vy=C((kot,C_)=>{"use strict";var oKe=wu(),{isPrimitive:aKe,hasColor:AKe}=$r(),m_=class extends oKe{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 aKe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return AKe(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)}};C_.exports=m_});var y_=C((vot,I_)=>{"use strict";var lKe=Vy(),E_=class extends lKe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};I_.exports=E_});var Q_=C((Pot,B_)=>{"use strict";var cKe=Ea(),uKe=zy(),Qu=uKe.prototype,w_=class extends cKe{constructor(e){super(V(v({},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]():Qu.dispatch.call(this,e,r)}append(e,r){return Qu.append.call(this,e,r)}delete(e,r){return Qu.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?Qu.next.call(this):super.next()}prev(){return this.focused.editable?Qu.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?Qu.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)}};B_.exports=w_});var Al=C((Fot,b_)=>{"use strict";var gKe=wu(),fKe=rP(),{isPrimitive:hKe}=$r(),D_=class extends gKe{constructor(e){super(e);this.initial=hKe(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):fKe(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()}};b_.exports=D_});var x_=C((Rot,S_)=>{"use strict";var pKe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),Xy=t=>pKe(t).filter(Boolean);S_.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:Xy([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Xy([...s,r]),present:o};case"save":return{past:Xy([...i,r]),present:""};case"remove":return o=Xy(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var nP=C((Not,k_)=>{"use strict";var dKe=Al(),v_=x_(),P_=class extends dKe{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=v_(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=v_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};k_.exports=P_});var N_=C((Lot,F_)=>{"use strict";var CKe=Al(),R_=class extends CKe{format(){return""}};F_.exports=R_});var T_=C((Mot,L_)=>{"use strict";var mKe=Al(),M_=class extends mKe{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()}};L_.exports=M_});var U_=C((Tot,O_)=>{"use strict";var IKe=Ea(),K_=class extends IKe{constructor(e){super(V(v({},e),{multiple:!0}))}};O_.exports=K_});var sP=C((Oot,H_)=>{"use strict";var EKe=Al(),Y_=class extends EKe{constructor(e={}){super(v({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()}};H_.exports=Y_});var G_=C((Kot,j_)=>{j_.exports=sP()});var W_=C((Uot,q_)=>{"use strict";var yKe=Al(),J_=class extends yKe{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)):""}};q_.exports=J_});var Z_=C((Hot,z_)=>{"use strict";var BKe=Yn(),wKe=lp(),V_=$r(),X_=class extends wKe{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&&!V_.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=BKe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=V_.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)}};z_.exports=X_});var t$=C((Yot,__)=>{"use strict";var $_=Yn(),QKe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",e$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=QKe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},bKe=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:""});uF.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new e$(y),a.push(x)),x.lines.push(y.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}};__.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=v(v({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await bKe(e,i),a=oP("result",t,e),l=oP("format",t,e),c=oP("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(B,x,F,N)=>{let O=await c(B,x,F,N);return O===!1?"Invalid field "+F.name:O};for(let B of n){let x=B.value,F=B.key;if(B.type!=="template"){x&&(g.output+=x);continue}if(B.type==="template"){let N=s.find(K=>K.name===F);e.required===!0&&g.required.add(N.name);let O=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||B.inner;if(f){let K=await p(g.values[F],g,N,h);if(K&&typeof K=="string"||K===!1){g.invalid.set(F,K);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,h);g.output+=$_.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,h),O!==x?(g.values[F]=O,x=t.styles.typing(O),g.missing.delete(J)):(g.values[F]=void 0,O=`<${J}>`,x=t.styles.primary(O),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(O)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(O)),h===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading($_.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(` +`).map(B=>" "+B),I=s.length,y=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[B.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` +`),g.output}};function oP(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 n$=C((jot,r$)=>{"use strict";var DKe=Yn(),SKe=t$(),xKe=wu(),i$=class extends xKe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await SKe(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(B=>B!=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),I=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let y=[u,c,h,I,g.trim()];this.write(y.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=DKe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};r$.exports=i$});var a$=C((Got,s$)=>{"use strict";var kKe="(Use + to sort)",vKe=Ea(),o$=class extends vKe{constructor(e){super(V(v({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,kKe].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()}};s$.exports=o$});var c$=C((qot,A$)=>{"use strict";var PKe=lp(),l$=class extends PKe{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=FKe(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=x=>(x?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((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=h+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,f].filter(Boolean).join(" "),B=()=>[y(),p,I," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),B()}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 FKe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>v({},i));let r=[];for(let i=1;i{u$.exports=nP()});var p$=C((Wot,f$)=>{"use strict";var RKe=Vy(),h$=class extends RKe{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()}};f$.exports=h$});var m$=C((zot,d$)=>{"use strict";var NKe=Ea(),C$=class extends NKe{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)}}};d$.exports=C$});var E$=C(aP=>{"use strict";var I$=$r(),wr=(t,e)=>{I$.defineExport(aP,t,e),I$.defineExport(aP,t.toLowerCase(),e)};wr("AutoComplete",()=>A_());wr("BasicAuth",()=>d_());wr("Confirm",()=>y_());wr("Editable",()=>Q_());wr("Form",()=>zy());wr("Input",()=>nP());wr("Invisible",()=>N_());wr("List",()=>T_());wr("MultiSelect",()=>U_());wr("Numeral",()=>G_());wr("Password",()=>W_());wr("Scale",()=>Z_());wr("Select",()=>Ea());wr("Snippet",()=>n$());wr("Sort",()=>a$());wr("Survey",()=>c$());wr("Text",()=>g$());wr("Toggle",()=>p$());wr("Quiz",()=>m$())});var B$=C((Xot,y$)=>{y$.exports={ArrayPrompt:lp(),AuthPrompt:iP(),BooleanPrompt:Vy(),NumberPrompt:sP(),StringPrompt:Al()}});var up=C((Zot,w$)=>{"use strict";var Q$=require("assert"),AP=require("events"),ya=$r(),ys=class extends AP{constructor(e,r){super();this.options=ya.merge({},e),this.answers=v({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Q$.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(ya.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=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Q$(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||wu()}static get prompts(){return E$()}static get types(){return B$()}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 ya.mixinEmitter(e,new AP),e}};ya.mixinEmitter(ys,new AP);var lP=ys.prompts;for(let t of Object.keys(lP)){let e=t.toLowerCase(),r=i=>new lP[t](i).run();ys.prompt[e]=r,ys[e]=r,ys[t]||Reflect.defineProperty(ys,t,{get:()=>lP[t]})}var cp=t=>{ya.defineExport(ys,t,()=>ys.types[t])};cp("ArrayPrompt");cp("AuthPrompt");cp("BooleanPrompt");cp("NumberPrompt");cp("StringPrompt");w$.exports=ys});var L$=C((Uat,N$)=>{function OKe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var KKe=oy(),UKe=Au();function HKe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var YKe=bu(),jKe=fu();function GKe(t,e){return t&&YKe(e,jKe(e),t)}T$.exports=GKe});var U$=C((jat,K$)=>{function qKe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}K$.exports=qKe});var Y$=C((Gat,H$)=>{var JKe=Hn(),WKe=yy(),zKe=U$(),VKe=Object.prototype,XKe=VKe.hasOwnProperty;function ZKe(t){if(!JKe(t))return zKe(t);var e=WKe(t),r=[];for(var i in t)i=="constructor"&&(e||!XKe.call(t,i))||r.push(i);return r}H$.exports=ZKe});var Du=C((qat,j$)=>{var _Ke=ev(),$Ke=Y$(),eUe=qh();function tUe(t){return eUe(t)?_Ke(t,!0):$Ke(t)}j$.exports=tUe});var q$=C((Jat,G$)=>{var rUe=bu(),iUe=Du();function nUe(t,e){return t&&rUe(e,iUe(e),t)}G$.exports=nUe});var pP=C((mp,Su)=>{var sUe=On(),J$=typeof mp=="object"&&mp&&!mp.nodeType&&mp,W$=J$&&typeof Su=="object"&&Su&&!Su.nodeType&&Su,oUe=W$&&W$.exports===J$,z$=oUe?sUe.Buffer:void 0,V$=z$?z$.allocUnsafe:void 0;function aUe(t,e){if(e)return t.slice();var r=t.length,i=V$?V$(r):new t.constructor(r);return t.copy(i),i}Su.exports=aUe});var dP=C((Wat,X$)=>{function AUe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var lUe=bu(),cUe=wy();function uUe(t,e){return lUe(t,cUe(t),e)}Z$.exports=uUe});var Zy=C((Vat,$$)=>{var gUe=tv(),fUe=gUe(Object.getPrototypeOf,Object);$$.exports=fUe});var CP=C((Xat,eee)=>{var hUe=Ay(),pUe=Zy(),dUe=wy(),CUe=av(),mUe=Object.getOwnPropertySymbols,IUe=mUe?function(t){for(var e=[];t;)hUe(e,dUe(t)),t=pUe(t);return e}:CUe;eee.exports=IUe});var ree=C((Zat,tee)=>{var EUe=bu(),yUe=CP();function BUe(t,e){return EUe(t,yUe(t),e)}tee.exports=BUe});var nee=C((_at,iee)=>{var wUe=ov(),QUe=CP(),bUe=Du();function DUe(t){return wUe(t,bUe,QUe)}iee.exports=DUe});var oee=C(($at,see)=>{var SUe=Object.prototype,xUe=SUe.hasOwnProperty;function kUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&xUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}see.exports=kUe});var _y=C((eAt,aee)=>{var Aee=nv();function vUe(t){var e=new t.constructor(t.byteLength);return new Aee(e).set(new Aee(t)),e}aee.exports=vUe});var cee=C((tAt,lee)=>{var PUe=_y();function FUe(t,e){var r=e?PUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}lee.exports=FUe});var gee=C((rAt,uee)=>{var RUe=/\w*$/;function NUe(t){var e=new t.constructor(t.source,RUe.exec(t));return e.lastIndex=t.lastIndex,e}uee.exports=NUe});var Cee=C((iAt,fee)=>{var hee=NA(),pee=hee?hee.prototype:void 0,dee=pee?pee.valueOf:void 0;function LUe(t){return dee?Object(dee.call(t)):{}}fee.exports=LUe});var mP=C((nAt,mee)=>{var MUe=_y();function TUe(t,e){var r=e?MUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}mee.exports=TUe});var Eee=C((sAt,Iee)=>{var OUe=_y(),KUe=cee(),UUe=gee(),HUe=Cee(),YUe=mP(),jUe="[object Boolean]",GUe="[object Date]",qUe="[object Map]",JUe="[object Number]",WUe="[object RegExp]",zUe="[object Set]",VUe="[object String]",XUe="[object Symbol]",ZUe="[object ArrayBuffer]",_Ue="[object DataView]",$Ue="[object Float32Array]",e1e="[object Float64Array]",t1e="[object Int8Array]",r1e="[object Int16Array]",i1e="[object Int32Array]",n1e="[object Uint8Array]",s1e="[object Uint8ClampedArray]",o1e="[object Uint16Array]",a1e="[object Uint32Array]";function A1e(t,e,r){var i=t.constructor;switch(e){case ZUe:return OUe(t);case jUe:case GUe:return new i(+t);case _Ue:return KUe(t,r);case $Ue:case e1e:case t1e:case r1e:case i1e:case n1e:case s1e:case o1e:case a1e:return YUe(t,r);case qUe:return new i;case JUe:case VUe:return new i(t);case WUe:return UUe(t);case zUe:return new i;case XUe:return HUe(t)}}Iee.exports=A1e});var wee=C((oAt,yee)=>{var l1e=Hn(),Bee=Object.create,c1e=function(){function t(){}return function(e){if(!l1e(e))return{};if(Bee)return Bee(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();yee.exports=c1e});var IP=C((aAt,Qee)=>{var u1e=wee(),g1e=Zy(),f1e=yy();function h1e(t){return typeof t.constructor=="function"&&!f1e(t)?u1e(g1e(t)):{}}Qee.exports=h1e});var Dee=C((AAt,bee)=>{var p1e=Wh(),d1e=ls(),C1e="[object Map]";function m1e(t){return d1e(t)&&p1e(t)==C1e}bee.exports=m1e});var vee=C((lAt,See)=>{var I1e=Dee(),E1e=my(),xee=Iy(),kee=xee&&xee.isMap,y1e=kee?E1e(kee):I1e;See.exports=y1e});var Fee=C((cAt,Pee)=>{var B1e=Wh(),w1e=ls(),Q1e="[object Set]";function b1e(t){return w1e(t)&&B1e(t)==Q1e}Pee.exports=b1e});var Mee=C((uAt,Ree)=>{var D1e=Fee(),S1e=my(),Nee=Iy(),Lee=Nee&&Nee.isSet,x1e=Lee?S1e(Lee):D1e;Ree.exports=x1e});var Hee=C((gAt,Tee)=>{var k1e=Jh(),v1e=L$(),P1e=oy(),F1e=O$(),R1e=q$(),N1e=pP(),L1e=dP(),M1e=_$(),T1e=ree(),O1e=Av(),K1e=nee(),U1e=Wh(),H1e=oee(),Y1e=Eee(),j1e=IP(),G1e=dn(),q1e=Yh(),J1e=vee(),W1e=Hn(),z1e=Mee(),V1e=fu(),X1e=Du(),Z1e=1,_1e=2,$1e=4,Oee="[object Arguments]",e2e="[object Array]",t2e="[object Boolean]",r2e="[object Date]",i2e="[object Error]",Kee="[object Function]",n2e="[object GeneratorFunction]",s2e="[object Map]",o2e="[object Number]",Uee="[object Object]",a2e="[object RegExp]",A2e="[object Set]",l2e="[object String]",c2e="[object Symbol]",u2e="[object WeakMap]",g2e="[object ArrayBuffer]",f2e="[object DataView]",h2e="[object Float32Array]",p2e="[object Float64Array]",d2e="[object Int8Array]",C2e="[object Int16Array]",m2e="[object Int32Array]",I2e="[object Uint8Array]",E2e="[object Uint8ClampedArray]",y2e="[object Uint16Array]",B2e="[object Uint32Array]",Lt={};Lt[Oee]=Lt[e2e]=Lt[g2e]=Lt[f2e]=Lt[t2e]=Lt[r2e]=Lt[h2e]=Lt[p2e]=Lt[d2e]=Lt[C2e]=Lt[m2e]=Lt[s2e]=Lt[o2e]=Lt[Uee]=Lt[a2e]=Lt[A2e]=Lt[l2e]=Lt[c2e]=Lt[I2e]=Lt[E2e]=Lt[y2e]=Lt[B2e]=!0;Lt[i2e]=Lt[Kee]=Lt[u2e]=!1;function $y(t,e,r,i,n,s){var o,a=e&Z1e,l=e&_1e,c=e&$1e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!W1e(t))return t;var u=G1e(t);if(u){if(o=H1e(t),!a)return L1e(t,o)}else{var g=U1e(t),f=g==Kee||g==n2e;if(q1e(t))return N1e(t,a);if(g==Uee||g==Oee||f&&!n){if(o=l||f?{}:j1e(t),!a)return l?T1e(t,R1e(o,t)):M1e(t,F1e(o,t))}else{if(!Lt[g])return n?t:{};o=Y1e(t,g,a)}}s||(s=new k1e);var h=s.get(t);if(h)return h;s.set(t,o),z1e(t)?t.forEach(function(I){o.add($y(I,e,r,I,t,s))}):J1e(t)&&t.forEach(function(I,y){o.set(y,$y(I,e,r,y,t,s))});var p=c?l?K1e:O1e:l?X1e:V1e,m=u?void 0:p(t);return v1e(m||t,function(I,y){m&&(y=I,I=t[y]),P1e(o,y,$y(I,e,r,y,t,s))}),o}Tee.exports=$y});var EP=C((fAt,Yee)=>{var w2e=Hee(),Q2e=1,b2e=4;function D2e(t){return w2e(t,Q2e|b2e)}Yee.exports=D2e});var Gee=C((hAt,jee)=>{var S2e=vk();function x2e(t,e,r){return t==null?t:S2e(t,e,r)}jee.exports=x2e});var Xee=C((EAt,Vee)=>{function k2e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Vee.exports=k2e});var _ee=C((yAt,Zee)=>{var v2e=Fh(),P2e=wS();function F2e(t,e){return e.length<2?t:v2e(t,P2e(e,0,-1))}Zee.exports=F2e});var ete=C((BAt,$ee)=>{var R2e=au(),N2e=Xee(),L2e=_ee(),M2e=_A();function T2e(t,e){return e=R2e(e,t),t=L2e(t,e),t==null||delete t[M2e(N2e(e))]}$ee.exports=T2e});var rte=C((wAt,tte)=>{var O2e=ete();function K2e(t,e){return t==null?!0:O2e(t,e)}tte.exports=K2e});var ute=C(($At,cte)=>{cte.exports={name:"@yarnpkg/cli",version:"3.0.2",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0","@yarnpkg/fslib":"workspace:^2.5.2","@yarnpkg/libzip":"workspace:^2.2.2","@yarnpkg/parsers":"workspace:^2.4.0","@yarnpkg/plugin-compat":"workspace:^3.0.1","@yarnpkg/plugin-dlx":"workspace:^3.0.0","@yarnpkg/plugin-essentials":"workspace:^3.0.0","@yarnpkg/plugin-file":"workspace:^2.2.1","@yarnpkg/plugin-git":"workspace:^2.4.0","@yarnpkg/plugin-github":"workspace:^2.2.0","@yarnpkg/plugin-http":"workspace:^2.1.3","@yarnpkg/plugin-init":"workspace:^3.0.0","@yarnpkg/plugin-link":"workspace:^2.1.2","@yarnpkg/plugin-nm":"workspace:^3.0.0","@yarnpkg/plugin-npm":"workspace:^2.5.0","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0","@yarnpkg/plugin-pack":"workspace:^3.0.0","@yarnpkg/plugin-patch":"workspace:^3.0.0","@yarnpkg/plugin-pnp":"workspace:^3.0.2","@yarnpkg/shell":"workspace:^3.0.0",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"^4.4.2"},peerDependencies:{"@yarnpkg/core":"^3.0.0"},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"]}},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 WP=C((Tht,are)=>{"use strict";are.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 zP=C((Oht,Are)=>{"use strict";var fHe=WP();function lre(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=fHe(t);return t=t.substring(t.indexOf("://")+3),lre(e)?!0:t.indexOf("@"){"use strict";var hHe=WP(),pHe=zP(),dHe=require("querystring");function CHe(t){t=(t||"").trim();var e={protocols:hHe(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||(pHe(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=dHe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}cre.exports=CHe});var hre=C((Uht,gre)=>{"use strict";var mHe=typeof URL=="undefined"?require("url").URL:URL,fre=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);gre.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new mHe(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.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{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];fre(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()])fre(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var dre=C((Hht,pre)=>{"use strict";var IHe=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},EHe=ure(),yHe=hre();function BHe(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":IHe(e))!=="object"&&(e={stripFragment:!1}),t=yHe(t,e));var r=EHe(t);return r}pre.exports=BHe});var Ire=C((Yht,Cre)=>{"use strict";var wHe=dre(),mre=zP();function QHe(t){var e=wHe(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])),mre(e.protocols)||mre(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}Cre.exports=QHe});var yre=C((jht,Ere)=>{"use strict";var bHe=Ire();function VP(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=bHe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return VP.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}VP.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?DHe(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 DHe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}Ere.exports=VP});var lF=C((Npt,kre)=>{var LHe=Au(),MHe=nu();function THe(t,e,r){(r!==void 0&&!MHe(t[e],r)||r===void 0&&!(e in t))&&LHe(t,e,r)}kre.exports=THe});var Pre=C((Lpt,vre)=>{var OHe=qh(),KHe=ls();function UHe(t){return KHe(t)&&OHe(t)}vre.exports=UHe});var Nre=C((Mpt,Fre)=>{var HHe=LA(),YHe=Zy(),jHe=ls(),GHe="[object Object]",qHe=Function.prototype,JHe=Object.prototype,Rre=qHe.toString,WHe=JHe.hasOwnProperty,zHe=Rre.call(Object);function VHe(t){if(!jHe(t)||HHe(t)!=GHe)return!1;var e=YHe(t);if(e===null)return!0;var r=WHe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Rre.call(r)==zHe}Fre.exports=VHe});var cF=C((Tpt,Lre)=>{function XHe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Lre.exports=XHe});var Tre=C((Opt,Mre)=>{var ZHe=bu(),_He=Du();function $He(t){return ZHe(t,_He(t))}Mre.exports=$He});var jre=C((Kpt,Ore)=>{var Kre=lF(),eYe=pP(),tYe=mP(),rYe=dP(),iYe=IP(),Ure=Nh(),Hre=dn(),nYe=Pre(),sYe=Yh(),oYe=iy(),aYe=Hn(),AYe=Nre(),lYe=Ey(),Yre=cF(),cYe=Tre();function uYe(t,e,r,i,n,s,o){var a=Yre(t,r),l=Yre(e,r),c=o.get(l);if(c){Kre(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=Hre(l),h=!f&&sYe(l),p=!f&&!h&&lYe(l);u=l,f||h||p?Hre(a)?u=a:nYe(a)?u=rYe(a):h?(g=!1,u=eYe(l,!0)):p?(g=!1,u=tYe(l,!0)):u=[]:AYe(l)||Ure(l)?(u=a,Ure(a)?u=cYe(a):(!aYe(a)||oYe(a))&&(u=iYe(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Kre(t,r,u)}Ore.exports=uYe});var Jre=C((Upt,Gre)=>{var gYe=Jh(),fYe=lF(),hYe=_k(),pYe=jre(),dYe=Hn(),CYe=Du(),mYe=cF();function qre(t,e,r,i,n){t!==e&&hYe(e,function(s,o){if(n||(n=new gYe),dYe(s))pYe(t,e,o,r,qre,i,n);else{var a=i?i(mYe(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),fYe(t,o,a)}},CYe)}Gre.exports=qre});var zre=C((Hpt,Wre)=>{var IYe=ly(),EYe=Rk(),yYe=Nk();function BYe(t,e){return yYe(EYe(t,e,IYe),t+"")}Wre.exports=BYe});var Xre=C((Ypt,Vre)=>{var wYe=nu(),QYe=qh(),bYe=Rh(),DYe=Hn();function SYe(t,e,r){if(!DYe(r))return!1;var i=typeof e;return(i=="number"?QYe(r)&&bYe(e,r.length):i=="string"&&e in r)?wYe(r[e],t):!1}Vre.exports=SYe});var _re=C((jpt,Zre)=>{var xYe=zre(),kYe=Xre();function vYe(t){return xYe(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&&kYe(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var PYe=Jre(),FYe=_re(),RYe=FYe(function(t,e,r){PYe(t,e,r)});$re.exports=RYe});var pie=C((Vdt,hie)=>{var wF;hie.exports=()=>(typeof wF=="undefined"&&(wF=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),wF)});var yie=C(bF=>{function Fu(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Fu(n[u],c))?g.replace("*",l.substring(u.length-1)):gl(i,l,1)}return gl(i,l)}}function oje(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){RF&&typeof RF=="object"&&typeof NF!="undefined"?NF.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 Lie=C((bmt,Fie)=>{"use strict";LF.ifExists=dje;var Lu=require("util"),bn=require("path"),Rie=Pie(),Cje=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,mje={createPwshFile:!0,createCmdFile:Rie(),fs:require("fs")},Ije=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Nie(t){let e=v(v({},mje),t),r=e.fs;return e.fs_={chmod:r.chmod?Lu.promisify(r.chmod):async()=>{},mkdir:Lu.promisify(r.mkdir),readFile:Lu.promisify(r.readFile),stat:Lu.promisify(r.stat),unlink:Lu.promisify(r.unlink),writeFile:Lu.promisify(r.writeFile)},e}async function LF(t,e,r){let i=Nie(r);await i.fs_.stat(t),await Eje(t,e,i)}function dje(t,e,r){return LF(t,e,r).catch(()=>{})}function yje(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Eje(t,e,r){let i=await Qje(t,r);return await Bje(e,r),wje(t,e,i,r)}function Bje(t,e){return e.fs_.mkdir(bn.dirname(t),{recursive:!0})}function wje(t,e,r,i){let n=Nie(i),s=[{generator:Sje,extension:""}];return n.createCmdFile&&s.push({generator:Dje,extension:".cmd"}),n.createPwshFile&&s.push({generator:xje,extension:".ps1"}),Promise.all(s.map(o=>bje(t,e+o.extension,r,o.generator,n)))}function kje(t,e){return yje(t,e)}function Pje(t,e){return vje(t,e)}async function Qje(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Cje);if(!n){let s=bn.extname(t).toLowerCase();return{program:Ije.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function bje(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 kje(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),Pje(e,n)}function Dje(t,e,r){let n=bn.relative(bn.dirname(e),t).split("/").join("\\"),s=bn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=MF(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 Sje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=MF(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 xje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=MF(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 vje(t,e){return e.fs_.chmod(t,493)}function MF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(bn.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}Fie.exports=LF});var rR=C((aEt,_ie)=>{_ie.exports=require("stream")});var rne=C((AEt,$ie)=>{"use strict";function ene(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 Zje(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 fB.alloc(0);for(var i=fB.allocUnsafe(r>>>0),n=this.head,s=0;n;)iGe(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=fB.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:rGe,value:function(r,i){return iR(this,Zje({},i,{depth:0,customInspect:!1}))}}]),t}()});var sR=C((lEt,ine)=>{"use strict";function nGe(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(nR,this,t)):process.nextTick(nR,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(hB,r):(r._writableState.errorEmitted=!0,process.nextTick(nne,r,s)):process.nextTick(nne,r,s):e?(process.nextTick(hB,r),e(s)):process.nextTick(hB,r)}),this)}function nne(t,e){nR(t,e),hB(t)}function hB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function sGe(){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 nR(t,e){t.emit("error",e)}function oGe(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}ine.exports={destroy:nGe,undestroy:sGe,errorOrDestroy:oGe}});var ka=C((cEt,sne)=>{"use strict";var one={};function Dn(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,one[t]=n}function ane(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 aGe(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function AGe(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function lGe(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Dn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Dn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&aGe(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(AGe(t," argument"))n=`The ${t} ${i} ${ane(e,"type")}`;else{let s=lGe(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${ane(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Dn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Dn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Dn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Dn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Dn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Dn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Dn("ERR_STREAM_WRITE_AFTER_END","write after end");Dn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Dn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Dn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");sne.exports.codes=one});var oR=C((uEt,Ane)=>{"use strict";var cGe=ka().codes.ERR_INVALID_OPT_VALUE;function uGe(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function gGe(t,e,r,i){var n=uGe(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new cGe(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Ane.exports={getHighWaterMark:gGe}});var lne=C((gEt,aR)=>{typeof Object.create=="function"?aR.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:aR.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 va=C((fEt,AR)=>{try{if(lR=require("util"),typeof lR.inherits!="function")throw"";AR.exports=lR.inherits}catch(t){AR.exports=lne()}var lR});var une=C((hEt,cne)=>{cne.exports=require("util").deprecate});var gR=C((pEt,gne)=>{"use strict";gne.exports=tr;function fne(t){var e=this;this.next=null,this.entry=null,this.finish=function(){fGe(e,t)}}var Tu;tr.WritableState=od;var hGe={deprecate:une()},hne=rR(),pB=require("buffer").Buffer,pGe=global.Uint8Array||function(){};function dGe(t){return pB.from(t)}function CGe(t){return pB.isBuffer(t)||t instanceof pGe}var cR=sR(),mGe=oR(),IGe=mGe.getHighWaterMark,Pa=ka().codes,EGe=Pa.ERR_INVALID_ARG_TYPE,yGe=Pa.ERR_METHOD_NOT_IMPLEMENTED,BGe=Pa.ERR_MULTIPLE_CALLBACK,wGe=Pa.ERR_STREAM_CANNOT_PIPE,QGe=Pa.ERR_STREAM_DESTROYED,bGe=Pa.ERR_STREAM_NULL_VALUES,DGe=Pa.ERR_STREAM_WRITE_AFTER_END,SGe=Pa.ERR_UNKNOWN_ENCODING,Ou=cR.errorOrDestroy;va()(tr,hne);function xGe(){}function od(t,e,r){Tu=Tu||pl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Tu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=IGe(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){kGe(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 fne(this)}od.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(od.prototype,"buffer",{get:hGe.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var dB;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(dB=Function.prototype[Symbol.hasInstance],Object.defineProperty(tr,Symbol.hasInstance,{value:function(e){return dB.call(this,e)?!0:this!==tr?!1:e&&e._writableState instanceof od}})):dB=function(e){return e instanceof this};function tr(t){Tu=Tu||pl();var e=this instanceof Tu;if(!e&&!dB.call(tr,this))return new tr(t);this._writableState=new od(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)),hne.call(this)}tr.prototype.pipe=function(){Ou(this,new wGe)};function vGe(t,e){var r=new DGe;Ou(t,r),process.nextTick(e,r)}function PGe(t,e,r,i){var n;return r===null?n=new bGe:typeof r!="string"&&!e.objectMode&&(n=new EGe("chunk",["string","Buffer"],r)),n?(Ou(t,n),process.nextTick(i,n),!1):!0}tr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&CGe(t);return s&&!pB.isBuffer(t)&&(t=dGe(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=xGe),i.ending?vGe(this,r):(s||PGe(this,i,t,r))&&(i.pendingcb++,n=FGe(this,i,s,t,e,r)),n};tr.prototype.cork=function(){this._writableState.corked++};tr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&pne(this,t))};tr.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 SGe(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function RGe(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=pB.from(e,r)),e}Object.defineProperty(tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function FGe(t,e,r,i,n,s){if(!r){var o=RGe(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 UGe=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};mne.exports=ws;var Ine=fR(),hR=gR();va()(ws,Ine);for(pR=UGe(hR.prototype),CB=0;CB{var IB=require("buffer"),wo=IB.Buffer;function yne(t,e){for(var r in t)e[r]=t[r]}wo.from&&wo.alloc&&wo.allocUnsafe&&wo.allocUnsafeSlow?Ene.exports=IB:(yne(IB,dR),dR.Buffer=Ku);function Ku(t,e,r){return wo(t,e,r)}yne(wo,Ku);Ku.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return wo(t,e,r)};Ku.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=wo(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};Ku.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return wo(t)};Ku.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return IB.SlowBuffer(t)}});var IR=C(wne=>{"use strict";var CR=Bne().Buffer,Qne=CR.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 jGe(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 GGe(t){var e=jGe(t);if(typeof e!="string"&&(CR.isEncoding===Qne||!Qne(t)))throw new Error("Unknown encoding: "+t);return e||t}wne.StringDecoder=Ad;function Ad(t){this.encoding=GGe(t);var e;switch(this.encoding){case"utf16le":this.text=JGe,this.end=WGe,e=4;break;case"utf8":this.fillLast=qGe,e=4;break;case"base64":this.text=zGe,this.end=VGe,e=3;break;default:this.write=XGe,this.end=ZGe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=CR.allocUnsafe(e)}Ad.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 eqe(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 tqe(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 qGe(t){var e=this.lastTotal-this.lastNeed,r=tqe(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 $Ge(t,e){var r=eqe(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 _Ge(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function JGe(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 WGe(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 zGe(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 VGe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function XGe(t){return t.toString(this.encoding)}function ZGe(t){return t&&t.length?this.write(t):""}});var EB=C((mEt,bne)=>{"use strict";var Dne=ka().codes.ERR_STREAM_PREMATURE_CLOSE;function rqe(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 yB;function Fa(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var sqe=EB(),Ra=Symbol("lastResolve"),dl=Symbol("lastReject"),ld=Symbol("error"),BB=Symbol("ended"),Cl=Symbol("lastPromise"),ER=Symbol("handlePromise"),ml=Symbol("stream");function Na(t,e){return{value:t,done:e}}function oqe(t){var e=t[Ra];if(e!==null){var r=t[ml].read();r!==null&&(t[Cl]=null,t[Ra]=null,t[dl]=null,e(Na(r,!1)))}}function aqe(t){process.nextTick(oqe,t)}function Aqe(t,e){return function(r,i){t.then(function(){if(e[BB]){r(Na(void 0,!0));return}e[ER](r,i)},i)}}var lqe=Object.getPrototypeOf(function(){}),cqe=Object.setPrototypeOf((yB={get stream(){return this[ml]},next:function(){var e=this,r=this[ld];if(r!==null)return Promise.reject(r);if(this[BB])return Promise.resolve(Na(void 0,!0));if(this[ml].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[ld]?a(e[ld]):o(Na(void 0,!0))})});var i=this[Cl],n;if(i)n=new Promise(Aqe(i,this));else{var s=this[ml].read();if(s!==null)return Promise.resolve(Na(s,!1));n=new Promise(this[ER])}return this[Cl]=n,n}},Fa(yB,Symbol.asyncIterator,function(){return this}),Fa(yB,"return",function(){var e=this;return new Promise(function(r,i){e[ml].destroy(null,function(n){if(n){i(n);return}r(Na(void 0,!0))})})}),yB),lqe),uqe=function(e){var r,i=Object.create(cqe,(r={},Fa(r,ml,{value:e,writable:!0}),Fa(r,Ra,{value:null,writable:!0}),Fa(r,dl,{value:null,writable:!0}),Fa(r,ld,{value:null,writable:!0}),Fa(r,BB,{value:e._readableState.endEmitted,writable:!0}),Fa(r,ER,{value:function(s,o){var a=i[ml].read();a?(i[Cl]=null,i[Ra]=null,i[dl]=null,s(Na(a,!1))):(i[Ra]=s,i[dl]=o)},writable:!0}),r));return i[Cl]=null,sqe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[dl];s!==null&&(i[Cl]=null,i[Ra]=null,i[dl]=null,s(n)),i[ld]=n;return}var o=i[Ra];o!==null&&(i[Cl]=null,i[Ra]=null,i[dl]=null,o(Na(void 0,!0))),i[BB]=!0}),e.on("readable",aqe.bind(null,i)),i};xne.exports=uqe});var Rne=C((EEt,vne)=>{"use strict";function Pne(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 gqe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Pne(s,i,n,o,a,"next",l)}function a(l){Pne(s,i,n,o,a,"throw",l)}o(void 0)})}}function Fne(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 hqe(t){for(var e=1;e{"use strict";Nne.exports=Ct;var Uu;Ct.ReadableState=Lne;var yEt=require("events").EventEmitter,Mne=function(e,r){return e.listeners(r).length},cd=rR(),wB=require("buffer").Buffer,Cqe=global.Uint8Array||function(){};function mqe(t){return wB.from(t)}function Iqe(t){return wB.isBuffer(t)||t instanceof Cqe}var yR=require("util"),ut;yR&&yR.debuglog?ut=yR.debuglog("stream"):ut=function(){};var Eqe=rne(),BR=sR(),yqe=oR(),Bqe=yqe.getHighWaterMark,QB=ka().codes,wqe=QB.ERR_INVALID_ARG_TYPE,Qqe=QB.ERR_STREAM_PUSH_AFTER_EOF,bqe=QB.ERR_METHOD_NOT_IMPLEMENTED,Dqe=QB.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Hu,wR,QR;va()(Ct,cd);var ud=BR.errorOrDestroy,bR=["error","close","destroy","pause","resume"];function Sqe(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 Lne(t,e,r){Uu=Uu||pl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Uu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Bqe(this,t,"readableHighWaterMark",r),this.buffer=new Eqe,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&&(Hu||(Hu=IR().StringDecoder),this.decoder=new Hu(t.encoding),this.encoding=t.encoding)}function Ct(t){if(Uu=Uu||pl(),!(this instanceof Ct))return new Ct(t);var e=this instanceof Uu;this._readableState=new Lne(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),cd.call(this)}Object.defineProperty(Ct.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ct.prototype.destroy=BR.destroy;Ct.prototype._undestroy=BR.undestroy;Ct.prototype._destroy=function(t,e){e(t)};Ct.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=wB.from(t,e),e=""),i=!0),Tne(this,t,e,!1,i)};Ct.prototype.unshift=function(t){return Tne(this,t,null,!0,!1)};function Tne(t,e,r,i,n){ut("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,kqe(t,s);else{var o;if(n||(o=xqe(s,e)),o)ud(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==wB.prototype&&(e=mqe(e)),i)s.endEmitted?ud(t,new Dqe):DR(t,s,e,!0);else if(s.ended)ud(t,new Qqe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?DR(t,s,e,!1):SR(t,s)):DR(t,s,e,!1)}else i||(s.reading=!1,SR(t,s))}return!s.ended&&(s.length=One?t=One:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function Kne(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=vqe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ct.prototype.read=function(t){ut("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 ut("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?xR(this):bB(this),null;if(t=Kne(t,e),t===0&&e.ended)return e.length===0&&xR(this),null;var i=e.needReadable;ut("need readable",i),(e.length===0||e.length-t0?n=Une(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&&xR(this)),n!==null&&this.emit("data",n),n};function kqe(t,e){if(ut("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?bB(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Hne(t)))}}function bB(t){var e=t._readableState;ut("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ut("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Hne,t))}function Hne(t){var e=t._readableState;ut("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,kR(t)}function SR(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(Pqe,t,e))}function Pqe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Yne(i.pipes,t)!==-1)&&!c&&(ut("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(I){ut("onerror",I),m(),t.removeListener("error",f),Mne(t,"error")===0&&ud(t,I)}Sqe(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){ut("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){ut("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(ut("pipe resume"),r.resume()),t};function Fqe(t){return function(){var r=t._readableState;ut("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Mne(t,"data")&&(r.flowing=!0,kR(t))}}Ct.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,ut("on readable",i.length,i.reading),i.length?bB(this):i.reading||process.nextTick(Rqe,this)),r};Ct.prototype.addListener=Ct.prototype.on;Ct.prototype.removeListener=function(t,e){var r=cd.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(jne,this),r};Ct.prototype.removeAllListeners=function(t){var e=cd.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(jne,this),e};function jne(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 Rqe(t){ut("readable nexttick read 0"),t.read(0)}Ct.prototype.resume=function(){var t=this._readableState;return t.flowing||(ut("resume"),t.flowing=!t.readableListening,Nqe(this,t)),t.paused=!1,this};function Nqe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(Lqe,t,e))}function Lqe(t,e){ut("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),kR(t),e.flowing&&!e.reading&&t.read(0)}Ct.prototype.pause=function(){return ut("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ut("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function kR(t){var e=t._readableState;for(ut("flow",e.flowing);e.flowing&&t.read()!==null;);}Ct.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(ut("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(ut("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 xR(t){var e=t._readableState;ut("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Mqe,e,t))}function Mqe(t,e){if(ut("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"&&(Ct.from=function(t,e){return QR===void 0&&(QR=Rne()),QR(Ct,t,e)});function Yne(t,e){for(var r=0,i=t.length;r{"use strict";Gne.exports=Qo;var DB=ka().codes,Tqe=DB.ERR_METHOD_NOT_IMPLEMENTED,Oqe=DB.ERR_MULTIPLE_CALLBACK,Kqe=DB.ERR_TRANSFORM_ALREADY_TRANSFORMING,Uqe=DB.ERR_TRANSFORM_WITH_LENGTH_0,SB=pl();va()(Qo,SB);function Hqe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new Oqe);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";Jne.exports=gd;var Wne=vR();va()(gd,Wne);function gd(t){if(!(this instanceof gd))return new gd(t);Wne.call(this,t)}gd.prototype._transform=function(t,e,r){r(null,t)}});var $ne=C((bEt,Vne)=>{"use strict";var PR;function jqe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Xne=ka().codes,Gqe=Xne.ERR_MISSING_ARGS,qqe=Xne.ERR_STREAM_DESTROYED;function Zne(t){if(t)throw t}function Jqe(t){return t.setHeader&&typeof t.abort=="function"}function Wqe(t,e,r,i){i=jqe(i);var n=!1;t.on("close",function(){n=!0}),PR===void 0&&(PR=EB()),PR(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,Jqe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new qqe("pipe"))}}}function _ne(t){t()}function zqe(t,e){return t.pipe(e)}function Vqe(t){return!t.length||typeof t[t.length-1]!="function"?Zne:t.pop()}function Xqe(){for(var t=arguments.length,e=new Array(t),r=0;r0;return Wqe(o,l,c,function(u){n||(n=u),u&&s.forEach(_ne),!l&&(s.forEach(_ne),i(n))})});return e.reduce(zqe)}Vne.exports=Xqe});var Yu=C((Sn,fd)=>{var hd=require("stream");process.env.READABLE_STREAM==="disable"&&hd?(fd.exports=hd.Readable,Object.assign(fd.exports,hd),fd.exports.Stream=hd):(Sn=fd.exports=fR(),Sn.Stream=hd||Sn,Sn.Readable=Sn,Sn.Writable=gR(),Sn.Duplex=pl(),Sn.Transform=vR(),Sn.PassThrough=zne(),Sn.finished=EB(),Sn.pipeline=$ne())});var rse=C((DEt,ese)=>{"use strict";var{Buffer:Jn}=require("buffer"),tse=Symbol.for("BufferList");function Tt(t){if(!(this instanceof Tt))return new Tt(t);Tt._init.call(this,t)}Tt._init=function(e){Object.defineProperty(this,tse,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Tt.prototype._new=function(e){return new Tt(e)};Tt.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]]};Tt.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)};Tt.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||Jn.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]:Jn.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};Tt.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)};Tt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Tt.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};Tt.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};Tt.prototype._match=function(t,e){if(this.length-t{"use strict";var FR=Yu().Duplex,Zqe=va(),pd=rse();function ei(t){if(!(this instanceof ei))return new ei(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}pd._init.call(this,t),FR.call(this)}Zqe(ei,FR);Object.assign(ei.prototype,pd.prototype);ei.prototype._new=function(e){return new ei(e)};ei.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};ei.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)};ei.prototype.end=function(e){FR.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};ei.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};ei.prototype._isBufferList=function(e){return e instanceof ei||e instanceof pd||ei.isBufferList(e)};ei.isBufferList=pd.isBufferList;xB.exports=ei;xB.exports.BufferListStream=ei;xB.exports.BufferList=pd});var LR=C(ju=>{var _qe=Buffer.alloc,$qe="0000000000000000000",eJe="7777777777777777777",nse="0".charCodeAt(0),sse=Buffer.from("ustar\0","binary"),tJe=Buffer.from("00","binary"),rJe=Buffer.from("ustar ","binary"),iJe=Buffer.from(" \0","binary"),nJe=parseInt("7777",8),dd=257,RR=263,sJe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},oJe=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},aJe=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},ose=function(t,e,r,i){for(;re?eJe.slice(0,e)+" ":$qe.slice(0,e-t.length)+t+" "};function AJe(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};ju.decodeLongPath=function(t,e){return Gu(t,0,t.length,e)};ju.encodePax=function(t){var e="";t.name&&(e+=NR(" path="+t.name+` +`)),t.linkname&&(e+=NR(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=NR(" "+i+"="+r[i]+` +`);return Buffer.from(e)};ju.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(La(t.mode&nJe,6),100),e.write(La(t.uid,6),108),e.write(La(t.gid,6),116),e.write(La(t.size,11),124),e.write(La(t.mtime.getTime()/1e3|0,11),136),e[156]=nse+aJe(t.type),t.linkname&&e.write(t.linkname,157),sse.copy(e,dd),tJe.copy(e,RR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(La(t.devmajor||0,6),329),e.write(La(t.devminor||0,6),337),i&&e.write(i,345),e.write(La(ase(e),6),148),e)};ju.decode=function(t,e,r){var i=t[156]===0?0:t[156]-nse,n=Gu(t,0,100,e),s=Ma(t,100,8),o=Ma(t,108,8),a=Ma(t,116,8),l=Ma(t,124,12),c=Ma(t,136,12),u=oJe(i),g=t[157]===0?null:Gu(t,157,100,e),f=Gu(t,265,32),h=Gu(t,297,32),p=Ma(t,329,8),m=Ma(t,337,8),I=ase(t);if(I===8*32)return null;if(I!==Ma(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(sse.compare(t,dd,dd+6)===0)t[345]&&(n=Gu(t,345,155,e)+"/"+n);else if(!(rJe.compare(t,dd,dd+6)===0&&iJe.compare(t,RR,RR+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 hse=C((kEt,Ase)=>{var lse=require("util"),lJe=ise(),Cd=LR(),cse=Yu().Writable,use=Yu().PassThrough,gse=function(){},fse=function(t){return t&=511,t&&512-t},cJe=function(t,e){var r=new kB(t,e);return r.end(),r},uJe=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},kB=function(t,e){this._parent=t,this.offset=e,use.call(this,{autoDestroy:!1})};lse.inherits(kB,use);kB.prototype.destroy=function(t){this._parent.destroy(t)};var bo=function(t){if(!(this instanceof bo))return new bo(t);cse.call(this,t),t=t||{},this._offset=0,this._buffer=lJe(),this._missing=0,this._partial=!1,this._onparse=gse,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=fse(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(fse(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=Cd.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=Cd.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=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=Cd.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=uJe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,cJe(e,f),n);return}e._stream=new kB(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};lse.inherits(bo,cse);bo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};bo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};bo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=gse,this._overflow?this._write(this._overflow,void 0,t):t()}};bo.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()}};bo.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Ase.exports=bo});var dse=C((vEt,pse)=>{pse.exports=require("fs").constants||require("constants")});var yse=C((PEt,Cse)=>{var qu=dse(),mse=vb(),vB=va(),gJe=Buffer.alloc,Ise=Yu().Readable,Ju=Yu().Writable,fJe=require("string_decoder").StringDecoder,PB=LR(),hJe=parseInt("755",8),pJe=parseInt("644",8),Ese=gJe(1024),MR=function(){},TR=function(t,e){e&=511,e&&t.push(Ese.slice(0,512-e))};function dJe(t){switch(t&qu.S_IFMT){case qu.S_IFBLK:return"block-device";case qu.S_IFCHR:return"character-device";case qu.S_IFDIR:return"directory";case qu.S_IFIFO:return"fifo";case qu.S_IFLNK:return"symlink"}return"file"}var FB=function(t){Ju.call(this),this.written=0,this._to=t,this._destroyed=!1};vB(FB,Ju);FB.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};FB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var RB=function(){Ju.call(this),this.linkname="",this._decoder=new fJe("utf-8"),this._destroyed=!1};vB(RB,Ju);RB.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};RB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var md=function(){Ju.call(this),this._destroyed=!1};vB(md,Ju);md.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};md.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Qs=function(t){if(!(this instanceof Qs))return new Qs(t);Ise.call(this,t),this._drain=MR,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};vB(Qs,Ise);Qs.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=MR);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=dJe(t.mode)),t.mode||(t.mode=t.type==="directory"?hJe:pJe),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 TR(i,t.size),n?process.nextTick(r):this._drain=r,new md}if(t.type==="symlink"&&!t.linkname){var s=new RB;return mse(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 md;var o=new FB(this);return this._stream=o,mse(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"));TR(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Qs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Ese),this.push(null))};Qs.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())};Qs.prototype._encode=function(t){if(!t.pax){var e=PB.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Qs.prototype._encodePax=function(t){var e=PB.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(PB.encode(r)),this.push(e),TR(this,e.length),r.size=t.size,r.type=t.type,this.push(PB.encode(r))};Qs.prototype._read=function(t){var e=this._drain;this._drain=MR,e()};Cse.exports=Qs});var Bse=C(OR=>{OR.extract=hse();OR.pack=yse()});var Lse=C((eyt,Pse)=>{"use strict";var Wu=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=Rse(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return GR(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):kJe(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 Wu(this.__specs,this.__opts,Rse(this.__providers).concat(e)),Fse)}};try{let t=require("util");Wu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function vJe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function GR(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))vJe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Nse(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Nse(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 Nse(t,e){let r;return e.__isFiggyPudding?r=GR(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Fse={has(t,e){return e in t.__specs&&GR(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 Wu.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.")}};Pse.exports=PJe;function PJe(t,e){function r(...i){return new Proxy(new Wu(t,e,i),Fse)}return r}function Rse(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function kJe(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ose=C((tyt,bs)=>{"use strict";var Ed=require("crypto"),FJe=Lse(),RJe=require("stream").Transform,Mse=["sha256","sha384","sha512"],NJe=/^[a-z0-9+/]+(?:=?=?)$/i,LJe=/^([^-]+)-([^?]+)([?\S*]*)$/,MJe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,TJe=/^[\x21-\x7E]+$/,mi=FJe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>OJe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Il=class{get isHash(){return!0}constructor(e,r){r=mi(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?MJe:LJe);if(!n||i&&!Mse.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=mi(e),e.strict&&!(Mse.some(i=>i===this.algorithm)&&this.digest.match(NJe)&&(this.options||[]).every(i=>i.match(TJe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=mi(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Il.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=mi(r);let i=typeof e=="string"?e:yd(e,r);return Ds(`${this.toString(r)} ${i}`,r)}hexDigest(){return Ds(this,{single:!0}).hexDigest()}match(e,r){r=mi(r);let i=Ds(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=mi(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)}};bs.exports.parse=Ds;function Ds(t,e){if(e=mi(e),typeof t=="string")return qR(t,e);if(t.algorithm&&t.digest){let r=new zu;return r[t.algorithm]=[t],qR(yd(r,e),e)}else return qR(yd(t,e),e)}function qR(t,e){return e.single?new Il(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Il(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new zu)}bs.exports.stringify=yd;function yd(t,e){return e=mi(e),t.algorithm&&t.digest?Il.prototype.toString.call(t,e):typeof t=="string"?yd(Ds(t,e),e):zu.prototype.toString.call(t,e)}bs.exports.fromHex=KJe;function KJe(t,e,r){r=mi(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Ds(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}bs.exports.fromData=UJe;function UJe(t,e){e=mi(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Ed.createHash(s).update(t).digest("base64"),a=new Il(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new zu)}bs.exports.fromStream=HJe;function HJe(t,e){e=mi(e);let r=e.Promise||Promise,i=JR(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",()=>{})})}bs.exports.checkData=YJe;function YJe(t,e,r){if(r=mi(r),e=Ds(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=Ed.createHash(i).update(t).digest("base64"),s=Ds({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}}bs.exports.checkStream=jJe;function jJe(t,e,r){r=mi(r);let i=r.Promise||Promise,n=JR(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",()=>{})})}bs.exports.integrityStream=JR;function JR(t){t=mi(t);let e=t.integrity&&Ds(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(Ed.createHash),a=0,l=new RJe({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=Ds(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}bs.exports.create=GJe;function GJe(t){t=mi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Ed.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 Il(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new zu)}}}var qJe=new Set(Ed.getHashes()),Tse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>qJe.has(t));function OJe(t,e){return Tse.indexOf(t.toLowerCase())>=Tse.indexOf(e.toLowerCase())?t:e}});var Th={};et(Th,{BuildType:()=>Vi,Cache:()=>ft,Configuration:()=>le,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>ds,InstallMode:()=>kr,LightReport:()=>uo,LinkType:()=>lt,Manifest:()=>ze,MessageName:()=>z,PackageExtensionStatus:()=>qr,PackageExtensionType:()=>Dr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ci,ReportError:()=>_e,SettingsType:()=>ge,StreamReport:()=>xe,TAG_REGEXP:()=>Zc,TelemetryManager:()=>Mh,ThrowReport:()=>Br,VirtualFetcher:()=>Ih,Workspace:()=>Lh,WorkspaceResolver:()=>Ci,YarnVersion:()=>Er,execUtils:()=>Lr,folderUtils:()=>Hw,formatUtils:()=>Ae,hashUtils:()=>Di,httpUtils:()=>Rt,miscUtils:()=>de,scriptUtils:()=>Qt,semverUtils:()=>vt,structUtils:()=>w,tgzUtils:()=>hr,treeUtils:()=>Un});var Lr={};et(Lr,{EndStrategy:()=>sn,execvp:()=>kae,pipevp:()=>Ts});var kg={};et(kg,{AliasFS:()=>Ja,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>qa,FakeFS:()=>Ns,Filename:()=>xt,JailFS:()=>Ls,LazyFS:()=>bg,LinkStrategy:()=>Ig,NoFS:()=>BC,NodeFS:()=>Ft,PortablePath:()=>we,PosixFS:()=>Dg,ProxiedFS:()=>Nr,VirtualFS:()=>ir,ZipFS:()=>Qr,ZipOpenFS:()=>nn,extendFs:()=>QC,normalizeLineEndings:()=>Dl,npath:()=>T,opendir:()=>IC,patchFs:()=>Dw,ppath:()=>D,statUtils:()=>gw,toFilename:()=>rr,xfs:()=>L});var gw={};et(gw,{BigIntStatsEntry:()=>dg,DirEntry:()=>yN,StatEntry:()=>Ro,areStatsEqual:()=>hw,clearStats:()=>fC,convertToBigIntStats:()=>hC,makeDefaultStats:()=>Cg,makeEmptyStats:()=>Goe});var fw=te(require("util"));var tn=61440,Po=16384,Rs=32768,Fo=40960;var yN=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},Ro=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=Rs|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},dg=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(Rs|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(tn))===BigInt(Po)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(tn))===BigInt(Rs)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(tn))===BigInt(Fo)}};function Cg(){return new Ro}function Goe(){return fC(Cg())}function fC(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):fw.types.isDate(r)&&(t[e]=new Date(0))}return t}function hC(t){let e=new dg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):fw.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 hw(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 dC=te(require("fs"));var mg=te(require("path")),BN;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(BN||(BN={}));var we={root:"/",dot:"."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},T=Object.create(mg.default),D=Object.create(mg.default.posix);T.cwd=()=>process.cwd();D.cwd=()=>pw(process.cwd());D.resolve=(...t)=>t.length>0&&D.isAbsolute(t[0])?mg.default.posix.resolve(...t):mg.default.posix.resolve(D.cwd(),...t);var wN=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)};T.fromPortablePath=QN;T.toPortablePath=pw;T.contains=(t,e)=>wN(T,t,e);D.contains=(t,e)=>wN(D,t,e);var bN=/^([a-zA-Z]:.*)$/,DN=/^\\\\(\.\\)?(.*)$/,SN=/^\/([a-zA-Z]:.*)$/,xN=/^\/unc\/(\.dot\/)?(.*)$/;function QN(t){if(process.platform!=="win32")return t;if(t.match(SN))t=t.replace(SN,"$1");else if(t.match(xN))t=t.replace(xN,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function pw(t){return process.platform!=="win32"?t:(t.match(bN)?t=t.replace(bN,"/$1"):t.match(DN)&&(t=t.replace(DN,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function pC(t,e){return t===T?QN(e):pw(e)}function rr(t){if(T.parse(t).dir!==""||D.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var kN=new Date(315532800*1e3),Ig;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(Ig||(Ig={}));async function vN(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await dw(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function dw(t,e,r,i,n,s,o,a){var f,h;let l=await qoe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:kN,atime:kN}:c,g;switch(!0){case c.isDirectory():g=await Joe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await Woe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await zoe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function qoe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Joe(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()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await dw(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await dw(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var Cw=new WeakMap;function mw(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===Ig.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Voe(t,e,r,i,n){let s=Cw.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,dC.default.constants.COPYFILE_FICLONE_FORCE),Cw.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")Cw.set(t,!1),await mw(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,dC.default.constants.COPYFILE_FICLONE_FORCE):mw(t,e,r,i,n)}async function Woe(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?Voe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,dC.default.constants.COPYFILE_FICLONE):u!==null?mw(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function zoe(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(pC(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function rn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function CC(t){return rn("EBUSY",t)}function Eg(t,e){return rn("ENOSYS",`${t}, ${e}`)}function No(t){return rn("EINVAL",`invalid argument, ${t}`)}function ti(t){return rn("EBADF",`bad file descriptor, ${t}`)}function kn(t){return rn("ENOENT",`no such file or directory, ${t}`)}function Xn(t){return rn("ENOTDIR",`not a directory, ${t}`)}function yg(t){return rn("EISDIR",`illegal operation on a directory, ${t}`)}function mC(t){return rn("EEXIST",`file already exists, ${t}`)}function Bi(t){return rn("EROFS",`read-only filesystem, ${t}`)}function PN(t){return rn("ENOTEMPTY",`directory not empty, ${t}`)}function FN(t){return rn("EOPNOTSUPP",`operation not supported, ${t}`)}function RN(){return rn("ERR_DIR_CLOSED","Directory handle was closed")}var Iw=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var NN=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw RN()}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 IC(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 NN(e,n,i)}var LN=te(require("os"));var Ns=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 o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{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)}};Ns.DEFAULT_TIME=315532800;var Ya=class extends Ns{constructor(){super(D)}};function Xoe(t){let e=t.match(/\r?\n/g);if(e===null)return LN.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function Dl(t,e){return e.replace(/\r?\n/g,Xoe(t))}var Sl=te(require("fs")),Ew=te(require("stream")),KN=te(require("util")),yw=te(require("zlib"));var MN=te(require("fs"));var Ft=class extends Ya{constructor(e=MN.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return we.root}resolve(e){return D.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(T.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(T.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(T.fromPortablePath(e),r):this.realFs.opendirSync(T.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?T.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?T.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(T.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>T.toPortablePath(r))}realpathSync(e){return T.toPortablePath(this.realFs.realpathSync(T.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(T.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(T.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(T.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(T.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(T.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(T.fromPortablePath(e),r):this.realFs.statSync(T.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(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(T.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(T.fromPortablePath(e),r):this.realFs.lstatSync(T.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(T.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(T.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(T.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(T.fromPortablePath(e),T.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(T.fromPortablePath(e),T.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(T.fromPortablePath(e),T.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(T.fromPortablePath(e),T.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?T.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"?T.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"?T.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"?T.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(T.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(T.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(T.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Eg("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,T.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Eg("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,T.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(T.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(T.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(T.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(T.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(T.fromPortablePath(e),T.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(T.fromPortablePath(e),T.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(T.fromPortablePath(e.replace(/\/+$/,"")),T.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(T.fromPortablePath(e.replace(/\/+$/,"")),T.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?T.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?T.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(T.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(T.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(T.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(T.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(T.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>T.toPortablePath(r))}readlinkSync(e){return T.toPortablePath(this.realFs.readlinkSync(T.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(T.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(T.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(T.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(T.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(T.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var TN=te(require("events"));var ja;(function(r){r.Change="change",r.Stop="stop"})(ja||(ja={}));var Ga;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(Ga||(Ga={}));function ON(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Bg=class extends TN.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=Ga.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 Bg(e,r,i);return n.start(),n}start(){ON(this.status,Ga.Ready),this.status=Ga.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(ja.Change,this.lastStats,this.lastStats)},3)}stop(){ON(this.status,Ga.Running),this.status=Ga.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(ja.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new dg:new Ro;return fC(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;hw(i,n)||(this.lastStats=i,this.emit(ja.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(ja.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(ja.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 EC=new WeakMap;function yC(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=EC.get(t);typeof l=="undefined"&&EC.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Bg.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function wg(t,e,r){let i=EC.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 Qg(t){let e=EC.get(t);if(typeof e!="undefined")for(let r of e.keys())wg(t,r)}var qa="mixed";function Zoe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,KN.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}var Qr=class extends Ya{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:qa,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new Ft}=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=Cg();else throw o}else this.stats=Cg();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(T.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(we.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 CC("archive closed, close");Qg(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.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return D.resolve(we.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 kn(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Xn(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return IC(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=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw ti("read");let a;s===-1||s===null?a=o.cursor:a=s;let 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"?ti("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw ti("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 Ew.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 Bi(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new Ew.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 kn(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw CC(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=D.resolve(we.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=Sl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`access '${e}'`);if(this.readOnly&&r&Sl.constants.W_OK)throw Bi(`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 kn(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`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 ti("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw kn(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Xn(`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 kn(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`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,I=new Date(h),y=new Date(p),B=new Date(m),x=new Date(f),F=this.listings.has(r)?Po:this.isSymbolicLink(n)?Fo:Rs,N=F===Po?493:420,O=F|this.getUnixMode(n,N)&511,P=this.libzip.struct.statCrc(s),J=Object.assign(new Ro,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:B,mtime:x,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:O,crc:P});return i.bigint===!0?hC(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),I=new Date(f),y=new Date(h),B=Po|493,x=0,F=Object.assign(new Ro,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:x});return i.bigint===!0?hC(F):F}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;let i=this.registerListing(D.dirname(e));return r=new Set,i.add(D.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(D.dirname(e)).add(D.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(D.dirname(e));r==null||r.delete(D.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 CC(`archive closed, ${e}`);let n=D.resolve(we.root,r);if(n==="/")return we.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,D.resolve(D.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,D.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw kn(e);if(!a)throw Xn(e);if(n=D.resolve(o,D.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=D.resolve(D.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=D.relative(we.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;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,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&tn)===Fo}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)=>{yw.default.inflateRaw(f,(m,I)=>{m?p(m):(this.fileSources.set(e,I),h(I))})});{let h=yw.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 Bi(`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,Rs|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 Bi(`copyfile '${e} -> '${r}'`);if((i&Sl.constants.COPYFILE_FICLONE_FORCE)!=0)throw Eg("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw No(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Sl.constants.COPYFILE_EXCL|Sl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw mC(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=v({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=v({flag:"a"},i)),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw ti("read");if(this.readOnly)throw Bi(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw yg(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw Bi(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw yg(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw No(`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 Bi(`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 Bi(`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,Zoe(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 Bi(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw mC(`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 Bi(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Xn(`rmdir '${e}'`);if(n.size>0)throw PN(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw No(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,D.relative(we.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 FN(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw Bi(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw yg(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw mC(`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,(Fo|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}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`open '${e}'`);if(this.listings.has(i))throw yg("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 kn(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Xn(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",D.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 kn(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Xn(`open '${e}'`);if(this.listings.has(r))throw No(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw No(`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 No(`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 No(`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=this.resolveFilename(`open '${e}'`,e);return yC(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return wg(this,i,r)}};var Nr=class extends Ns{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 Ja=class extends Nr{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 yt=class extends Nr{constructor(e,{baseFs:r=new Ft}={}){super(D);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)?D.normalize(e):this.baseFs.resolve(D.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var UN=we.root,Ls=class extends Nr{constructor(e,{baseFs:r=new Ft}={}){super(D);this.target=this.pathUtils.resolve(we.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(we.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(UN,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(UN,this.pathUtils.relative(this.target,e))}};var bg=class extends Nr{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 Ye=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),Bw=class extends Ns{constructor(){super(D)}getExtractHint(){throw Ye()}getRealPath(){throw Ye()}resolve(){throw Ye()}async openPromise(){throw Ye()}openSync(){throw Ye()}async opendirPromise(){throw Ye()}opendirSync(){throw Ye()}async readPromise(){throw Ye()}readSync(){throw Ye()}async writePromise(){throw Ye()}writeSync(){throw Ye()}async closePromise(){throw Ye()}closeSync(){throw Ye()}createWriteStream(){throw Ye()}createReadStream(){throw Ye()}async realpathPromise(){throw Ye()}realpathSync(){throw Ye()}async readdirPromise(){throw Ye()}readdirSync(){throw Ye()}async existsPromise(e){throw Ye()}existsSync(e){throw Ye()}async accessPromise(){throw Ye()}accessSync(){throw Ye()}async statPromise(){throw Ye()}statSync(){throw Ye()}async fstatPromise(e){throw Ye()}fstatSync(e){throw Ye()}async lstatPromise(e){throw Ye()}lstatSync(e){throw Ye()}async chmodPromise(){throw Ye()}chmodSync(){throw Ye()}async chownPromise(){throw Ye()}chownSync(){throw Ye()}async mkdirPromise(){throw Ye()}mkdirSync(){throw Ye()}async rmdirPromise(){throw Ye()}rmdirSync(){throw Ye()}async linkPromise(){throw Ye()}linkSync(){throw Ye()}async symlinkPromise(){throw Ye()}symlinkSync(){throw Ye()}async renamePromise(){throw Ye()}renameSync(){throw Ye()}async copyFilePromise(){throw Ye()}copyFileSync(){throw Ye()}async appendFilePromise(){throw Ye()}appendFileSync(){throw Ye()}async writeFilePromise(){throw Ye()}writeFileSync(){throw Ye()}async unlinkPromise(){throw Ye()}unlinkSync(){throw Ye()}async utimesPromise(){throw Ye()}utimesSync(){throw Ye()}async readFilePromise(){throw Ye()}readFileSync(){throw Ye()}async readlinkPromise(){throw Ye()}readlinkSync(){throw Ye()}async truncatePromise(){throw Ye()}truncateSync(){throw Ye()}watch(){throw Ye()}watchFile(){throw Ye()}unwatchFile(){throw Ye()}},BC=Bw;BC.instance=new Bw;var Dg=class extends Nr{constructor(e){super(T);this.baseFs=e}mapFromBase(e){return T.fromPortablePath(e)}mapToBase(e){return T.toPortablePath(e)}};var _oe=/^[0-9]+$/,ww=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,$oe=/^([^/]+-)?[a-f0-9]+$/,ir=class extends Nr{static makeVirtualPath(e,r,i){if(D.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!D.basename(r).match($oe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=D.relative(D.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(Qw);if(e<=0)return null;let r=e;for(;e>=0&&(r=e+Qw.length,t[r]!==D.sep);){if(t[e-1]===D.sep)return null;e=t.indexOf(Qw,r)}return t.length>r&&t[r]!==D.sep?null:t.slice(0,r)},nn=class extends Ya{constructor({libzip:e,baseFs:r=new Ft,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){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}static async openPromise(e,r){let i=new nn(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(Qg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(Qg(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++|Ms;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&Ms)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Ms)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Ms)==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 ti("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&Ms)==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 ti("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&Ms)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Ms)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("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,{subPath:n})=>i.createReadStream(n,r))}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(we.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(we.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&Ms)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Ms)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("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),async()=>{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&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.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&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.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),()=>yC(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>wg(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=eae(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),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(we.root,e.substr(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 Qr(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 Qr(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 Qr(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 Qr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var xg=te(require("util"));var wC=te(require("url"));var bw=class extends Nr{constructor(e){super(T);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof wC.URL?(0,wC.fileURLToPath)(e):e}};var tae=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),HN=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"]),rae=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function Dw(t,e){e=new bw(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[xg.promisify.custom])!="undefined"&&(s[xg.promisify.custom]=o[xg.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,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of HN){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}});for(let i of tae){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 HN){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 rae){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[xg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function QC(t,e){let r=Object.create(t);return Dw(r,e),r}var YN=te(require("os"));function jN(t){let e=T.toPortablePath(YN.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return D.join(e,`${t}${r}`)}var vn=new Set,GN=!1;function qN(){GN||(GN=!0,process.once("exit",()=>{L.rmtempSync()}))}var L=Object.assign(new Ft,{detachTemp(t){vn.delete(t)},mktempSync(t){for(qN();;){let e=jN("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vn.add(r),typeof t!="undefined")try{return t(r)}finally{if(vn.has(r)){vn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(qN();;){let e=jN("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vn.has(r)){vn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vn.values()).map(async t=>{try{await L.removePromise(t,{maxRetries:0}),vn.delete(t)}catch{}}))},rmtempSync(){for(let t of vn)try{L.removeSync(t),vn.delete(t)}catch{}}});var Tw=te(Mw()),sn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(sn||(sn={}));function Wa(t){return t!==null&&typeof t.fd=="number"}var za=new Set;function Ow(){}function Kw(){for(let t of za)t.kill()}async function Ts(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":Wa(s)&&(c[0]=s),Wa(o)&&(c[1]=o),Wa(a)&&(c[2]=a);let u=(0,Tw.default)(t,e,{cwd:T.fromPortablePath(r),env:V(v({},i),{PWD:T.fromPortablePath(r)}),stdio:c});za.add(u),za.size===1&&(process.on("SIGINT",Ow),process.on("SIGTERM",Kw)),!Wa(s)&&s!==null&&s.pipe(u.stdin),Wa(o)||u.stdout.pipe(o,{end:!1}),Wa(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Wa(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{za.delete(u),za.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{za.delete(u),za.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Uw(p,m)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function kae(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=T.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=V(v({},i),{PWD:c}));let u=(0,Tw.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",()=>{f()}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Uw(h,p),stdout:m,stderr:I}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} + +${I}`),{code:Uw(h,p),stdout:m,stderr:I}))})})}var vae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Uw(t,e){let r=vae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Hw={};et(Hw,{getDefaultGlobalFolder:()=>jw,getHomeFolder:()=>vg,isFolderInside:()=>Gw});var Yw=te(require("os"));function jw(){if(process.platform==="win32"){let t=T.toPortablePath(process.env.LOCALAPPDATA||T.join((0,Yw.homedir)(),"AppData","Local"));return D.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=T.toPortablePath(process.env.XDG_DATA_HOME);return D.resolve(t,"yarn/berry")}return D.resolve(vg(),".yarn/berry")}function vg(){return T.toPortablePath((0,Yw.homedir)()||"/usr/local/share")}function Gw(t,e){let r=D.relative(e,t);return r&&!r.startsWith("..")&&!D.isAbsolute(r)}var Ae={};et(Ae,{LogLevel:()=>Ln,Style:()=>pA,Type:()=>Pe,addLogFilterSupport:()=>Bf,applyColor:()=>Gi,applyHyperlink:()=>tc,applyStyle:()=>Hm,json:()=>rc,mark:()=>ib,pretty:()=>qe,prettyField:()=>CA,prettyList:()=>hb,supportsColor:()=>Km,supportsHyperlinks:()=>gb,tuple:()=>dA});var yf=te(eQ()),K2=te(Ng()),U2=te(Yi()),H2=te(bT());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",_[_.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK"})(z||(z={}));function MC(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};et(de,{BufferStream:()=>ZK,CachingStrategy:()=>aA,DefaultStream:()=>_K,assertNever:()=>JQ,bufferStream:()=>af,buildIgnorePattern:()=>Dge,convertMapsToIndexableObjects:()=>nm,dynamicRequire:()=>ql,escapeRegExp:()=>Bge,getArrayWithDefault:()=>Yl,getFactoryWithDefault:()=>Ys,getMapWithDefault:()=>jl,getSetWithDefault:()=>oA,isIndexableObject:()=>WQ,isPathLike:()=>Sge,isTaggedYarnVersion:()=>yge,mapAndFilter:()=>sA,mapAndFind:()=>XK,overrideType:()=>qQ,parseBoolean:()=>lf,parseOptionalBoolean:()=>rU,prettifyAsyncErrors:()=>Gl,prettifySyncErrors:()=>zQ,releaseAfterUseAsync:()=>Qge,replaceEnvVariables:()=>VQ,sortMap:()=>bi,tryParseOptionalBoolean:()=>XQ,validateEnum:()=>wge});var Jg={};et(Jg,{Builtins:()=>PQ,Cli:()=>ts,Command:()=>he,Option:()=>j,UsageError:()=>me});var Za=0,Kg=1,ri=2,dQ="",Mr="\0",Ml=-1,CQ=/^(-h|--help)(?:=([0-9]+))?$/,TC=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,DT=/^-[a-zA-Z]{2,}$/,mQ=/^([^=]+)=([\s\S]*)$/,IQ=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ug=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} +${EQ(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${EQ(e)}`}},yQ=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(` +`)} + +${EQ(e)}`}},EQ=t=>`While running ${t.filter(e=>e!==Mr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Hg=Symbol("clipanion/isOption");function ii(t){return V(v({},t),{[Hg]:!0})}function es(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function OC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Yg(t,e){return e.length===1?new me(`${t}: ${OC(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${OC(r)}`).join("")}`)}function jg(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 Yg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var he=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Pn(),Tl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Yg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};he.isOption=Hg;he.Default=[];function Qi(t){IQ&&console.log(t)}var MT={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ml};function TT(){return{nodes:[si(),si(),si()]}}function $le(t){let e=TT(),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(Za)}function tce(t,{prefix:e=""}={}){if(IQ){Qi(`${e}Nodes are:`);for(let r=0;rl!==ri).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ri))throw new Ug(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=rce(a)}if(i.length>0){Qi(" Results:");for(let s of i)Qi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Qi(" No results");return i}function ice(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Mr)){for(let{to:r}of t.statics[Mr])if(r===Kg)return!0}return!1}function sce(t,e,r){let i=r&&e.length>0?[""]:[],n=KT(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],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let B=I[0];for(let{to:x,reducer:F}of m.statics[B])F==="pushPath"&&(u||l.push(B),g.push(x))}}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=ice(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==Mr||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===ri)continue;let p=nce(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function ace(t,e){let r=KT(t,[...e,Mr]);return oce(e,r.map(({state:i})=>i))}function rce(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 oce(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 Ug(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=Ace(c);if(u.length>1)throw new yQ(t,u.map(g=>g.candidateUsage));return u[0]}function Ace(t){let e=[],r=[];for(let i of t)i.selectedIndex===Ml?r.push(i):e.push(i);return r.length>0&&e.push(V(v({},MT),{path:UT(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function UT(t,e,...r){return e===void 0?Array.from(t):UT(t.filter((i,n)=>i===e[n]),...r)}function si(){return{dynamics:[],shortcuts:[],statics:{}}}function OT(t){return t===Kg||t===ri}function xQ(t,e=0){return{to:OT(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function _le(t,e=0){let r=si();for(let[i,n]of t.dynamics)r.dynamics.push([i,xQ(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(xQ(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>xQ(s,e));return r}function Tr(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function Ol(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ks(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 UC(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 nce(t,e){let r=Array.isArray(t)?HC[t[0]]:HC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var HC={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&&DT.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(mQ);return!t.ignoreOptions&&!!n&&TC.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&&CQ.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&TC.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!TC.test(e)};HC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var SQ={setCandidateState:(t,e,r)=>v(v({},t),r),setSelectedIndex:(t,e,r)=>V(v({},t),{selectedIndex:r}),pushBatch:(t,e)=>V(v({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(mQ);return V(v({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>V(v({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:ji})}),pushTrue:(t,e,r=e)=>V(v({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>V(v({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>V(v({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=V(v({},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=V(v({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>V(v({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(CQ);return typeof i!="undefined"?V(v({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):V(v({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===Mr?V(v({},t),{errorMessage:`${r}.`}):V(v({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return V(v({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},ji=Symbol(),HT=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===ji)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!==ji?this.arity.extra.push(e):this.arity.extra!==ji&&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===ji)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===ji?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=TT(),r=Za,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=Fn(e,si()),Ks(e,Za,dQ,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=Fn(e,si());Ol(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=Fn(e,si());Tr(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ks(e,f,Mr,Kg,["setSelectedIndex",Ml]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ks(e,l,Mr,ri,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ks(e,h,Mr,ri,["setError","Not enough positional arguments"]),Tr(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===ji||this.arity.extra.length>0){let f=Fn(e,si());if(Ol(e,c,f),this.arity.extra===ji){let h=Fn(e,si());this.arity.proxy||this.registerOptions(e,h),Tr(e,c,s,h,"pushExtraNoLimits"),Tr(e,h,s,h,"pushExtraNoLimits"),Ol(e,h,f)}else for(let h=0;h0&&Ks(e,u,Mr,ri,["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)Tr(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Tr(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=Fn(e,si());for(let o of i.names)Tr(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eace(i,n),suggest:(n,s)=>sce(i,n,s)}}};var YT=80,kQ=Array(YT).fill("\u2501");for(let t=0;t<=24;++t)kQ[kQ.length-t]=`[38;5;${232+t}m\u2501`;var vQ={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},jT={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function lce(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 An(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=lce(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 qg=class extends he{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new qg(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 GT=Symbol("clipanion/errorCommand");function cce(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var ts=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=cce()}={}){this.registrations=new Map,this.builder=new Gg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new ts(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[he.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 Ml:return qg.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[GT]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,v(v({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}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"?An(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?An(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?An(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[An(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 he?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=An(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+=`${vQ.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))} ${An(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=An(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+=An(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"?An(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:I}=this.getUsageByIndex(h);m.push({commandClass:f,usage:I})}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,I)=>m.usage.localeCompare(I.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:I}of h){let y=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(I)} +`,a+=` ${An(y,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=An("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[GT])!==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}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)}format(e=this.enableColors){return e?vQ:jT}};ts.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var PQ={};et(PQ,{DefinitionsCommand:()=>YC,HelpCommand:()=>jC,VersionCommand:()=>GC});var YC=class extends he{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};YC.paths=[["--clipanion=definitions"]];var jC=class extends he{async execute(){this.context.stdout.write(this.cli.usage())}};jC.paths=[["-h"],["--help"]];var GC=class extends he{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};GC.paths=[["-v"],["--version"]];var j={};et(j,{Array:()=>qT,Boolean:()=>JT,Counter:()=>WT,Proxy:()=>zT,Rest:()=>VT,String:()=>XT,applyValidator:()=>jg,cleanValidationError:()=>OC,formatError:()=>Yg,isOptionSymbol:()=>Hg,makeCommandOption:()=>ii,rerouteArguments:()=>es});function qT(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({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 JT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({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 WT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({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 zT(t={}){return ii({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 VT(t={}){return ii({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===ji||a.extra===!1&&oo)}})}function uce(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({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"?jg(g!=null?g:c,f,n.validator):f}})}function gce(t={}){let{required:e=!0}=t;return ii({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;oJSON.stringify(i)).join(", ")})`);return e}function sA(t,e){let r=[];for(let i of t){let n=e(i);n!==zK&&r.push(n)}return r}var zK=Symbol();sA.skip=zK;function XK(t,e){for(let r of t){let i=e(r);if(i!==VK)return i}}var VK=Symbol();XK.skip=VK;function WQ(t){return typeof t=="object"&&t!==null}function nm(t){if(t instanceof Map&&(t=Object.fromEntries(t)),WQ(t))for(let e of Object.keys(t)){let r=t[e];WQ(r)&&(t[e]=nm(r))}return t}function Ys(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function Yl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function oA(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function jl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function Qge(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Gl(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function zQ(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function af(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 ZK=class extends GQ.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))}},_K=class extends GQ.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)}},Af=eval("require");function $K(t){return Af(T.fromPortablePath(t))}function eU(path){let physicalPath=T.fromPortablePath(path),currentCacheEntry=Af.cache[physicalPath];delete Af.cache[physicalPath];let result;try{result=$K(physicalPath);let freshCacheEntry=Af.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Af.cache[physicalPath]=currentCacheEntry}return result}var tU=new Map;function bge(t){let e=tU.get(t),r=L.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=eU(t);return tU.set(t,{mtime:r.mtimeMs,instance:i}),i}var aA;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(aA||(aA={}));function ql(t,{cachingStrategy:e=2}={}){switch(e){case 0:return eU(t);case 1:return bge(t);case 2:return $K(t);default:throw new Error("Unsupported caching strategy")}}function bi(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 Dge(t){return t.length===0?null:t.map(e=>`(${JK.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function VQ(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 me(`Environment variable not found (${n})`)})}function lf(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 rU(t){return typeof t=="undefined"?t:lf(t)}function XQ(t){try{return rU(t)}catch{return null}}function Sge(t){return!!(T.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var w={};et(w,{areDescriptorsEqual:()=>L2,areIdentsEqual:()=>Cf,areLocatorsEqual:()=>ob,areVirtualPackagesEquivalent:()=>zpe,bindDescriptor:()=>Jpe,bindLocator:()=>Wpe,convertDescriptorToLocator:()=>Lm,convertLocatorToDescriptor:()=>Mm,convertPackageToLocator:()=>qpe,convertToIdent:()=>Gpe,convertToManifestRange:()=>Zpe,copyPackage:()=>hf,devirtualizeDescriptor:()=>pf,devirtualizeLocator:()=>df,getIdentVendorPath:()=>_pe,isVirtualDescriptor:()=>qo,isVirtualLocator:()=>ss,makeDescriptor:()=>zt,makeIdent:()=>Go,makeLocator:()=>Ai,makeRange:()=>Tm,parseDescriptor:()=>Jo,parseFileStyleRange:()=>Vpe,parseIdent:()=>Si,parseLocator:()=>hA,parseRange:()=>_l,prettyDependent:()=>cb,prettyDescriptor:()=>Ut,prettyIdent:()=>Cr,prettyLocator:()=>nt,prettyLocatorNoColors:()=>Ab,prettyRange:()=>Rm,prettyReference:()=>If,prettyResolution:()=>lb,prettyWorkspace:()=>Ef,renamePackage:()=>ff,slugifyIdent:()=>ab,slugifyLocator:()=>$l,sortDescriptors:()=>ec,stringifyDescriptor:()=>xi,stringifyIdent:()=>dt,stringifyLocator:()=>gn,tryParseDescriptor:()=>mf,tryParseIdent:()=>M2,tryParseLocator:()=>T2,virtualizeDescriptor:()=>nb,virtualizePackage:()=>sb});var Zl=te(require("querystring")),N2=te(cr());var Di={};et(Di,{checksumFile:()=>Pm,checksumPattern:()=>Fm,makeHash:()=>ai});var vm=te(require("crypto")),rb=te(tb());function ai(...t){let e=(0,vm.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 Pm(t,{baseFs:e,algorithm:r}={baseFs:L,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,vm.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 Fm(t,{cwd:e}){let i=(await(0,rb.default)(t,{cwd:T.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,rb.default)([t,...i],{cwd:T.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=T.toPortablePath(a),u=await L.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await L.readlinkPromise(c))):u.isFile()&&l.push(await L.readFilePromise(c)),l.join("\0")})),o=(0,vm.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Nm="virtual:",jpe=5;function Go(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ai(t,e),scope:t,name:e}}function zt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ai(t.identHash,e),range:e}}function Ai(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ai(t.identHash,e),reference:e}}function Gpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function Lm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function Mm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function qpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function ff(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,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 hf(t){return ff(t,t)}function nb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return zt(t,`virtual:${e}#${t.range}`)}function sb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return ff(t,Ai(t,`virtual:${e}#${t.reference}`))}function qo(t){return t.range.startsWith(Nm)}function ss(t){return t.reference.startsWith(Nm)}function pf(t){if(!qo(t))throw new Error("Not a virtual descriptor");return zt(t,t.range.replace(/^[^#]*#/,""))}function df(t){if(!ss(t))throw new Error("Not a virtual descriptor");return Ai(t,t.reference.replace(/^[^#]*#/,""))}function Jpe(t,e){return t.range.includes("::")?t:zt(t,`${t.range}::${Zl.default.stringify(e)}`)}function Wpe(t,e){return t.reference.includes("::")?t:Ai(t,`${t.reference}::${Zl.default.stringify(e)}`)}function Cf(t,e){return t.identHash===e.identHash}function L2(t,e){return t.descriptorHash===e.descriptorHash}function ob(t,e){return t.locatorHash===e.locatorHash}function zpe(t,e){if(!ss(t))throw new Error("Invalid package type");if(!ss(e))throw new Error("Invalid package type");if(!Cf(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||!L2(r,i))return!1}return!0}function Si(t){let e=M2(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function M2(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Go(n,i)}function Jo(t,e=!1){let r=mf(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function mf(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 zt(Go(o,n),a)}function hA(t,e=!1){let r=T2(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function T2(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 Ai(Go(o,n),a)}function _l(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)?Zl.default.parse(s):s,a=typeof r[4]!="undefined"?Zl.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Vpe(t,{protocol:e}){let{selector:r,params:i}=_l(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:hA(i.locator,!0),path:r}}function O2(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function Xpe(t){return t===null?!1:Object.entries(t).length>0}function Tm({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${O2(e)}#`),n+=O2(r),Xpe(i)&&(n+=`::${Zl.default.stringify(i)}`),n}function Zpe(t){let{params:e,protocol:r,source:i,selector:n}=_l(t);for(let s in e)s.startsWith("__")&&delete e[s];return Tm({protocol:r,source:i,params:e,selector:n})}function dt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function xi(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function gn(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ab(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function $l(t){let{protocol:e,selector:r}=_l(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=N2.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${ab(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${ab(t)}-${s}-${t.locatorHash.slice(0,o)}`;return rr(a)}function Cr(t,e){return e.scope?`${qe(t,`@${e.scope}/`,Pe.SCOPE)}${qe(t,e.name,Pe.NAME)}`:`${qe(t,e.name,Pe.NAME)}`}function Om(t){if(t.startsWith(Nm)){let e=Om(t.substr(t.indexOf("#")+1)),r=t.substr(Nm.length,jpe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function Rm(t,e){return`${qe(t,Om(e),Pe.RANGE)}`}function Ut(t,e){return`${Cr(t,e)}${qe(t,"@",Pe.RANGE)}${Rm(t,e.range)}`}function If(t,e){return`${qe(t,Om(e),Pe.REFERENCE)}`}function nt(t,e){return`${Cr(t,e)}${qe(t,"@",Pe.REFERENCE)}${If(t,e.reference)}`}function Ab(t){return`${dt(t)}@${Om(t.reference)}`}function ec(t){return bi(t,[e=>dt(e),e=>e.range])}function Ef(t,e){return Cr(t,e.locator)}function lb(t,e,r){let i=qo(e)?pf(e):e;return r===null?`${Ut(t,i)} \u2192 ${ib(t).Cross}`:i.identHash===r.identHash?`${Ut(t,i)} \u2192 ${If(t,r.reference)}`:`${Ut(t,i)} \u2192 ${nt(t,r)}`}function cb(t,e,r){return r===null?`${nt(t,e)}`:`${nt(t,e)} (via ${Rm(t,r.range)})`}function _pe(t){return`node_modules/${dt(t)}`}var lt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(lt||(lt={}));var Dr;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(Dr||(Dr={}));var qr;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qr||(qr={}));var Pe={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"},pA;(function(e){e[e.BOLD=2]="BOLD"})(pA||(pA={}));var ub=process.env.GITHUB_ACTIONS?{level:2}:yf.default.supportsColor?{level:yf.default.supportsColor.level}:{level:0},Km=ub.level!==0,gb=Km&&!process.env.GITHUB_ACTIONS&&!K2.CIRCLE,fb=new yf.default.Instance(ub),$pe=new Map([[Pe.NO_HINT,null],[Pe.NULL,["#a853b5",129]],[Pe.SCOPE,["#d75f00",166]],[Pe.NAME,["#d7875f",173]],[Pe.RANGE,["#00afaf",37]],[Pe.REFERENCE,["#87afff",111]],[Pe.NUMBER,["#ffd700",220]],[Pe.PATH,["#d75fd7",170]],[Pe.URL,["#d75fd7",170]],[Pe.ADDED,["#5faf00",70]],[Pe.REMOVED,["#d70000",160]],[Pe.CODE,["#87afff",111]],[Pe.SIZE,["#ffd700",220]]]),Nn=t=>t,Um={[Pe.NUMBER]:Nn({pretty:(t,e)=>`${e}`,json:t=>t}),[Pe.IDENT]:Nn({pretty:(t,e)=>Cr(t,e),json:t=>dt(t)}),[Pe.LOCATOR]:Nn({pretty:(t,e)=>nt(t,e),json:t=>gn(t)}),[Pe.DESCRIPTOR]:Nn({pretty:(t,e)=>Ut(t,e),json:t=>xi(t)}),[Pe.RESOLUTION]:Nn({pretty:(t,{descriptor:e,locator:r})=>lb(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:xi(t),locator:e!==null?gn(e):null})}),[Pe.DEPENDENT]:Nn({pretty:(t,{locator:e,descriptor:r})=>cb(t,e,r),json:({locator:t,descriptor:e})=>({locator:gn(t),descriptor:xi(e)})}),[Pe.PACKAGE_EXTENSION]:Nn({pretty:(t,e)=>{switch(e.type){case Dr.Dependency:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"dependencies",Pe.CODE)} \u27A4 ${Cr(t,e.descriptor)}`;case Dr.PeerDependency:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"peerDependencies",Pe.CODE)} \u27A4 ${Cr(t,e.descriptor)}`;case Dr.PeerDependencyMeta:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"peerDependenciesMeta",Pe.CODE)} \u27A4 ${Cr(t,Si(e.selector))} \u27A4 ${Gi(t,e.key,Pe.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case Dr.Dependency:return`${dt(t.parentDescriptor)} > ${dt(t.descriptor)}`;case Dr.PeerDependency:return`${dt(t.parentDescriptor)} >> ${dt(t.descriptor)}`;case Dr.PeerDependencyMeta:return`${dt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Pe.SETTING]:Nn({pretty:(t,e)=>(t.get(e),tc(t,Gi(t,e,Pe.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Pe.DURATION]:Nn({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}),[Pe.SIZE]:Nn({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 Gi(t,`${s} ${r[i-1]}`,Pe.NUMBER)},json:t=>t}),[Pe.PATH]:Nn({pretty:(t,e)=>Gi(t,T.fromPortablePath(e),Pe.PATH),json:t=>T.fromPortablePath(t)})};function dA(t,e){return[e,t]}function Hm(t,e,r){return t.get("enableColors")&&r&2&&(e=yf.default.bold(e)),e}function Gi(t,e,r){if(!t.get("enableColors"))return e;let i=$pe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:ub.level>=3?i[0]:i[1],s=typeof n=="number"?fb.ansi256(n):n.startsWith("#")?fb.hex(n):fb[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var ede=!!process.env.KONSOLE_VERSION;function tc(t,e,r){return t.get("enableHyperlinks")?ede?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function qe(t,e,r){if(e===null)return Gi(t,"null",Pe.NULL);if(Object.prototype.hasOwnProperty.call(Um,r))return Um[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Gi(t,e,r)}function hb(t,e,r,{separator:i=", "}={}){return[...e].map(n=>qe(t,n,r)).join(i)}function rc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Um,e))return qQ(e),Um[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 ib(t){return{Check:Gi(t,"\u2713","green"),Cross:Gi(t,"\u2718","red"),Question:Gi(t,"?","cyan")}}function CA(t,{label:e,value:[r,i]}){return`${qe(t,e,Pe.CODE)}: ${qe(t,r,i)}`}var Ln;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ln||(Ln={}));function Bf(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([U2.default.matcher(m),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,H2.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,I]of s)if(m(p))return I!=null?I:h}if(i.size>0){let m=i.get(MC(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 Ln.Info:a.call(g,f,h);break;case Ln.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ln.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ln.Info)},t.reportWarning=function(...g){return u(this,...g,Ln.Warning)},t.reportError=function(...g){return u(this,...g,Ln.Error)}}var Rt={};et(Rt,{Method:()=>IA,RequestError:()=>xj.RequestError,del:()=>hIe,get:()=>gIe,getNetworkSettings:()=>Fj,post:()=>PD,put:()=>fIe,request:()=>Rf});var bj=te(sI()),Dj=te(require("https")),Sj=te(require("http")),kD=te(Yi()),vD=te(Bj()),oI=te(require("url"));var wj=te(require("stream")),Qj=te(require("string_decoder"));var _e=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function aIe(t){return typeof t.reportCode!="undefined"}var ci=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{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(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 xj=te(sI()),kj=new Map,vj=new Map,AIe=new Sj.Agent({keepAlive:!0}),lIe=new Dj.Agent({keepAlive:!0});function Pj(t){let e=new oI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function cIe(t){return Ys(vj,t,()=>L.readFilePromise(t).then(e=>(vj.set(t,e),e)))}function uIe({statusCode:t,statusMessage:e},r){let i=qe(r,t,Pe.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return tc(r,`${i}${e?` (${e})`:""}`,n)}async function aI(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 bj.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${qe(e,"httpTimeout",Pe.SETTING)})`);let a=new _e(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Response Code",value:dA(Pe.NO_HINT,uIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Method",value:dA(Pe.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request URL",value:dA(Pe.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Redirects",value:dA(Pe.NO_HINT,hb(e,s.request.redirects,Pe.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Retry Count",value:dA(Pe.NO_HINT,`${qe(e,s.request.retryCount,Pe.NUMBER)} (can be increased via ${qe(e,"httpRetry",Pe.SETTING)})`)})}`)});throw a.originalError=s,a}}function Fj(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},n=Object.keys(i),s=typeof t=="string"?new oI.URL(t):t;for(let[o,a]of r)if(kD.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 IA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(IA||(IA={}));async function Rf(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=IA.GET}){let a=typeof t=="string"?new oI.URL(t):t,l=Fj(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:"&&!kD.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?vD.default.httpOverHttp(Pj(l.httpProxy)):AIe,https:l.httpsProxy?vD.default.httpsOverHttp(Pj(l.httpsProxy)):lIe},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,{default:m}=await Promise.resolve().then(()=>te(sI())),I=p?await cIe(p):void 0,y=m.extend(v({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function gIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Rr(s,["configuration","jsonResponse"]);let o=Ys(kj,t,()=>aI(Rf(t,null,v({configuration:e},i)),{configuration:e}).then(a=>(kj.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function fIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.PUT})),i)).body}async function PD(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.POST})),i)).body}async function hIe(t,i){var n=i,{customErrorMessage:e}=n,r=Rr(n,["customErrorMessage"]);return(await aI(Rf(t,null,V(v({},r),{method:IA.DELETE})),r)).body}var Qt={};et(Qt,{executePackageAccessibleBinary:()=>jW,executePackageScript:()=>VI,executePackageShellcode:()=>PS,executeWorkspaceAccessibleBinary:()=>qQe,executeWorkspaceLifecycleScript:()=>YW,executeWorkspaceScript:()=>HW,getPackageAccessibleBinaries:()=>XI,getWorkspaceAccessibleBinaries:()=>UW,hasPackageScript:()=>YQe,hasWorkspaceScript:()=>vS,makeScriptEnv:()=>$f,maybeExecuteWorkspaceLifecycleScript:()=>GQe,prepareExternalProject:()=>HQe});var Of={};et(Of,{getLibzipPromise:()=>gi,getLibzipSync:()=>oG});var _o=["number","number"],FD;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",R[R.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",R[R.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",R[R.ZIP_ER_READ=5]="ZIP_ER_READ",R[R.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",R[R.ZIP_ER_CRC=7]="ZIP_ER_CRC",R[R.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",R[R.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",R[R.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",R[R.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",R[R.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",R[R.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",R[R.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",R[R.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",R[R.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",R[R.ZIP_ER_EOF=17]="ZIP_ER_EOF",R[R.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",R[R.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",R[R.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",R[R.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",R[R.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",R[R.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",R[R.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",R[R.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",R[R.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",R[R.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",R[R.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",R[R.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",R[R.ZIP_ER_TELL=30]="ZIP_ER_TELL",R[R.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(FD||(FD={}));var Rj=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:FD,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",..._o,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",..._o,"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",..._o,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",..._o,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",..._o,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",..._o,"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",..._o,"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",..._o,"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 ZD=null;function oG(){return ZD===null&&(ZD=Rj(sG())),ZD}async function gi(){return oG()}var zf={};et(zf,{ShellError:()=>ia,execute:()=>xc,globUtils:()=>MI});var Jf={};et(Jf,{parseResolution:()=>wI,parseShell:()=>II,parseSyml:()=>Kr,stringifyArgument:()=>tS,stringifyArgumentSegment:()=>rS,stringifyArithmeticExpression:()=>BI,stringifyCommand:()=>eS,stringifyCommandChain:()=>mc,stringifyCommandChainThen:()=>$D,stringifyCommandLine:()=>EI,stringifyCommandLineThen:()=>_D,stringifyEnvSegment:()=>yI,stringifyRedirectArgument:()=>Kf,stringifyResolution:()=>QI,stringifyShell:()=>Cc,stringifyShellLine:()=>Cc,stringifySyml:()=>ro,stringifyValueArgument:()=>Ic});var lG=te(AG());function II(t,e={isGlobPattern:()=>!1}){try{return(0,lG.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 Cc(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`${mc(t.chain)}${t.then?` ${_D(t.then)}`:""}`}function _D(t){return`${t.type} ${EI(t.line)}`}function mc(t){return`${eS(t)}${t.then?` ${$D(t.then)}`:""}`}function $D(t){return`${t.type} ${mc(t.chain)}`}function eS(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>yI(e)).join(" ")} `:""}${t.args.map(e=>tS(e)).join(" ")}`;case"subshell":return`(${Cc(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Kf(e)).join(" ")}`:""}`;case"group":return`{ ${Cc(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Kf(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>yI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function yI(t){return`${t.name}=${t.args[0]?Ic(t.args[0]):""}`}function tS(t){switch(t.type){case"redirection":return Kf(t);case"argument":return Ic(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Kf(t){return`${t.subtype} ${t.args.map(e=>Ic(e)).join(" ")}`}function Ic(t){return t.segments.map(e=>rS(e)).join("")}function rS(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i.match(/[(){}<>$|&; \t"']/)?i.match(/[$"]/)?`'${i.replace(/[']/g,"\\'")}'`:`"${i}"`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Cc(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>Ic(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${BI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function BI(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(BI(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 gG=te(uG());function wI(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,gG.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 QI(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 LI=te(rJ()),sJ=te(nJ()),_Be=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,oJ=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],pS=class{constructor(e){this.data=e}};function aJ(t){return t.match(_Be)?t:JSON.stringify(t)}function AJ(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>AJ(t[e])):!1}function dS(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${aJ(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${dS(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof pS?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=oJ.indexOf(l),g=oJ.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=>!AJ(i[l])).map((l,c)=>{let u=i[l],g=aJ(l),f=dS(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function ro(t){try{let e=dS(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}}ro.PreserveOrdering=pS;function $Be(t){return t.endsWith(` +`)||(t+=` +`),(0,sJ.parse)(t)}var ewe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function twe(t){if(ewe.test(t))return $Be(t);let e=(0,LI.safeLoad)(t,{schema:LI.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 Kr(t){return twe(t)}var EJ=te(eQ()),yJ=te(require("os")),qi=te(require("stream")),BJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var MI={};et(MI,{fastGlobOptions:()=>uJ,isBraceExpansion:()=>gJ,isGlobPattern:()=>rwe,match:()=>iwe,micromatchOptions:()=>OI});var lJ=te(Qm()),cJ=te(require("fs")),TI=te(Yi()),OI={strictBrackets:!0},uJ={onlyDirectories:!1,onlyFiles:!1};function rwe(t){if(!TI.default.scan(t,OI).isGlob)return!1;try{TI.default.parse(t,OI)}catch{return!1}return!0}function iwe(t,{cwd:e,baseFs:r}){return(0,lJ.default)(t,V(v({},uJ),{cwd:T.fromPortablePath(e),fs:QC(cJ.default,new Dg(r))}))}function gJ(t){return TI.default.scan(t,OI).isBrace}var fJ=te(Mw()),As=te(require("stream")),hJ=te(require("string_decoder")),vi;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(vi||(vi={}));var FA=new Set;function CS(){}function mS(){for(let t of FA)t.kill()}function pJ(t,e,r,i){return n=>{let s=n[0]instanceof As.Transform?"pipe":n[0],o=n[1]instanceof As.Transform?"pipe":n[1],a=n[2]instanceof As.Transform?"pipe":n[2],l=(0,fJ.default)(t,e,V(v({},i),{stdio:[s,o,a]}));return FA.add(l),FA.size===1&&(process.on("SIGINT",CS),process.on("SIGTERM",mS)),n[0]instanceof As.Transform&&n[0].pipe(l.stdin),n[1]instanceof As.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof As.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),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=>{FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),c(u!==null?u:129)})})}}}function dJ(t){return e=>{let r=e[0]==="pipe"?new As.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Tn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},CJ=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}},Wf=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 Wf(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Wf(this,e),n=new CJ;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 KI(t,e){return Wf.start(t,e)}function mJ(t,e=null){let r=new As.PassThrough,i=new hJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(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 IJ(t,{prefix:e}){return{stdout:mJ(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:mJ(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var nwe=(0,BJ.promisify)(setTimeout);var Vr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Vr||(Vr={}));function wJ(t,e,r){let i=new qi.PassThrough({autoDestroy:!0});switch(t){case vi.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof qi.Writable&&i.pipe(r.stdin,{end:!1});break;case vi.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case vi.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function UI(t,e={}){let r=v(v({},t),e);return r.environment=v(v({},t.environment),e.environment),r.variables=v(v({},t.variables),e.variables),r}var swe=new Map([["cd",async([t=(0,yJ.homedir)(),...e],r,i)=>{let n=D.resolve(i.cwd,T.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory +`),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${T.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")return r.stderr.write(`sleep: missing operand +`),1;let i=Number(t);return Number.isNaN(i)?(r.stderr.write(`sleep: invalid time interval '${t}' +`),1):await nwe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await KI(i,{stdin:new Tn(r.stdin),stdout:new Tn(r.stdout),stderr:new Tn(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=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},I=Number(t[c++]),y=c+I;for(let B=c;Be.baseFs.createReadStream(D.resolve(r.cwd,T.toPortablePath(t[B]))));break;case"<<<":p(()=>{let x=new qi.PassThrough;return process.nextTick(()=>{x.write(`${t[B]} +`),x.end()}),x});break;case"<&":p(()=>wJ(Number(t[B]),1,r));break;case">":case">>":{let x=D.resolve(r.cwd,T.toPortablePath(t[B]));m(x==="/dev/null"?new qi.Writable({autoDestroy:!0,emitClose:!0,write(F,N,O){setImmediate(O)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(wJ(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new qi.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 qi.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new qi.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await KI(Vf(t.slice(c+1),e,r),{stdin:new Tn(i),stdout:new Tn(n),stderr:new Tn(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 owe(t,e,r){let i=[],n=new qi.PassThrough;return n.on("data",s=>i.push(s)),await HI(t,e,UI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function QJ(t,e,r){let i=t.map(async s=>{let o=await RA(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 IS(t){return t.match(/[^ \r\n\t]+/g)||[]}async function bJ(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=IS(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 Xf(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 bJ(V(v({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?Xf({type:"variable",name:i.join(" ")},e,r):Xf({type:"number",value:n},e,r)}else return awe[t.type](await Xf(t.left,e,r),await Xf(t.right,e,r))}async function RA(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 RA(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 owe(f.shell,e,r);if(f.quoted)o(h);else{let p=IS(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 Vf(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=T.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(v({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return pJ(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 dJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function Awe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,UI(r,{stdin:n}));return{stdin:n,promise:s}}}function lwe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,r);return{stdin:n,promise:s}}}function DJ(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=v({},i.procedures),i.procedures[n]=t,Vf([...e,"__ysh_run_procedure",n],r,i)}}async function SJ(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?v({},r):r,a;switch(i.type){case"command":{let l=await RA(i.args,e,r),c=await QJ(i.envs,e,r);a=i.envs.length?Vf(l,e,UI(o,{environment:c})):Vf(l,e,o)}break;case"subshell":{let l=await RA(i.args,e,r),c=Awe(i.subshell,e,o);a=DJ(c,l,e,o)}break;case"group":{let l=await RA(i.args,e,r),c=lwe(i.group,e,o);a=DJ(c,l,e,o)}break;case"envs":{let l=await QJ(i.envs,e,r);o.environment=v(v({},o.environment),l),a=Vf(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=KI(a,{stdin:new Tn(o.stdin),stdout:new Tn(o.stdout),stderr:new Tn(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,vi.STDOUT);break;case"|&":s=s.pipeTo(a,vi.STDOUT|vi.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 cwe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return EJ.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=IJ(r,{prefix:l});return r.backgroundJobs.push(SJ(t,e,UI(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(mc(t))}' has ended +`)})),0}return await SJ(t,e,r)}async function uwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await cwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))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 HI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await uwe(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 xJ(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=>YI(e));case"arithmetic":return ES(t.arithmetic);case"shell":return yS(t.shell);default:return!1}}function YI(t){switch(t.type){case"redirection":return t.args.some(e=>YI(e));case"argument":return t.segments.some(e=>xJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function ES(t){switch(t.type){case"variable":return xJ(t);case"number":return!1;default:return ES(t.left)||ES(t.right)}}function yS(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=yS(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>YI(s)))||r.args.some(n=>YI(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 xc(t,e=[],{baseFs:r=new Ft,builtins:i={},cwd:n=T.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=MI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(swe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new qi.PassThrough,o.end());let h=II(t,u);if(!yS(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(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await HI(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 TW=te(SS()),OW=te(GI()),vc=te(require("stream"));var DW=te(cr());var vt={};et(vt,{SemVer:()=>wW.SemVer,satisfiesWithPrereleases:()=>_f,validRange:()=>Kn});var qI=te(cr()),wW=te(cr()),QW=new Map;function _f(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=QW.get(i);if(typeof n=="undefined")try{n=new qI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{QW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new qI.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 bW=new Map;function Kn(t){if(t.indexOf(":")!==-1)return null;let e=bW.get(t);if(typeof e!="undefined")return e;try{e=new qI.default.Range(t)}catch{e=null}return bW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=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 Ft}={}){let i=D.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Ft}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;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(xW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=SW(e)}async loadFile(e,{baseFs:r=new Ft}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(xW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=SW(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=Si(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(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=fi(e.main):this.main=null,typeof e.module=="string"?this.module=fi(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=fi(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(fi(s),typeof o=="string"?fi(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,fi(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}this.bin.set(s,fi(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=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(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=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(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=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!Kn(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&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=Jo(s),l=this.ensureDependencyMeta(a),c=JI(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=JI(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=JI(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=Jo(s),l=this.ensurePeerDependencyMeta(a),c=JI(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:wI(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=fi(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=fi(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=fi(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(fi(s),typeof o=="string"?fi(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,fi(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,fi(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(fi(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")):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=Si(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.dependencies.set(l.identHash,l);let c=zt(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))}isCompatibleWithOS(e){return na.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return na.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!DW.default.valid(e.range))throw new Error(`Invalid meta field range for '${xi(e)}'`);let r=dt(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 '${xi(e)}'`);let r=dt(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}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=dt(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 s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}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(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=V(v({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:s})=>s)}):e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):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 s of this.dependencies.values()){let o=this.dependenciesMeta.get(dt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...ec(i).map(s=>({[dt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...ec(n).map(s=>({[dt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...ec(this.devDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...ec(this.peerDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of bi(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of bi(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?xi(zt(Si(s),a)):s,u=v({},l);r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bi(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[QI(s)]:o}))):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,e}},ze=na;ze.fileName="package.json",ze.allDependencies=["dependencies","devDependencies","peerDependencies"],ze.hardDependencies=["dependencies","devDependencies"];function SW(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function xW(t){return t.charCodeAt(0)===65279?t.slice(1):t}function fi(t){return t.replace(/\\/g,"/")}function JI(t,{yamlCompatibilityMode:e}){return e?XQ(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var FW=te(PW());var RW=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],NW=80,RQe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),NQe=5,sa=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,LW=new Date,LQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MQe=t=>t,zI=MQe({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}}),TQe=LQe&&Object.keys(zI).find(t=>{let e=zI[t];return!(e.date&&(e.date[0]!==LW.getDate()||e.date[1]!==LW.getMonth()+1))})||"default";function MW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=MC(t===null?0:t);return!r&&t===null?qe(e,n,"grey"):n}function kS(t,{configuration:e,json:r}){let i=MW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return tc(e,i,s)}var xe=class extends ci{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=NQe,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.forgettableLines=[];Bf(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...RQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||TQe;if(!Object.prototype.hasOwnProperty.call(zI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=zI[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.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(z.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(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}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=`${qe(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(`${qe(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(`${qe(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-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(1))};return V(v({},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=qe(this.configuration,Date.now()-this.startTime,Pe.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.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 (${nt(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 (${nt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.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.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>NW&&(this.progressFrame=(this.progressFrame+1)%RW.length,this.progressTime=e);let r=RW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${qe(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},NW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,FW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return MW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return kS(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Er="3.0.2";var cs;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(cs||(cs={}));async function io(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 L.writeFilePromise(D.format({dir:t,name:e,ext:".cmd"}),n)}await L.writeFilePromise(D.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`),await L.chmodPromise(D.join(t,e),493)}async function OQe(t){let e=null;try{e=await L.readFilePromise(D.join(t,xt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:cs.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:cs.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:L.existsSync(D.join(t,"package-lock.json"))?{packageManager:cs.Npm,reason:`found npm's "package-lock.json" lockfile`}:L.existsSync(D.join(t,"pnpm-lock.yaml"))?{packageManager:cs.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function $f({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=T.fromPortablePath(r);n.BERRY_BIN_FOLDER=T.fromPortablePath(s);let o=process.env.COREPACK_ROOT?T.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([io(r,"node",process.execPath),...Er!==null?[io(r,"run",process.execPath,[o,"run"]),io(r,"yarn",process.execPath,[o]),io(r,"yarnpkg",process.execPath,[o]),io(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=T.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=T.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${T.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${T.sep}yarn`,n.npm_node_execpath=`${s}${T.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=dt(e),n.npm_package_version=g}let a=Er!==null?`yarn/${Er}`:`yarn/${ql("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${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 io(r,rr(u),g,f)),n}var KQe=2,UQe=(0,OW.default)(KQe);async function HQe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UQe(async()=>{await L.mktempPromise(async o=>{let a=D.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:T.fromPortablePath(t),report:i}),g=s&&ss(s)?df(s):s,f=g?gn(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await OQe(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=cs.Yarn2),await L.mktempPromise(async m=>{let I=await $f({binFolder:m}),B=new Map([[cs.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Ts("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(N.code!==0)return N.code;await L.appendFilePromise(D.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let O=await Ts("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(O.code!==0)return O.code;c.write(` +`);let P=await Ts("yarn",[...F,"pack","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return P.code!==0?P.code:0}],[cs.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=D.join(t,xt.lockfile);await L.existsPromise(N)||await L.writeFilePromise(N,"");let O=await Ts("yarn",[...F,"pack","--install-if-needed","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return O.code!==0?O.code:0}],[cs.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Ts("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(F.code!==0)return F.code;let N=new vc.PassThrough,O=af(N);N.pipe(c);let P=await Ts("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(P.code!==0)return P.code;let J=(await O).toString().trim(),oe=D.resolve(t,T.toPortablePath(J));return await L.renamePromise(oe,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await B();if(!(x===0||typeof x=="undefined"))throw L.detachTemp(o),new _e(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function YQe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return vS(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r.configuration,t)} not found in the project`);return await nn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new xe({stdout:new vc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${nt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await ze.find(we.dot,{baseFs:g})).scripts.has(e)},{libzip:await gi()})}async function VI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await KW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await xc(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 PS(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{env:c,cwd:u}=await KW(t,{project:n,binFolder:l,cwd:i});return await xc(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jQe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await $f({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await UW(t),([s,[,o]])=>io(e,rr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=D.dirname(await L.realpathPromise(D.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function KW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jQe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${nt(e.configuration,t)} not found in the project`);return await nn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new xe({stdout:new vc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${nt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await $f({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await XI(t,{project:e}),([I,[,y]])=>io(r,rr(I),process.execPath,[y])));let h=await g.findPackageLocation(o,u),p=new yt(h,{baseFs:a}),m=await ze.find(we.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await gi()})}async function HW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await VI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function vS(t,e){return t.manifest.scripts.has(e)}async function YW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await L.mktempPromise(async o=>{let a=D.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:nt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await HW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw L.detachTemp(o),new _e(z.LIFECYCLE_SCRIPT,`${(0,TW.default)(e)} script failed (exit code ${qe(n,g,Pe.NUMBER)}, logs can be found here: ${qe(n,a,Pe.PATH)}); run ${qe(n,`yarn ${e}`,Pe.CODE)} to investigate`)})}async function GQe(t,e,r){vS(t,e)&&await YW(t,e,r)}async function XI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r,t)} not found in the project`);let s=new vc.Writable,o=r.getLinkers(),a={project:e,report:new xe({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 (${Ut(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 sA.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return sA.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return sA.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===sA.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,T.fromPortablePath(D.resolve(f,p))])}return i}async function UW(t){return await XI(t.anchoredLocator,{project:t.project})}async function jW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await XI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${nt(n.configuration,t)}`);return await L.mktempPromise(async g=>{let[,f]=u,h=await $f({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>io(h.BERRY_BIN_FOLDER,rr(m),process.execPath,[I])));let p;try{p=await Ts(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await L.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qQe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await jW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var hr={};et(hr,{convertToZip:()=>lDe,extractArchiveTo:()=>uDe,makeArchiveFromDirectory:()=>ADe,safeTime:()=>zi});var W4=te(require("stream")),z4=te(k4());var Y4=te(require("os")),j4=te(H4()),G4=te(require("worker_threads")),Vx=class{constructor(e){this.source=e;this.pool=[];this.queue=new j4.default({concurrency:Math.max(1,(0,Y4.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new G4.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var V4=te(J4()),zi=456789e3;async function ADe(t,{baseFs:e=new Ft,prefixPath:r=we.root,compressionLevel:i,inMemory:n=!1}={}){let s=await gi(),o;if(n)o=new Qr(null,{libzip:s,level:i});else{let l=await L.mktempPromise(),c=D.join(l,"archive.zip");o=new Qr(c,{create:!0,libzip:s,level:i})}let a=D.resolve(we.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var X4;async function lDe(t,e){let r=await L.mktempPromise(),i=D.join(r,"archive.zip");return X4||(X4=new Vx((0,V4.getContent)())),await X4.run({tmpFile:i,tgz:t,opts:e}),new Qr(i,{libzip:await gi(),level:e.compressionLevel})}async function*cDe(t){let e=new z4.default.Parse,r=new W4.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.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uDe(t,e,{stripComponents:r=0,prefixPath:i=we.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 cDe(t)){if(n(a))continue;let l=D.normalize(T.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=D.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(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"OldFile":case"File":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.writeFileSync(u,await af(a)),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"SymbolicLink":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,zi,zi);break}}return e}var Un={};et(Un,{emitList:()=>gDe,emitTree:()=>rz,treeNodeToJson:()=>tz,treeNodeToTreeify:()=>ez});var $4=te(_4());function ez(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(Hm(e,l,pA.BOLD)),typeof c!="undefined"&&g.push(qe(e,c[0],c[1])),g.length===0&&g.push(Hm(e,`${a}`,pA.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 tz(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 gDe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));rz({children:n},{configuration:e,stdout:r,json:i})}function rz(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(tz(l))} +`);return}let s=(0,$4.asTree)(ez(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 _x=te(require("fs"));var fDe=8,ft=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;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!==qa?`c${o}`:"";this.cacheKey=[fDe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new ft(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`${$l(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hDe(r).slice(0,10);return`${$l(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?D.resolve(this.cwd,this.getVersionFilename(e)):r===null||$x(r)!==this.cacheKey?null:D.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?D.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await L.existsPromise(this.cwd))throw new _e(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await L.mkdirPromise(this.cwd,{recursive:!0});let e=D.resolve(this.cwd,".gitignore");await L.changeFilePromise(e,`/.gitignore +*.flock +`)}(this.mirrorCwd||!this.immutable)&&await L.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new Ft,c=async(N,O=null)=>{let P=!o||!r?`${this.cacheKey}/${await Pm(N)}`:r;if(O!==null){let J=!o||!r?`${this.cacheKey}/${await Pm(O)}`:r;if(P!==J)throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&P!==r){let J;switch(this.check?J="throw":$x(r)!==$x(P)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return P;default:case"throw":throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return P},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${nt(this.configuration,e)}`);let O=await s(),P=O.getRealPath();return O.saveAndClose(),await L.chmodPromise(P,420),await c(N,P)},g=async()=>{if(a===null||!await L.existsPromise(a)){let P=await s(),J=P.getRealPath();return P.saveAndClose(),{source:"loader",path:J}}let N=await L.mktempPromise(),O=D.join(N,this.getVersionFilename(e));return await L.copyFilePromise(a,O,_x.default.constants.COPYFILE_FICLONE),{source:"mirror",path:O}},f=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${nt(this.configuration,e)}`);if(this.immutable)throw new _e(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${nt(this.configuration,e)}`);let{path:N,source:O}=await g();await L.chmodPromise(N,420);let P=await c(N),J=this.getLocatorPath(e,P);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(O!=="mirror"&&a!==null){let K=await L.mktempPromise();oe=D.join(K,this.getVersionFilename(e)),await L.copyFilePromise(N,oe,_x.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(O==="mirror"?null:a,async()=>(await L.movePromise(N,J),oe&&a&&await L.movePromise(oe,a),[J,P])))},h=async()=>{let O=(async()=>{let P=this.getLocatorPath(e,r),J=P!==null?await l.existsPromise(P):!1,oe=J?i:n;if(oe&&oe(),J){let K=null,A=P;return this.check?K=await u(A):K=await c(A),[A,K]}else return f()})();this.mutexes.set(e.locatorHash,O);try{return await O}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await h();this.markedFiles.add(p);let I=null,y=await gi(),B=new bg(()=>zQ(()=>I=new Qr(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${nt(this.configuration,e)}: ${N}`),D);return[new Ja(p,{baseFs:B,pathUtils:D}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await L.lockPromise(e,async()=>await r())}};function $x(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hDe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var lz=te(nz()),jE=te(Ng());var cz=te(GI()),nk=te(require("stream"));var sz={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!==dt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==dt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(zt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Ef(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(z.INVALID_MANIFEST,i.message)}}};var tk=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 _e(z.FETCHER_NOT_FOUND,`${nt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Xc=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(`${Ut(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(`${nt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var oz=te(cr());var Zc=/^(?!v)[a-z0-9._-]+$/i,rk=class{supportsDescriptor(e,r){return!!(Kn(e.range)||Zc.test(e.range))}supportsLocator(e,r){return!!(oz.default.valid(e.reference)||Zc.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 ff(i,e)}forwardDescriptor(e,r){return zt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Ai(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ih=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=Ai(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=Ai(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return $l(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=ir.makeVirtualPath(s,o,n),l=new Ja(a,{baseFs:r.packageFs,pathUtils:D});return V(v({},r),{packageFs:l})}};var _c=class{static isVirtualDescriptor(e){return!!e.range.startsWith(_c.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(_c.protocol)}supportsDescriptor(e,r){return _c.isVirtualDescriptor(e)}supportsLocator(e,r){return _c.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')}},YE=_c;YE.protocol="virtual:";var Eh=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Eh.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Eh.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(Eh.protocol.length));return V(v({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:lt.SOFT,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})}},Ci=Eh;Ci.protocol="workspace:";var ik=class{supports(e){return!!e.reference.startsWith(Ci.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new yt(i),prefixPath:we.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Ci.protocol.length))}};var az=te(require("module"));function Az(){return new Set(az.default.builtinModules||Object.keys(process.binding("natives")))}var dDe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),GE="yarn_",sk=".yarnrc.yml",ok="yarn.lock",CDe="********",ge;(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"})(ge||(ge={}));var ds=Pe,ak={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:jw()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.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:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:qa},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.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:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:qE()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:Km,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:gb,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:jE.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!jE.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:jE.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ln),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.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:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.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:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.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:ge.BOOLEAN,default:!1}}}}}}}};function lk(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>Ak(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>Ak(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Ak(t,e,r,i,n)}function Ak(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mDe(t,e,r,i,n);case ge.MAP:return IDe(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===ge.BOOLEAN&&typeof r!="string")return lf(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=VQ(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return D.resolve(n,T.toPortablePath(l));case ge.LOCATOR_LOOSE:return hA(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return hA(l);case ge.BOOLEAN:return lf(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 mDe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=ck(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 me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,lk(t,l,a,i.properties[o],n))}return s}function IDe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`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,lk(t,c,a,u,n))}return s}function ck(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,ck(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?D.isAbsolute(e.default)?D.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>D.resolve(t.projectCwd,i)):D.resolve(t.projectCwd,e.default);default:return e.default}}function JE(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CDe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return T.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(JE(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,JE(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,JE(s,o,r))}return i}return t}function EDe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(GE)&&(e=(0,lz.default)(e.slice(GE.length)),t[e]=r);return t}function qE(){let t=`${GE}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return sk}var Ca;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(Ca||(Ca={}));var co=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 co(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(ak);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=EDe();delete a.rcFilename;let l=await co.findRcFiles(e),c=await co.findHomeRcFile();if(c){let y=l.find(B=>B.path===c.path);y?y.strict=!1:l.push(V(v({},c),{strict:!1}))}let u=({ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F})=>({ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F}),g=O=>{var P=O,{ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F}=P,N=Rr(P,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return N},f=new co(e);f.importSettings(u(ak)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:B,data:x}of l)f.useWithSource(y,u(x),B,{strict:!1});if(s){let y=f.get("yarnPath"),B=f.get("ignorePath");if(y!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await co.findProjectCwd(e,h);break;case 1:p=await co.findProjectCwd(e,null);break;case 2:L.existsSync(D.join(e,"package.json"))?p=D.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(ak));let m=new Map([["@@core",sz]]),I=y=>"default"in y?y.default:y;if(r!==null){for(let F of r.plugins.keys())m.set(F,I(r.modules.get(F)));let y=new Map;for(let F of Az())y.set(F,()=>ql(F));for(let[F,N]of r.modules)y.set(F,()=>N);let B=new Set,x=async(F,N)=>{let{factory:O,name:P}=ql(F);if(B.has(P))return;let J=new Map(y),oe=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},K=await Gl(async()=>I(await O(oe)),A=>`${A} (when initializing ${P}, defined in ${N})`);y.set(P,()=>K),B.add(P),m.set(P,K)};if(a.plugins)for(let F of a.plugins.split(";")){let N=D.resolve(e,T.toPortablePath(F));await x(N,"")}for(let{path:F,cwd:N,data:O}of l)if(!!o&&!!Array.isArray(O.plugins))for(let P of O.plugins){let J=typeof P!="string"?P.path:P,oe=D.resolve(N,T.toPortablePath(J));await x(oe,F)}}for(let[y,B]of m)f.activatePlugin(y,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:B,data:x,strict:F}of l)f.useWithSource(y,g(x),B,{strict:F!=null?F: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=qE(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=D.join(s,r);if(L.existsSync(o)){let a=await L.readFilePromise(o,"utf8"),l;try{l=Kr(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 me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=D.dirname(s)}return i}static async findHomeRcFile(){let e=qE(),r=vg(),i=D.join(r,e);if(L.existsSync(i)){let n=await L.readFilePromise(i,"utf8"),s=Kr(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,L.existsSync(D.join(s,"package.json"))&&(i=s),r!==null){if(L.existsSync(D.join(s,r))){i=s;break}}else if(i!==null)break;n=D.dirname(s)}return i}static async updateConfiguration(e,r){let i=qE(),n=D.join(e,i),s=L.existsSync(n)?Kr(await L.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 L.changeFilePromise(n,ro(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=vg();return await co.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,ck(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${qe(this,e,Pe.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dDe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${GE}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`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===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=lk(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${qe(this,e,Pe.PATH)}`,u}if(l.type===ge.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 me(`Couldn't find a configuration settings named "${e}"`);return JE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=L.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${qe(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${qe(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.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 Xc([new YE,new Ci,new rk,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new tk([new Ih,new ik,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new ze;o.load(n,{yamlCompatibilityMode:!0});let a=Yl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(v({},c),{type:Dr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(v({},c),{type:Dr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(V(v({},c),{type:Dr.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),nm(n),{userProvided:!0})}normalizePackage(e){let r=hf(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(!!_f(s,o))for(let l of a)switch(l.status===qr.Inactive&&(l.status=qr.Redundant),l.type){case Dr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.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=qr.Active,Ys(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:JQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Go("types",o),l=dt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Si(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,zt(o,"*"))}return r.dependencies=new Map(bi(r.dependencies,([,s])=>xi(s))),r.peerDependencies=new Map(bi(r.peerDependencies,([,s])=>xi(s))),r}getLimit(e){return Ys(this.limits,e,()=>(0,cz.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}},le=co;le.telemetry=null;var Vi;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Vi||(Vi={}));var uo=class extends ci{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Bf(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){}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(`${qe(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(v({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${qe(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 kS(e,{configuration:this.configuration,json:!1})}};var uy=te(require("crypto")),r6=te(Wz()),gy=te(e6()),i6=te(GI()),n6=te(cr()),Tk=te(require("util")),Ok=te(require("v8")),Kk=te(require("zlib"));var iPe=[[/^(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)=>Tm({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],Lk=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=D.join(e.cwd,e.configuration.get("lockfileFilename"));if(!L.existsSync(i))return;let n=await L.readFilePromise(i,"utf8"),s=Kr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=mf(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Kn(l.range)&&(l=zt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iPe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Ut(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=_l(l.range),p=mf(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Ai(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[n]}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 cy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Lm(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}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[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Lm(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 Mk=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 _e(z.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 _e(z.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 _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var Br=class extends ci{reportCacheHit(e){}reportCacheMiss(e){}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 V(v({},r),{stop:i})}reportJson(e){}async finalize(){}};var t6=te(tb());var Lh=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=L.existsSync(D.join(this.cwd,ze.fileName))?await ze.find(this.cwd):new ze,this.relativeCwd=D.relative(this.project.cwd,this.cwd)||we.dot;let e=this.manifest.name?this.manifest.name:Go(null,`${this.computeCandidateName()}-${ai(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Ai(e,r),this.anchoredDescriptor=zt(this.locator,`${Ci.protocol}${this.relativeCwd}`),this.anchoredLocator=Ai(this.locator,`${Ci.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,t6.default)(i,{cwd:T.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=D.resolve(this.cwd,T.toPortablePath(s));L.existsSync(D.join(o,"package.json"))&&this.workspacesCwds.add(o)}}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===Ci.protocol&&D.normalize(n)===this.relativeCwd||i===Ci.protocol&&n==="*")return!0;let s=Kn(n);return s?i===Ci.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":`${D.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ze.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}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=D.join(this.cwd,ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await L.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var Uk=4,nPe=1,sPe=/ *, */g,s6=/\/$/,oPe=32,aPe=(0,Tk.promisify)(Kk.default.gzip),APe=(0,Tk.promisify)(Kk.default.gunzip),kr;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(kr||(kr={}));var Hk={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=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.originalPackages=new Map;this.optionalBuilds=new Set;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 c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,L.existsSync(D.join(s,xt.manifest))){i=s;break}n=D.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=le.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=le.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=le.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.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};throw new me(`The nearest package directory (${qe(e,i,Pe.PATH)}) doesn't seem to be part of the project declared in ${qe(e,o.cwd,Pe.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${qe(e,D.relative(o.cwd,i),Pe.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(L.existsSync(e)){let i=await L.readFilePromise(e,"utf8");this.lockFileChecksum=ai(`${nPe}`,i);let n=Kr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=hA(l.resolution,!0),u=new ze;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,f=u.languageName||r,h=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,B=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=Uk){let x=V(v({},c),{version:g,languageName:f,linkType:h,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:B});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(sPe)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=Uk)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Mm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){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 Lh(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Cr(this.configuration,r.locator)}: ${T.fromPortablePath(e)} conflicts with ${T.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){D.isAbsolute(e)||(e=D.resolve(this.cwd,e)),e=D.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)D.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 (${Cr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qo(e)&&(e=pf(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ut(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(ss(e)&&(e=df(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 (${nt(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 ${Ef(this.configuration,e)} (${qe(this.configuration,D.join(e.cwd,xt.manifest),Pe.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)qo(i)&&e.dependencies.set(r,pf(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(dt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!n6.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 Br,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(s6,"")!==e.replace(s6,""))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 Lk;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new Xc([new cy,new Mk(r)]):new Xc([new cy,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=[],p=async P=>{let J=await Gl(async()=>await n.resolve(P,o),K=>`${nt(this.configuration,P)}: ${K}`);if(!ob(P,J))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${nt(this.configuration,P)} to ${nt(this.configuration,J)})`);u.set(J.locatorHash,J);let oe=this.configuration.normalizePackage(J);for(let[K,A]of oe.dependencies){let W=await this.configuration.reduceHook(re=>re.reduceDependency,A,this,oe,A,{resolver:n,resolveOptions:o});if(!Cf(A,W))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let ee=n.bindDescriptor(W,P,o);oe.dependencies.set(K,ee)}return h.push(Promise.all([...oe.dependencies.values()].map(K=>B(K)))),l.set(oe.locatorHash,oe),oe},m=async P=>{let J=g.get(P.locatorHash);if(typeof J!="undefined")return J;let oe=Promise.resolve().then(()=>p(P));return g.set(P.locatorHash,oe),oe},I=async(P,J)=>{let oe=await B(J);return a.set(P.descriptorHash,P),c.set(P.descriptorHash,oe.locatorHash),oe},y=async P=>{let J=this.resolutionAliases.get(P.descriptorHash);if(typeof J!="undefined")return I(P,this.storedDescriptors.get(J));let oe=n.getResolutionDependencies(P,o),K=new Map(await Promise.all(oe.map(async ee=>[ee.descriptorHash,await B(ee)]))),W=(await Gl(async()=>await n.getCandidates(P,K,o),ee=>`${Ut(this.configuration,P)}: ${ee}`))[0];if(typeof W=="undefined")throw new Error(`${Ut(this.configuration,P)}: No candidates found`);return a.set(P.descriptorHash,P),c.set(P.descriptorHash,W.locatorHash),m(W)},B=P=>{let J=f.get(P.descriptorHash);if(typeof J!="undefined")return J;a.set(P.descriptorHash,P);let oe=Promise.resolve().then(()=>y(P));return f.set(P.descriptorHash,oe),oe};for(let P of this.workspaces){let J=P.anchoredDescriptor;h.push(B(J))}for(;h.length>0;){let P=[...h];h.length=0,await Promise.all(P)}let x=new Set(this.resolutionAliases.values()),F=new Set(l.keys()),N=new Set,O=new Map;lPe({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:x,optionalBuilds:F,peerRequirements:O,allDescriptors:a,allResolutions:c,allPackages:l});for(let P of x)a.delete(P),c.delete(P);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=F,this.peerRequirements=O,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r},a=Array.from(new Set(bi(this.storedResolutions.values(),[g=>{let f=this.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The locator should have been registered");return gn(f)}])));n===kr.UpdateLockfile&&(a=a.filter(g=>!this.storedChecksums.has(g)));let l=!1,c=ci.progressViaCounter(a.length);r.reportProgress(c);let u=(0,i6.default)(oPe);if(await r.startCacheReport(async()=>{await Promise.all(a.map(g=>u(async()=>{let f=this.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The locator should have been registered");if(ss(f))return;let h;try{h=await s.fetch(f,o)}catch(p){p.message=`${nt(this.configuration,f)}: ${p.message}`,r.reportExceptionOnce(p),l=p;return}h.checksum?this.storedChecksums.set(f.locatorHash,h.checksum):this.storedChecksums.delete(f.locatorHash),h.releaseFs&&h.releaseFs()}).finally(()=>{c.tick()})))}),l)throw l}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var oe;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(K=>{let A=K.makeInstaller(l),W=A.getCustomDataKey(),ee=this.installersCustomData.get(W);return typeof ee!="undefined"&&A.attachCustomData(ee),[K,A]})),u=new Map,g=new Map,f=new Map,h=new Map(await Promise.all([...this.accessibleLocators].map(async K=>{let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[K,await s.fetch(A,o)]})));for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let W=h.get(A.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let ee=this.tryWorkspaceByLocator(A);if(ee!==null){let re=[],{scripts:H}=ee.manifest;for(let ve of["preinstall","install","postinstall"])H.has(ve)&&re.push([Vi.SCRIPT,ve]);try{for(let[ve,Ne]of c)if(ve.supportsPackage(A,l)&&(await Ne.installPackage(A,W)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{W.releaseFs&&W.releaseFs()}let R=D.join(W.packageFs.getRealPath(),W.prefixPath);g.set(A.locatorHash,R),!ss(A)&&re.length>0&&f.set(A.locatorHash,{directives:re,buildLocations:[R]})}else{let re=a.find(ve=>ve.supportsPackage(A,l));if(!re)throw new _e(z.LINKER_NOT_FOUND,`${nt(this.configuration,A)} isn't supported by any available linker`);let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");let R;try{R=await H.installPackage(A,W)}finally{W.releaseFs&&W.releaseFs()}u.set(A.locatorHash,re),g.set(A.locatorHash,R.packageLocation),R.buildDirective&&R.packageLocation&&f.set(A.locatorHash,{directives:R.buildDirective,buildLocations:[R.packageLocation]})}}let p=new Map;for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");let W=this.tryWorkspaceByLocator(A)!==null,ee=async(re,H)=>{let R=g.get(A.locatorHash);if(typeof R=="undefined")throw new Error(`Assertion failed: The package (${nt(this.configuration,A)}) should have been registered`);let ve=[];for(let Ne of A.dependencies.values()){let Je=this.storedResolutions.get(Ne.descriptorHash);if(typeof Je=="undefined")throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,Ne)}, from ${nt(this.configuration,A)})should have been registered`);let Ke=this.storedPackages.get(Je);if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${Je}, resolved from ${Ut(this.configuration,Ne)}) should have been registered`);let ie=this.tryWorkspaceByLocator(Ke)===null?u.get(Je):null;if(typeof ie=="undefined")throw new Error(`Assertion failed: The package (${Je}, resolved from ${Ut(this.configuration,Ne)}) should have been registered`);ie===re||W||ie===null?g.get(Ke.locatorHash)!==null&&ve.push([Ne,Ke]):R!==null&&Yl(p,Je).push(R)}R!==null&&await H.attachInternalDependencies(A,ve)};if(W)for(let[re,H]of c)re.supportsPackage(A,l)&&await ee(re,H);else{let re=u.get(A.locatorHash);if(!re)throw new Error("Assertion failed: The linker should have been found");let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");await ee(re,H)}}for(let[K,A]of p){let W=this.storedPackages.get(K);if(!W)throw new Error("Assertion failed: The package should have been registered");let ee=u.get(W.locatorHash);if(!ee)throw new Error("Assertion failed: The linker should have been found");let re=c.get(ee);if(!re)throw new Error("Assertion failed: The installer should have been registered");await re.attachExternalDependents(W,A)}let m=new Map;for(let K of c.values()){let A=await K.finalizeInstall();for(let W of(oe=A==null?void 0:A.records)!=null?oe:[])f.set(W.locatorHash,{directives:W.buildDirective,buildLocations:W.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(K.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n===kr.SkipBuild)return;let I=new Set(this.storedPackages.keys()),y=new Set(f.keys());for(let K of y)I.delete(K);let B=(0,uy.createHash)("sha512");B.update(process.versions.node),await this.configuration.triggerHook(K=>K.globalHashGeneration,this,K=>{B.update("\0"),B.update(K)});let x=B.digest("hex"),F=new Map,N=K=>{let A=F.get(K.locatorHash);if(typeof A!="undefined")return A;let W=this.storedPackages.get(K.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The package should have been registered");let ee=(0,uy.createHash)("sha512");ee.update(K.locatorHash),F.set(K.locatorHash,"");for(let re of W.dependencies.values()){let H=this.storedResolutions.get(re.descriptorHash);if(typeof H=="undefined")throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,re)}) should have been registered`);let R=this.storedPackages.get(H);if(typeof R=="undefined")throw new Error("Assertion failed: The package should have been registered");ee.update(N(R))}return A=ee.digest("hex"),F.set(K.locatorHash,A),A},O=(K,A)=>{let W=(0,uy.createHash)("sha512");W.update(x),W.update(N(K));for(let ee of A)W.update(ee);return W.digest("hex")},P=new Map,J=!1;for(;y.size>0;){let K=y.size,A=[];for(let W of y){let ee=this.storedPackages.get(W);if(!ee)throw new Error("Assertion failed: The package should have been registered");let re=!0;for(let ve of ee.dependencies.values()){let Ne=this.storedResolutions.get(ve.descriptorHash);if(!Ne)throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,ve)}) should have been registered`);if(y.has(Ne)){re=!1;break}}if(!re)continue;y.delete(W);let H=f.get(ee.locatorHash);if(!H)throw new Error("Assertion failed: The build directive should have been registered");let R=O(ee,H.buildLocations);if(this.storedBuildState.get(ee.locatorHash)===R){P.set(ee.locatorHash,R);continue}J||(await this.persistInstallStateFile(),J=!0),this.storedBuildState.has(ee.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${nt(this.configuration,ee)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${nt(this.configuration,ee)} must be built because it never has been before or the last one failed`);for(let ve of H.buildLocations){if(!D.isAbsolute(ve))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${ve})`);A.push((async()=>{for(let[Ne,Je]of H.directives){let Ke=`# This file contains the result of Yarn building a package (${gn(ee)}) +`;switch(Ne){case Vi.SCRIPT:Ke+=`# Script name: ${Je} +`;break;case Vi.SHELLCODE:Ke+=`# Script code: ${Je} +`;break}let ie=null;if(!await L.mktempPromise(async Se=>{let fe=D.join(Se,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(fe,{header:Ke,prefix:nt(this.configuration,ee),report:r}),Qe;try{switch(Ne){case Vi.SCRIPT:Qe=await VI(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Vi.SHELLCODE:Qe=await PS(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),Qe=1}if(Ie.end(),pe.end(),Qe===0)return P.set(ee.locatorHash,R),!0;L.detachTemp(Se);let Z=`${nt(this.configuration,ee)} couldn't be built successfully (exit code ${qe(this.configuration,Qe,Pe.NUMBER)}, logs can be found here: ${qe(this.configuration,fe,Pe.PATH)})`;return this.optionalBuilds.has(ee.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),P.set(ee.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),K===y.size){let W=Array.from(y).map(ee=>{let re=this.storedPackages.get(ee);if(!re)throw new Error("Assertion failed: The package should have been registered");return nt(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=P}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=le.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=qr.Inactive;let i=D.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await L.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new _e(z.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=qe(this.configuration,g,Pe.PACKAGE_EXTENSION);switch(g.status){case qr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qr.Redundant:e.report.reportWarning(z.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=Dl(n,this.generateLockfile());if(c!==n){let u=(0,r6.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(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.REMOVED)):e.report.reportInfo(null,qe(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new _e(z.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===qr.Active&&((l=le.telemetry)==null||l.reportPackageExtension(rc(g,Pe.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==kr.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Fm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===kr.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${qe(this.configuration,"mode=update-lockfile",Pe.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Fm(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:Uk};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=>xi(f)).sort().join(", "),c=new ze;c.version=o.linkType===lt.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: Expecte 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]=V(v({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:gn(o),checksum:u})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+ro(r)}async persistLockfile(){let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await L.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(Hk))e.push(...o);let r=(0,gy.default)(this,e),i=Ok.default.serialize(r),n=ai(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await L.mkdirPromise(D.dirname(s),{recursive:!0}),await L.writeFilePromise(s,await aPe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!L.existsSync(n)){r&&await this.applyLightResolution();return}let s=await APe(await L.readFilePromise(n));this.installStateChecksum=ai(s);let o=Ok.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,gy.default)(o,Hk.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,gy.default)(o,Hk.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Br}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Gw(e.cwd,this.cwd)||!await L.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await L.readdirPromise(e.cwd)){if(i.has(a))continue;let l=D.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused - removing`),await L.removePromise(l)))}n&&s!==0&&r.reportInfo(z.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 lPe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(K=>{let A=K.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,hf(W)]})),B=()=>{let K=L.mktempSync(),A=D.join(K,"stacktrace.log"),W=String(g.length+1).length,ee=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${gn(re)} +`).join("");throw L.writeFileSync(A,ee),L.detachTemp(K),new _e(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${T.fromPortablePath(A)}`)},x=K=>{let A=r.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(K,A,{top:W,optional:ee})=>{g.length>1e3&&B(),g.push(K);let re=N(K,A,{top:W,optional:ee});return g.pop(),re},N=(K,A,{top:W,optional:ee})=>{if(n.has(K.locatorHash))return;n.add(K.locatorHash),ee||s.delete(K.locatorHash);let re=i.get(K.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${nt(t.configuration,K)}) should have been registered`)}let H=[],R=[],ve=[],Ne=[],Je=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(qo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let ce=ee;if(!ce){let ae=re.dependenciesMeta.get(dt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(ce=!0)}}let Se=r.get(ie.descriptorHash);if(!Se){if(c)continue;throw new Error(`Assertion failed: The resolution (${Ut(t.configuration,ie)}) should have been registered`)}let fe=y.get(Se)||i.get(Se);if(!fe)throw new Error(`Assertion failed: The package (${Se}, resolved from ${Ut(t.configuration,ie)}) should have been registered`);if(fe.peerDependencies.size===0){F(fe,new Map,{top:W,optional:ce});continue}let Ie=u.get(fe.locatorHash);typeof Ie=="number"&&Ie>=2&&B();let pe,Qe,Z=new Set,X;R.push(()=>{pe=nb(ie,K.locatorHash),Qe=sb(fe,K.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,Qe.locatorHash),e.set(pe.descriptorHash,pe),i.set(Qe.locatorHash,Qe),H.push([fe,pe,Qe])}),ve.push(()=>{var ae;X=new Map;for(let ue of Qe.peerDependencies.values()){let Be=re.dependencies.get(ue.identHash);if(!Be&&Cf(K,ue)&&(Be=Mm(K),e.set(Be.descriptorHash,Be),r.set(Be.descriptorHash,K.locatorHash),o.delete(Be.descriptorHash)),(!Be||Be.range==="missing:")&&Qe.dependencies.has(ue.identHash)){Qe.peerDependencies.delete(ue.identHash);continue}Be||(Be=zt(ue,"missing:")),Qe.dependencies.set(Be.identHash,Be),qo(Be)&&oA(p,Be.descriptorHash).add(Qe.locatorHash),f.set(Be.identHash,Be),Be.range==="missing:"&&Z.add(Be.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:Qe.locatorHash)}Qe.dependencies=new Map(bi(Qe.dependencies,([ue,Be])=>dt(Be)))}),Ne.push(()=>{if(!i.has(Qe.locatorHash))return;let ae=u.get(fe.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(fe.locatorHash,ue),F(Qe,X,{top:W,optional:ce}),u.set(fe.locatorHash,ue-1)}),Je.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(oA(I,ue).add(K.locatorHash),!!i.has(Qe.locatorHash)){for(let Be of Qe.peerDependencies.values()){let ct=X.get(Be.identHash);if(typeof ct=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yl(jl(m,ct),dt(Be)).push(Qe.locatorHash)}for(let Be of Z)Qe.dependencies.delete(Be)}})}for(let ie of[...R,...ve])ie();let Ke;do{Ke=!0;for(let[ie,ce,Se]of H){if(!i.has(Se.locatorHash))continue;let fe=jl(h,ie.locatorHash),Ie=ai(...[...Se.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Ut(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),ce.identHash),pe=fe.get(Ie);if(typeof pe=="undefined"){fe.set(Ie,ce);continue}if(pe===ce)continue;Ke=!1,i.delete(Se.locatorHash),e.delete(ce.descriptorHash),r.delete(ce.descriptorHash),n.delete(Se.locatorHash);let Qe=p.get(ce.descriptorHash)||[],Z=[re.locatorHash,...Qe];p.delete(ce.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(ce.identHash,pe)}}}while(!Ke);for(let ie of[...Ne,...Je])ie()};for(let K of t.workspaces){let A=K.anchoredLocator;o.delete(K.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var O;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(O||(O={}));let P=[];for(let[K,A]of I){let W=i.get(K);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let ee=m.get(K);if(typeof ee!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,ve]of ee){let Ne=Si(R);if(H.peerDependencies.has(Ne.identHash))continue;let Je=`p${ai(re,R,K).slice(0,5)}`;a.set(Je,{subject:re,requested:Ne,rootRequester:K,allRequesters:ve});let Ke=W.dependencies.get(Ne.identHash);if(typeof Ke!="undefined"){let ce=(oe=x(Ke).version)!=null?oe:"0.0.0",Se=new Set;for(let Ie of ve){let pe=i.get(Ie);if(typeof pe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let Qe=pe.peerDependencies.get(Ne.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");Se.add(Qe.range)}[...Se].every(Ie=>_f(ce,Ie))||P.push({type:1,subject:H,requested:Ne,requester:W,version:ce,hash:Je,requirementCount:ve.length})}else{let ie=W.peerDependenciesMeta.get(R);(ie==null?void 0:ie.optional)||P.push({type:0,subject:H,requested:Ne,requester:W,hash:Je})}}}}let J=[K=>Ab(K.subject),K=>dt(K.requested),K=>`${K.type}`];for(let K of bi(P,J))switch(K.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${nt(t.configuration,K.subject)} doesn't provide ${Cr(t.configuration,K.requested)} (${qe(t.configuration,K.hash,Pe.CODE)}), requested by ${Cr(t.configuration,K.requester)}`);break;case 1:{let A=K.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${nt(t.configuration,K.subject)} provides ${Cr(t.configuration,K.requested)} (${qe(t.configuration,K.hash,Pe.CODE)}) with version ${If(t.configuration,K.version)}, which doesn't satisfy what ${Cr(t.configuration,K.requester)} ${A}`)}break}P.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${qe(t.configuration,"yarn explain peer-requirements ",Pe.CODE)} for details, where ${qe(t.configuration,"",Pe.CODE)} is the six-letter p-prefixed code`))}var Cs;(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"})(Cs||(Cs={}));var Mh=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=!L.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Cs.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Cs.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Cs.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Cs.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Cs.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Cs.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Cs.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Cs.DEPENDENCY_COUNT,String(e))}reportValue(e,r){oA(this.values,e).add(r)}reportEnumerator(e,r){oA(this.enumerators,e).add(ai(r))}reportHit(e,r="*"){let i=jl(this.hits,e),n=Ys(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return D.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=L.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{L.mkdirSync(D.dirname(r),{recursive:!0}),L.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=>PD(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 B of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[B]=m.enumerators[B].length;c(m);let I=new Map,y=20;for(let[B,x]of Object.entries(m.values))x.length>0&&I.set(B,x.slice(0,y));for(;I.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[x,F]of I)B.metrics[x]=F.shift(),F.length===0&&I.delete(x);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=L.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 I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[B,x]of this.hits.get(m))y[B]=((g=y[B])!=null?g:0)+x}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(f=s[m])!=null?f:{};y[I]=[...new Set([...(h=y[I])!=null?h:[],...(p=this[m].get(I))!=null?p:[]])]}L.mkdirSync(D.dirname(e),{recursive:!0}),L.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var Yk=te(require("child_process")),o6=te(Ng());var jk=te(require("fs"));var lu=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 cPe(t){let e=T.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,Yk.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:V(v({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,Yk.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:V(v({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function fy({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new ts({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 p,m,I,y,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!vt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await le.find(T.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=T.toPortablePath(T.resolve(process.argv[1])),f=x=>L.readFilePromise(x).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!L.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cPe(l)}catch(x){process.exitCode=x.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!o6.isCI&&process.stdout.isTTY&&(le.telemetry=new Mh(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=le.telemetry)==null||p.reportVersion(t);for(let[O,P]of a.plugins.entries()){lu.has((I=(m=O.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:m[1])!=null?I:"")&&((y=le.telemetry)==null||y.reportPluginName(O));for(let J of P.commands||[])n.register(J)}let F=n.process(process.argv.slice(2));F.help||(B=le.telemetry)==null||B.reportCommandName(F.path.join(" "));let N=F.cwd;if(typeof N!="undefined"&&!u){let O=(0,jk.realpathSync)(process.cwd()),P=(0,jk.realpathSync)(N);if(O!==P){process.chdir(N),await r();return}}await n.runExit(F,{cwd:T.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(()=>L.rmtempPromise())}function a6(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 ap={};et(ap,{BaseCommand:()=>ye,WorkspaceRequiredError:()=>Ze,getDynamicLibs:()=>yZ,getPluginConfiguration:()=>jy,main:()=>fy,openWorkspace:()=>yu,pluginCommands:()=>lu});var ye=class extends he{constructor(){super(...arguments);this.cwd=j.String("--cwd",{hidden:!0})}};var Ze=class extends me{constructor(e,r){let i=D.relative(e,r),n=D.join(e,ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dOe=te(cr());Pn();var COe=te(Hv()),yZ=()=>new Map([["@yarnpkg/cli",ap],["@yarnpkg/core",Th],["@yarnpkg/fslib",kg],["@yarnpkg/libzip",Of],["@yarnpkg/parsers",Jf],["@yarnpkg/shell",zf],["clipanion",Jg],["semver",dOe],["typanion",Tl],["yup",COe]]);async function yu(t,e){let{project:r,workspace:i}=await Fe.find(t,e);if(!i)throw new Ze(r.cwd,e);return i}var EWe=te(cr());Pn();var yWe=te(Hv());var FP={};et(FP,{dedupeUtils:()=>wP,default:()=>sHe,suggestUtils:()=>cP});var _te=te(Ng());var x$=te(up());Pn();var cP={};et(cP,{Modifier:()=>ll,Strategy:()=>or,Target:()=>er,applyModifier:()=>D$,extractDescriptorFromPath:()=>fP,extractRangeModifier:()=>b$,fetchDescriptorFrom:()=>gP,findProjectDescriptors:()=>S$,getModifier:()=>gp,getSuggestedDescriptors:()=>fp});var uP=te(cr()),er;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(er||(er={}));var ll;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ll||(ll={}));var or;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(or||(or={}));function gp(t,e){return t.exact?ll.EXACT:t.caret?ll.CARET:t.tilde?ll.TILDE:e.configuration.get("defaultSemverRangePrefix")}var LKe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function b$(t,{project:e}){let r=t.match(LKe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function D$(t,e){let{protocol:r,source:i,params:n,selector:s}=w.parseRange(t.range);return uP.default.valid(s)&&(s=`${e}${t.range}`),w.makeDescriptor(t,w.makeRange({protocol:r,source:i,params:n,selector:s}))}async function S$(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===er.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===er.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 fP(t,{cwd:e,workspace:r}){return await MKe(async i=>{D.isAbsolute(t)||(t=D.relative(r.cwd,D.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await gP(w.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 Br,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=w.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return w.makeDescriptor(h.name,t)})}async function fp(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 ${w.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 or.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${w.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case or.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await S$(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(or.KEEP))continue;let m=`(originally used by ${w.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${w.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case or.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${w.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case or.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);h!==null&&c.push({descriptor:h.anchoredDescriptor,name:`Attach ${w.prettyWorkspace(e.configuration,h)}`,reason:`(local workspace at ${h.cwd})`})});break;case or.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${w.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===er.PEER)c.push({descriptor:w.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 gP(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=D$(h,s),c.push({descriptor:h,name:`Use ${w.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function gP(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=w.makeDescriptor(t,e),a=new Br,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g=V(v({},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:I,params:y,selector:B}=w.parseRange(w.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),uP.default.valid(B)&&s!==!1){let x=typeof s=="string"?s:o.range;B=b$(x,{project:r})+B}return w.makeDescriptor(p,w.makeRange({protocol:m,source:I,params:y,selector:B}))}async function MKe(t){return await L.mktempPromise(async e=>{let r=le.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new ft(e,{configuration:r,check:!1,immutable:!1}))})}var hp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=j.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=j.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=j.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=j.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=j.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=j.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.packages=j.Rest()}async execute(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=gp(this,r),a=[...s?[or.REUSE]:[],or.PROJECT,...this.cached?[or.CACHE]:[],or.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await fP(I,{cwd:this.context.cwd,workspace:i}):w.parseDescriptor(I),B=TKe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),x=await fp(y,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[y,x,B]})),u=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:B,rejections:x}]of c)if(B.filter(N=>N.descriptor!==null).length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:I},y]of c){let B,x=I.filter(P=>P.descriptor!==null),F=x[0].descriptor,N=x.every(P=>w.areDescriptorsEqual(P.descriptor,F));x.length===1||N?B=F:(g=!0,{answer:B}=await(0,x$.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:P,name:J,reason:oe})=>P?{name:J,hint:oe,descriptor:P}:{name:J,hint:oe,disabled:!0}),onCancel:()=>process.exit(130),result(P){return this.find(P,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let O=i.manifest[y].get(B.identHash);(typeof O=="undefined"||O.descriptorHash!==B.descriptorHash)&&(i.manifest[y].set(B.identHash,B),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta(V(v({},B),{range:"unknown"})).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(V(v({},B),{range:"unknown"})).optional=!0)),typeof O=="undefined"?f.push([i,y,B,a]):h.push([i,y,O,B]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};hp.paths=[["add"]],hp.usage=he.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 k$=hp;function TKe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${w.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 me(`Package "${w.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 me(`Package "${w.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 me(`Package "${w.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 me(`Package "${w.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?er.PEER:r||n?er.DEVELOPMENT:o?er.REGULAR:a?er.DEVELOPMENT:er.REGULAR}var pp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=j.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Qt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${w.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Qt.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:w.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${w.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};pp.paths=[["bin"]],pp.usage=he.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 v$=pp;var dp=class extends ye{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await ft.find(e);return(await xe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await L.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await L.removePromise(r.cwd)})).exitCode()}};dp.paths=[["cache","clean"],["cache","clear"]],dp.usage=he.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 P$=dp;var F$=te(by()),hP=te(require("util")),Cp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,F$.default)(o,i):o,l=await xe.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();hP.inspect.styles.name="cyan",this.context.stdout.write(`${(0,hP.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};Cp.paths=[["config","get"]],Cp.usage=he.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 R$=Cp;var qee=te(EP()),Jee=te(by()),Wee=te(Gee()),yP=te(require("util")),Ip=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("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 me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>le.updateHomeConfiguration(h):h=>le.updateConfiguration(r(),h))(h=>{if(n){let p=(0,qee.default)(h);return(0,Wee.default)(p,this.name,o),p}else return V(v({},h),{[i]:o})});let c=(await le.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Jee.default)(u,n):u;return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{yP.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,yP.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Ip.paths=[["config","set"]],Ip.usage=he.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 zee=Ip;var ite=te(EP()),nte=te(Kh()),ste=te(rte()),Ep=class extends ye{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("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 me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>le.updateHomeConfiguration(l):l=>le.updateConfiguration(r(),l);return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,nte.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,ite.default)(u):v({},u);return(0,ste.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};Ep.paths=[["config","unset"]],Ep.usage=he.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 ote=Ep;var BP=te(require("util")),yp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins,{strict:!1});return(await xe.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(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.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(v({key:s,effective:a,source:l},o))}}else{let n=de.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,BP.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,BP.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};yp.paths=[["config"]],yp.usage=he.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var ate=yp;Pn();var wP={};et(wP,{Strategy:()=>cl,acceptedStrategies:()=>U2e,dedupe:()=>QP});var Ate=te(Yi()),cl;(function(e){e.HIGHEST="highest"})(cl||(cl={}));var U2e=new Set(Object.values(cl)),H2e={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`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Ate.default.isMatch(w.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(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.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 QP(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new Br,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await H2e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=ci.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(y=>y.then(B=>{if(B===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=B;n.reportInfo(z.UNNAMED,`${w.prettyDescriptor(s,x)} can be deduped from ${w.prettyLocator(s,F)} to ${w.prettyLocator(s,N)}`),n.reportJson({descriptor:w.stringifyDescriptor(x),currentResolution:w.stringifyLocator(F),updatedResolution:w.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.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 I=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Bp=class extends ye{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",cl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:ni(cl)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await ft.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await QP(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};Bp.paths=[["dedupe"]],Bp.usage=he.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 lte=Bp;var eB=class extends he{async execute(){let{plugins:e}=await le.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=ts.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=ute()["@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)} +`)}};eB.paths=[["--clipanion=definitions"]];var gte=eB;var tB=class extends he{async execute(){this.context.stdout.write(this.cli.usage(null))}};tB.paths=[["help"],["--help"],["-h"]];var fte=tB;var bP=class extends he{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!w.tryParseIdent(this.leadingArgument)){let e=D.resolve(this.context.cwd,T.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},hte=bP;var rB=class extends he{async execute(){this.context.stdout.write(`${Er||""} +`)}};rB.paths=[["-v"],["--version"]];var pte=rB;var wp=class extends ye{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await L.mktempPromise(async n=>await xc(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({project:r,locator:i,binFolder:n})}))}};wp.paths=[["exec"]],wp.usage=he.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 dte=wp;Pn();var Qp=class extends ye{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:QQ(wQ(),[bQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await Y2e(this.hash,r,{stdout:this.context.stdout}):(await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>w.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>w.stringifyIdent(a.requested)];for(let[a,l]of de.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=w.prettyLocator(e,c),p=w.prettyIdent(e,l.requested),m=w.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,B=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${B}`)}})).exitCode()}};Qp.paths=[["explain","peer-requirements"]],Qp.usage=he.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 Cte=Qp;async function Y2e(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 xe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,B;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=(y=a.dependencies.get(n.requested.identHash))!=null?y: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(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=w.devirtualizeLocator(F),O=e.storedPackages.get(N.locatorHash);if(typeof O=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let P=O.peerDependencies.get(n.requested.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:P}});if(g!==null){let x=f.every(({peerDependency:F})=>vt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} provides ${w.prettyLocator(i,g)} with version ${w.prettyReference(i,(B=g.version)!=null?B:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} doesn't provide ${w.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=Ae.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(f,N=>w.stringifyLocator(N.pkg))){let O=(g!==null?vt.satisfiesWithPrereleases(g.version,F.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:w.stringifyLocator(x),prettyLocator:w.prettyLocator(i,x),prettyRange:w.prettyRange(i,F.range),mark:O})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:O}of de.sortMap(p,({stringifiedLocator:P})=>P))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${O}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${w.prettyLocator(e.configuration,l)}`))})).exitCode()}var mte=te(Yi()),bp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i&&!this.all)throw new Ze(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=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,O=new Map,P=[N];for(;P.length>0;){let J=P.shift();if(O.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(O.set(J,oe),w.isVirtualLocator(oe)&&P.push(w.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let K of oe.dependencies.values()){let A=r.storedResolutions.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");P.push(A)}}return O.values()},a=({recursive:x})=>{let F=new Map;for(let N of r.workspaces)for(let O of o(N,{recursive:x}))F.set(O.locatorHash,O);return F.values()},l=({all:x,recursive:F})=>x&&F?r.storedPackages.values():x?a({recursive:F}):o(i,{recursive:F}),c=({all:x,recursive:F})=>{let N=l({all:x,recursive:F}),O=this.patterns.map(oe=>{let K=w.parseLocator(oe),A=mte.default.makeRe(w.stringifyIdent(K)),W=w.isVirtualLocator(K),ee=W?w.devirtualizeLocator(K):K;return re=>{let H=w.stringifyIdent(re);if(!A.test(H))return!1;if(K.reference==="unknown")return!0;let R=w.isVirtualLocator(re),ve=R?w.devirtualizeLocator(re):re;return!(W&&R&&K.reference!==re.reference||ee.reference!==ve.reference)}}),P=de.sortMap([...N],oe=>w.stringifyLocator(oe));return{selection:P.filter(oe=>O.length===0||O.some(K=>K(oe))),sortedLookup:P}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let x of g)for(let F of x.dependencies.values()){let N=r.storedResolutions.get(F.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,N).push(x)}let h=new Map;for(let x of g){if(!w.isVirtualLocator(x))continue;let F=w.devirtualizeLocator(x);de.getArrayWithDefault(h,F.locatorHash).push(x)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new Br,skipIntegrityCheck:!0},B=[async(x,F,N)=>{var J,oe;if(!F.has("manifest"))return;let O=await I.fetch(x,y),P;try{P=await ze.find(O.prefixPath,{baseFs:O.packageFs})}finally{(J=O.releaseFs)==null||J.call(O)}N("Manifest",{License:Ae.tuple(Ae.Type.NO_HINT,P.license),Homepage:Ae.tuple(Ae.Type.URL,(oe=P.raw.homepage)!=null?oe:null)})},async(x,F,N)=>{var K;if(!F.has("cache"))return;let O=(K=r.storedChecksums.get(x.locatorHash))!=null?K:null,P=n.getLocatorPath(x,O),J;if(P!==null)try{J=L.statSync(P)}catch{}let oe=typeof J!="undefined"?[J.size,Ae.Type.SIZE]:void 0;N("Cache",{Checksum:Ae.tuple(Ae.Type.NO_HINT,O),Path:Ae.tuple(Ae.Type.PATH,P),Size:oe})}];for(let x of u){let F=w.isVirtualLocator(x);if(!this.virtuals&&F)continue;let N={},O={value:[x,Ae.Type.LOCATOR],children:N};if(p[w.stringifyLocator(x)]=O,this.nameOnly){delete O.children;continue}let P=h.get(x.locatorHash);typeof P!="undefined"&&(N.Instances={label:"Instances",value:Ae.tuple(Ae.Type.NUMBER,P.length)}),N.Version={label:"Version",value:Ae.tuple(Ae.Type.NO_HINT,x.version)};let J=(K,A)=>{let W={};if(N[K]=W,Array.isArray(A))W.children=A.map(ee=>({value:ee}));else{let ee={};W.children=ee;for(let[re,H]of Object.entries(A))typeof H!="undefined"&&(ee[re]={label:re,value:H})}};if(!F){for(let K of B)await K(x,s,J);await e.triggerHook(K=>K.fetchPackageInfo,x,s,J)}x.bin.size>0&&!F&&J("Exported Binaries",[...x.bin.keys()].map(K=>Ae.tuple(Ae.Type.PATH,K)));let oe=f.get(x.locatorHash);typeof oe!="undefined"&&oe.length>0&&J("Dependents",oe.map(K=>Ae.tuple(Ae.Type.LOCATOR,K))),x.dependencies.size>0&&!F&&J("Dependencies",[...x.dependencies.values()].map(K=>{var ee;let A=r.storedResolutions.get(K.descriptorHash),W=typeof A!="undefined"&&(ee=r.storedPackages.get(A))!=null?ee:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:K,locator:W})})),x.peerDependencies.size>0&&F&&J("Peer dependencies",[...x.peerDependencies.values()].map(K=>{var re,H;let A=x.dependencies.get(K.identHash),W=typeof A!="undefined"&&(re=r.storedResolutions.get(A.descriptorHash))!=null?re:null,ee=W!==null&&(H=r.storedPackages.get(W))!=null?H:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:K,locator:ee})}))}Un.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};bp.paths=[["info"]],bp.usage=he.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 Ite=bp;Pn();var Dp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=j.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=j.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=j.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=j.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.cacheFolder=j.String("--cache-folder",{hidden:!0});this.frozenLockfile=j.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=j.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=j.Boolean("--non-interactive",{hidden:!0});this.preferOffline=j.Boolean("--prefer-offline",{hidden:!0});this.production=j.Boolean("--production",{hidden:!0});this.registry=j.String("--registry",{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await le.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(f,{error:h})=>{let p=await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError(z.DEPRECATED_CLI_SETTINGS,f):m.reportWarning(z.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await s("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 s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await s("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 s("The --non-interactive option is deprecated",{error:!n});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await s("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 s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(f!==null)return f}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let f=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await j2e(e,o)&&(h.reportInfo(z.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 L.readFilePromise(D.join(f,xt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(z.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 le.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=le.telemetry)==null?void 0:p.isNew)&&(h.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo(z.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 Fe.find(e,this.context.cwd),c=await ft.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Ze(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:o,mode:this.mode})})).exitCode()}};Dp.paths=[["install"],he.Default],Dp.usage=he.Usage({description:"install the project dependencies",details:` + This command setup your project if needed. The installation is splitted in 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 are stored the cache files). + + - **Link:** Then we send the dependency tree information to internal plugins tasked from 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. + + 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 Ete=Dp,G2e="|||||||",q2e=">>>>>>>",J2e="=======",yte="<<<<<<<";async function j2e(t,e){if(!t.projectCwd)return!1;let r=D.join(t.projectCwd,t.get("lockfileFilename"));if(!await L.existsPromise(r))return!1;let i=await L.readFilePromise(r,"utf8");if(!i.includes(yte))return!1;if(e)throw new _e(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=W2e(i),o,a;try{o=Kr(n),a=Kr(s)}catch(c){throw new _e(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=v(v({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await L.changeFilePromise(r,ro(l),{automaticNewlines:!0}),!0}function W2e(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(yte)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===J2e){i=!1;break}else if(i||s.startsWith(G2e)){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(q2e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var Sp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=D.resolve(this.context.cwd,T.toPortablePath(this.destination)),o=await le.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Ze(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 me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=w.stringifyIdent(f.locator),p=this.relative?D.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await xe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};Sp.paths=[["link"]],Sp.usage=he.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 Bte=Sp;var xp=class extends ye{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};xp.paths=[["node"]],xp.usage=he.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 wte=xp;var Lte=te(require("os"));var xte=te(require("os"));var z2e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function ul(t){let e=await Rt.get(z2e,{configuration:t});return Kr(e.toString())}var kp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await ul(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Rr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(v({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};kp.paths=[["plugin","list"]],kp.usage=he.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 Qte=kp;var bte=te(cr()),vp=class extends ye{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Er=="undefined")throw new me("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 Dte(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await Dte(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(/^\.{0,2}[\\/]/)||T.isAbsolute(this.version))i=`file://${T.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))i=`https://repo.yarnpkg.com/${await V2e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,i,ds.URL)}`),a=await L.readFilePromise(T.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${Ae.pretty(e,i,ds.PATH)}`),a=await Rt.get(i,{configuration:e})),await DP(e,null,a,{report:s})})).exitCode()}};vp.paths=[["set","version"]],vp.usage=he.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"],["Download the version used to invoke the command","$0 set version self"]]});var Ste=vp;async function V2e(t,e){let i=(await Rt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${Ae.pretty(t,e,Ae.Type.RANGE)}.`);return i[0]}async function Dte(t,e){let r=await Rt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${Ae.pretty(t,e,Ae.Type.RANGE)} not found`);return r.latest[e]}async function DP(t,e,r,{report:i}){var g;e===null&&await L.mktempPromise(async f=>{let h=D.join(f,"yarn.cjs");await L.writeFilePromise(h,r);let{stdout:p}=await Lr.execvp(process.execPath,[T.fromPortablePath(h),"--version"],{cwd:f,env:V(v({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!bte.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=D.resolve(n,".yarn/releases"),o=D.resolve(s,`yarn-${e}.cjs`),a=D.relative(t.startingCwd,o),l=D.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await L.removePromise(D.dirname(o)),await L.mkdirPromise(D.dirname(o),{recursive:!0}),await L.writeFilePromise(o,r),await L.chmodPromise(o,493),u){await le.updateConfiguration(n,{yarnPath:l});let f=await ze.tryFind(n)||new ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=D.join(n,ze.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await L.changeFilePromise(p,m,{automaticNewlines:!0})}}var X2e=/^[0-9]+$/;function kte(t){return X2e.test(t)?`pull/${t}/head`:t}var Z2e=({repository:t,branch:e},r)=>[["git","init",T.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",kte(e)],["git","reset","--hard","FETCH_HEAD"]],_2e=({branch:t})=>[["git","fetch","origin",kte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],$2e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",D.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Pp=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,xte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{await xP(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Fp($2e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=D.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await L.readFilePromise(o);await DP(e,"sources",a,{report:s}),this.skipPlugins||await eHe(this,{project:r,report:s,target:i})})).exitCode()}};Pp.paths=[["set","version","from","sources"]],Pp.usage=he.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 vte=Pp;async function Fp(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 Lr.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 Lr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function xP(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&L.existsSync(D.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Fp(_2e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await L.removePromise(i),await L.mkdirPromise(i,{recursive:!0}),await Fp(Z2e(t,i),{configuration:e,context:t.context,target:i}))}async function eHe(t,{project:e,report:r,target:i}){let n=await ul(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await SP(o,t,{project:e,report:r,target:i})}var Pte=te(cr()),Fte=te(require("url")),Rte=te(require("vm"));var Rp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||T.isAbsolute(this.name)){let a=D.resolve(this.context.cwd,T.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=D.relative(n.cwd,a),o=await L.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Fte.URL(this.name)}catch{throw new _e(z.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=w.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Pte.default.valid(l.reference))throw new _e(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=w.stringifyIdent(l),u=await ul(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new _e(z.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}/`):Er!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Er}/`))}i.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await Rt.get(a,{configuration:e})}await kP(s,o,{project:n,report:i})})).exitCode()}};Rp.paths=[["plugin","import"]],Rp.usage=he.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 Nte=Rp;async function kP(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Rte.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=D.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await L.mkdirPromise(D.dirname(c),{recursive:!0}),await L.writeFilePromise(c,e);let u={path:l,spec:t};await le.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=D.resolve(r.cwd,T.toPortablePath(m)),{name:y}=de.dynamicRequire(I);y!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),V(v({},g),{plugins:f})})}var tHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Np=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,Lte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=w.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=w.stringifyIdent(o),l=await ul(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new _e(z.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 xP(this,{configuration:e,report:n,target:r}),await SP(c,this,{project:s,report:n,target:r})})).exitCode()}};Np.paths=[["plugin","import","from","sources"]],Np.usage=he.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 Mte=Np;async function SP(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Fp(tHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=D.resolve(s,`packages/${o}/bundles/${t}.js`),c=await L.readFilePromise(l);await kP(t,c,{project:i,report:n})}var Lp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=w.parseIdent(s);if(!e.plugins.has(s))throw new me(`${w.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=D.resolve(r.cwd,a);L.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await L.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await le.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:V(v({},c),{plugins:u})})})).exitCode()}};Lp.paths=[["plugin","remove"]],Lp.usage=he.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 Tte=Lp;var Mp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.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()}};Mp.paths=[["plugin","runtime"]],Mp.usage=he.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 Ote=Mp;var Tp=class extends ye{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(w.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new Br}),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 xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Tp.paths=[["rebuild"]],Tp.usage=he.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 Kte=Tp;var vP=te(Yi());Pn();var Op=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=w.parseIdent(h);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let B of(0,vP.default)(y,h))I.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let x=I.manifest.getForScope(B),F=[...x.values()].map(N=>w.stringifyIdent(N));for(let N of(0,vP.default)(F,w.stringifyIdent(m))){let{identHash:O}=w.parseIdent(N),P=x.get(O);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[B].delete(O),c.push([I,B,P]),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 me(`${u} ${Ae.prettyList(e,a,ds.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await xe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};Op.paths=[["remove"]],Op.usage=he.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 Ute=Op;var Hte=te(require("util")),iB=class extends ye{async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.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,Hte.inspect)(g,l)}`)})).exitCode()}};iB.paths=[["run"]];var Yte=iB;var Kp=class extends ye{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Qt.hasPackageScript(s,this.scriptName,{project:r}))return await Qt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Qt.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 Qt.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 Qt.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 me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.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 me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("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 lu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`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 me(`Couldn't find a script named "${this.scriptName}".`)}}};Kp.paths=[["run"]],Kp.usage=he.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 jte=Kp;var Up=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Ze(r.cwd,this.context.cwd);let s=w.parseDescriptor(this.descriptor,!0),o=w.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 xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Up.paths=[["set","resolution"]],Up.usage=he.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 Gte=Up;var qte=te(Yi()),Hp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(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=D.resolve(this.context.cwd,T.toPortablePath(l));if(de.isPathLike(l)){let u=await le.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Fe.find(u,c);if(!f)throw new Ze(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(w.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(w.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,qte.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Hp.paths=[["unlink"]],Hp.usage=he.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 Jte=Hp;var Wte=te(up()),PP=te(Yi());Pn();var xu=class extends ye{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>w.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(w.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,PP.default)(o,u)){let f=w.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 xe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=gp(this,r),a=s?[or.KEEP,or.REUSE,or.PROJECT,or.LATEST]:[or.PROJECT,or.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,B=w.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let O=[...x.manifest.getForScope(F).values()].map(P=>w.stringifyIdent(P));for(let P of(0,PP.default)(O,w.stringifyIdent(B))){let J=w.parseIdent(P),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let K=w.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await fp(K,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${Ae.prettyList(e,c,ds.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${Ae.prettyList(e,c,ds.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:B,rejections:x}]of u){let F=B.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let O=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range + +${O}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${O}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[I,y,,{suggestions:B}]of u){let x,F=B.filter(J=>J.descriptor!==null),N=F[0].descriptor,O=F.every(J=>w.areDescriptorsEqual(J.descriptor,N));F.length===1||O?x=N:(f=!0,{answer:x}=await(0,Wte.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${w.prettyWorkspace(e,I)} \u276F ${y}?`,choices:B.map(({descriptor:J,name:oe,reason:K})=>J?{name:oe,hint:K,descriptor:J}:{name:oe,hint:K,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let P=I.manifest[y].get(x.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(P.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),h.push([I,y,P,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},K=J.bindDescriptor(P,I.anchoredLocator,oe);r.forgetResolution(K)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await xe.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};xu.paths=[["up"]],xu.usage=he.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'"]]}),xu.schema=[DQ("recursive",$a.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var zte=xu;var Yp=class extends ye{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.parseIdent(this.package).identHash,s=this.recursive?iHe(r,n,{configuration:e,peers:this.peers}):rHe(r,n,{configuration:e,peers:this.peers});Un.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Yp.paths=[["why"]],Yp.usage=he.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 Vte=Yp;function rHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>w.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=w.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let h=w.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},Ae.Type.DEPENDENT]}}}return o}function iHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>w.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 I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(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),I={},y={value:m,children:I},B=w.stringifyLocator(f);if(h[B]=y,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};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 jp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of ze.hardDependencies)for(let[g,f]of o.getForScope(u)){let h=r.tryWorkspaceByDescriptor(f);h===null?r.workspacesByIdent.has(g)&&c.add(f):l.add(h)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>w.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(v({location:s.relativeCwd,name:o.name?w.stringifyIdent(o.name):null},a))}})).exitCode()}};jp.paths=[["workspaces","list"]],jp.usage=he.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. 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 Xte=jp;var Gp=class extends he{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=w.convertToIdent(a.locator);return[w.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`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})}};Gp.paths=[["workspace"]],Gp.usage=he.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 Zte=Gp;var nHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:_te.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:ll.CARET}},commands:[P$,R$,zee,ote,Gte,vte,Ste,Xte,gte,fte,hte,pte,k$,v$,ate,lte,dte,Cte,Ite,Ete,Bte,Jte,wte,Mte,Nte,Tte,Qte,Ote,Kte,Ute,Yte,jte,zte,Vte,Zte]},sHe=nHe;var MP={};et(MP,{default:()=>aHe});var Me={optional:!0},$te=[["@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:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["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"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["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:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["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@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["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:Me,"utf-8-validate":Me}}],["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@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{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":Me,"vuetify-loader":Me}}],["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":Me}}],["@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":Me}}],["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":Me}}],["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:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["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"}}]];var RP;function ere(){return typeof RP=="undefined"&&(RP=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()),RP}var NP;function tre(){return typeof NP=="undefined"&&(NP=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),NP}var LP;function rre(){return typeof LP=="undefined"&&(LP=require("zlib").brotliDecompressSync(Buffer.from("mzhaECMDuR1sIeX+TY0icB4Ugl/fiS06kLsdoNSeOm1ArQu4w/gK73BeaBFQx2vZSXXZNLdYxpjuqpmNeJzul8mI4ogHeNsydeh+g4VOVg5d5CbKlG1Q+IpXAXZLfIgNceWQ59qQ3zuLeum4rqAQFmFIJ+OPmSsgLX76avnvn6+X6uHeiM4lXUrTtuor1VjIhSObF5kSZugNdEj+/Kn+5+dLKEuGkIccJ1seHWPZjvo0oDqGOayUXrEapGdGoVp7P/kRtHOoxHnftuSiCaJXOmHh+eZEZWsrVJkTE1f4sIMtD5pFRCdmjksUgXGBbbxv/v/7yz5TdX1A9RBIQxj1TBBp9W8YMlPqjNpLte859/Qv0lgqSeurpB5AOufCK1T/RrslE3MSOUkdhOYsrpJKn7DBQBh5JggS/69qZTunC5G4QPxNgO7do256TNNoivKCm1bcBaCZY3XPXUjdxVS5mkTAIbd21Y5cNJ27WlqSQwdx6QCQDUA5iJRTIGJjyKlCM4XRZz7GqmZu3zcDRFQycspj1mqpwtivpINKJRhpb9EJG02goJxWlbOHdl7IikcDLYjJmFb7cynTRAgybLF/+jJW+dqt+8/prUIMh4AYUUZ8v/nTbYs0LWIGzqq4nnnb+E8G9VadYP11gbnu8un3gq9L/5iZ++e4CXdv8s6yfxLFpge/hTGPmP7xK8/d2VV3RZpi+HImSZJg+UXmc5KOs6Yt4yQ/Xcc9W0iP1/pZrU/Hhcm3b+On30q2ggLfYeb1FRmEaQBW2rMTATnzyn2dOCqbnyK9vl6HYc/8sJWjLpbWbTAkIpDfSjRFdn6B+o2yIRcJaSZdW3obMQSYgkURdTT0VOsYbTT3yLv6PxFfFVf6m/YSCEsYntsrba/GZSt10qX5nOK/lvZJxBbiZxLDtw23/doci7ZE2BBRQ/o3hXAzuImv3CouR28XCecBAZfuP3UwFnw5ux1hDGk6V2Z4KMI9dZbHYGh72z8ksxQ9JuFkdglrUk8g0keYNXFWVmjIZlPfvepLJnTeQSHHycr4F3I+WtmWXCFS/bnODsng4tVHocLRhXBdqiP8GMRCMViz0YbNIUHAQmL8Hu0YVkOEiMSXWw+OgrltpMqrfNMM2FsK7i6udjs9jOrbjYRQoAhpxt/QaVpJQdImikEGEfSsDxOVCTiZ8/On50gJ4EYIG6EqMrJvmtmRCHHh9RgBkhh8dk2QlZGr5r327hKF5MuX7lmSZA7JhCpfL1xI97i5afnVdWqRNbXdZdN2Ezo5mSIZmI8G5gFj1+ckjllDPfA59ckAXIlElghCVJCwholafUwxy3f+vcNuKTUJGEtIX81nJWKQAklOgZJZPFDlJQLmhDsEqOHONrfIj4lFw8UuFeF6GWf9yRltW7UoZVD9V/AUWT/GcrEAyyqIelS3TIZXW1emyEpzAmonJZVPTSl1P5efGgZzjsH0ccUXl8LCRS6w8C5LC/TyDccnIT8JvV4oFRcHlMyqHHEK4ux1bAEi9agkOFRNthH92oKz17+sE1Bhvc2tCShYQXtlj9vcfsOtMd3G6zihjlZAVURrXp9sZqpIXuvNR7NSJyECg7zFfioP4/W6kEA6c+MlIVC6CQNM5rG9wXFicqs0HDXykCun/+3hMycnJOvyPis/71xnjw+b/9XDwFvlKht9d4zOogboH0XmMqMVrILlMfxpZUY8QZ4LbtuF8nlF1GhEPJXQW8ybdIreitTbxEKFZ37n9ssmPyuhNZpz5ZPBCVM5fOMnLfIFucuUDsgt15gLWKMi55fy0582blNvOW7M9z3L6uNKk70pG12NRrnQ5AvJtWaZ87omj58iJRYbzlJOAZViHYuL9evv+NB34edS9osvNDw3X2aFplDRqysn12+OW/JPKH6xQBktxRSFkPD0KOTn3PxcW3QEU9DdbG+4ul+s8KYvSfUhUPscb0GjEEr2jBOmx5hjUXRfo+tDo0vr1a6ba5DZLXz8sju687ufBB1QohdXU8sfOfoofA8ChRBeUbBZvV6VF4/ljvWnu0LGEv3lTO9V+XQRaeKE124ilHVZY7Y6I8NzvQzyqIAbsshqVc5gFgC+veF9V/YXI7I2pCGJgxBlsS8KjP11u0Y/TuVL9448UL5Zbdb5jLX0NDk3iJFp43qmpbThFcY1X9Pl2n4RogRcsjx6hMlgxO22D1yLydaWnjy4xWy3Dncjk0ju4IEXUGbbxQ+JfCpzm4W0WXTM/xkk/d1dShIOXWkZWtqhRW7XiG6oFoB41lFwS9HdnmkoVWkSfkpoWFBkl2eb5DIBAbYRtUjCiAPiW521MCneLh5vrdxhN3wNtzqFoRMLmo7lVSoHNF6H6iVbhvRVcoeWAeMxDC7vCQCJemimhPxTsyYQOsJfG6IooBBkWoOARc+ksKKoxltd+vos9/kJkSMHr5CFJSJOiAGTLxmRWEckRN6LlZJ0SRGxECTJohEXj7SZ89tmgN4DTGhwCNe4Mku8neFIcNQ2vWDo7QuNRKoqD9ifdxBhCTF8h0AiBfJIU0F69pz84M/2o8Ovn5Ozmh/8zvQhQxa4x7ahhMm7z8gteRLfcZXv7UB4Sq1CHHteRWLySfgSyETfwfJm46U22yE2B12EAdfXEfJQHWzmJ49BgiDWvIFcjyTxk3OrDOAnWi8vArJIi2jRZYl6l+Hp/0LjHbY7D1fNA+TlvfTlFW0QfF8vWoQoB9zgwwhhXkLfbZUB9/ppAIi1LqZcZMRYKaQzKoUc1kqjwLbqM/dOLcDMpNOqc2HY2iCm3bFLUvX6HxVbQUo0LeMbMm8Q0cuG2d1/Ipatqk6i6aHS8BadvUK6/FSJOJw/iMos2gJUZ1Yo+pzI6CVri1f97RWOlcDuQPaxx3vQ3Zn+BT1PRISzWmESPt3cWhGK+xuJUaZZgHg39TFH8IYWsZ3WZ6mOAKwrbE2OMpw3tZj92+xLXzO1O33fld/NawySc5eofD+6rOPcvOWH9OHw8HwUdWISylPtznAtdp7L8OgZbGJyxUKAMnwY+Eq3EoWli52ssB33vMt3EryXQWoZfzOMH5c1MjCN2KRzq2o6nwwkXgNvyC/3Gd5rjTTNk6bJktjGf6NN7A8GJRtXTIdemAYY0BdTbsQS4GUlc/sezLXoM1W1/bWIv598vDmWgQwQ4zSdlb8aNnJQPP1Ylp3vsTEnMvimRwtw2rcEIHNvhVZJ4xb4ltcD5z35zwkPBrjbCcG0HEDHc4jvPMTxNB2cnI+PvtGOAOZDh16sgYMNMr8++3wEAHHbAtV2E08OR7aSuEyDk5l/KKhyuKWAy7exNoP88hAZd0IfLwgHyQgSjPn8DhKoGR3bcAGAowm3KDxV4dhAsNolE15B2LpGAEBW7tKaSwYmKPOp5gnAzMrb926G3r6BN4YexWTYCbZ8drsEVka4VlwAAGeCGVvYbYKO3c6YoNX2CABwTaKh2XnwctI+gZnZAPqtF3DnwA+mwt+VjOMicHPSTSlYAQA7v/7zz+//nYxecgzmc9smkDNr5ocWMm7XvsT1xzt7DAnv6fzbSE4oacMFABJwdn3hXBOMrfY5wl2LUNcIAJwXq8Ixe1Uku2Y8/ru3Dt/YK/H0fekjaWnmV5UyAAC+Ugnk/8/pv/7s/P9T1Y1Jm+l/tkMIqt1nR1EQ0DVcDx5gPey7r+Ri+3h0L/ApPOmPxCrNryrfAgA8a0JZPlFlY2LXuQl7Wk5TrJCk9vrs6T5ItNmVCQDEKFheiMnDtQiPMz/tdxOVNR4lxIyKrbYAQJGHtjJsHtpCe1WNhQdddwkAtExJzot7FoKm86ntcmg1HIl5M7+qxBYAmJwMutjCEEFSaa+ZmHJBVNcIAJQ6qmjMAv6Aoh8tgmnuPD2Tl/Udy7wKgMnNaqtmvMfvTDM51vJt0J8JestqOp6czPwwy2wBgMKxka4yDB5Ksb2rrLiHUt4IAHihKhmzdHTMnM+sO2Fk7JK3veZtKkNQc/OrShkAADNphxrjnvE/28XXoaqZsd2uITg12N/CbtPDVC9Z3LlYkv3AhJ70J5JKz68q3wIAzFn60xh35Aejhq/HqqCx1e4l3JYItZkAwMnuEM7A57LtKxPcc9OW9XanMaq04QIAFXA6nnBQhLFErbSv4baEmksAYD2I9rx613TJLy70H/b0ZR3/o1IbLgBQIkxb1IrwGcYUKu0x3KZQswkARNYSNl3xu/RqqUnp2Z/q+78UrACY6qzWAyqvhKb7aK4R9pmp/9bdl8ZhuaSvHBcAKDH7QVvDfTzEint4iHWNAEBIHYWKeA61ruwbzVQEzoVLvSSweL5PagSzSfqSBmvyLzyauiVKTt/k/fciw/ckjLEddpKUXAMDrqQjV4Qn27BrEiw6WGjRGWwiftGegxwKnWDxjquBPb9+Y9rH9APdJ2p42hfp53dv1wt7n3jTRcz5LP6OAlnFiZGx7tu29dU++gGoxby2cZV3APENaeyA8wN7/DaK2fWv8flZe7PFzvZVxPp8edZtMn1iiwRppB+R0XaM5BbTEvS9vPqi7cSIvht4c4YLKA8PvIr9Kl2FepBzajMnCZPthVt1Mq5X9Z5z23ze/6hLX3zU+HqaE3IKkD4OeOWmvqIPrHYTHBYoIhRprs3vGyO/I4ygGmnrjDMu4v3uZLm2LTH9PpmDdCq8lyTqatIco0thn7H32lqR7L83C6sOoFQN0ak19l4x0RQoeGgCMS22oqvaMrrpTGTo97AXAwolHZcrLppPnNYGE4gR9VcHrripQsR7E8wIszbgRhPp8oMm/Es6MQsZ5HAfh55cd6z2eotj549YejMlxA6vA14EPN2jo7u+hB16+ate+6L1ISy9ce7JIZK0F3FKezfNQmZXkqg+GaLLZcjOvU/Q8jR9lIZEYECmsuLSfvCCMQHw8TglAhnY4Q85lkXSCisQsmXHMq83rcQ1kbF1iBJvLhwS5SnwqId71J2fj4Tw2l5H6PhhrNabH9f88Ow88s+tc5/jSXDf3+NEmHx8mwDky84eT17NOU0cNvBaKrZAQgCCFrSjZk4CIpz9SPXZWuSlB1U2ShPKxazkZmHWKDEf+JioOzCq03jO/OYGDHYEXjnVx20TOByvHRvnc+SjT5fH3C5yT1ukFdkNTI5nCZTXx16ruP8ncq1mWLhZW1gv2rZbvEFypjZtvvyR6azZ/urn4oGtqPBx9RMZ3JjQXsbEKjZ6dRz13Q+XDwFAGPYJXHuu5leti7prxuXfNjfaed2LW7jsRZM0/ZXGGv4xpn0f908sXPb2a68CIC/bhb01Z3BCQp2e7P2Wr+wz7bosAI8m056q7N2kjr3ZEWB6j9i0M3m+KaJP1ECzcmu6gPOmcQ5SlizbWAM8SVi6kpjOwddB6ciW2dmQ2ZXCQIgvAd0aXVe6/L6MJzS0iJPwpA8s11Wo+odqQi7qcbicDGbI2kWG6mIf8TQ0d8N18Y94Kv4u1lYiU25+oCPQj5ltKPk4E5tYtLSLiM+s8iS92Q/lxFnrNyB+l7f1pUNLYjbvYGLOxfXgCPp1LKC4cu72+OYWVToHCdfsynmnV1QFD94jQJJg13T1CiReXZssIkCqZdP7Pq4AMb2uEERQ4Xw6BhRI7cISLRJbLk/VkTDP59W6RV7WrAZ+uOEa1k2HuF7nHFxVLj0W01GO92zq0/ckxMdPbeNSx3BHHAbhI7vR5x3XVoHVIbFwGzAsO4IZCWIv3RDNZTkUk18T9hBTuN4LdwsTr/3s3Fjs8ZXJi7atb+8bnvvcqIYzK1oRk5M6jkl/B3ozFkVSU1CtLnMm4rVLRrnivvl8tLeSUUIWcftYS1DAsz701b/ujUrwRuGctnfP9A6NcZdGbmy20m2vo0ZNYa6gryv1nmCHpbmXwBjxErc5ATjaUxZwqOjAn8+Tmqk1XMRazdjQaYE6bfjLZkmSYC2d/Jov26kJJiv807G0v6JIpybeskCFK3l/7MJrXuX4qqtgU96CpYtC1Nl/21IOGDW49UsEYErjiyujVjUOrjZr0ZKQNRx2WwgNk6PHHBoa8A7ep2RKc9CETWmuBs6yAjEwGZ+5UWYAQB0amtsLr8rbtVvtnWgCAHbSd7Y8x2TmfAILHklu/ow+rXkEefdnNLlFwUE2OjTUfpvMO0tzoAXazNV1Z1nr2I27MDMAMESFIul2x8ft2tWZfNoLaAIA8sXk5mz5FpPo8wr0cp/4vH0Ru3fP91SkPUHdOjSTM8xvutIcPN0opgJwtpq2BRHu0OQp/tZOS3NwJGenubp0lrXE7uSCzABAFhNquZ3Ciue0s1ReQBMAuHJSc7bcw6RyfgCbovqW5WlZ+/tefn5IwD54gTOhjw7++8PBAtzjEKfmcuV0QTMAYOEUK/MnE+wad+bxuZPkue0kU9z135nPA2mZ1TyW9we25jKQgQ1+a/fAmMCwIrzlputmBxMjo8ayN8beU0LouDgc6DYzu8sf2x1VVFWMz7Te6vgg0+MiFDO05N1kFNR8LLjZPWJR6JRx9kqmZUIEUCmiCl78EkFIi5a+xk7JfcZ4dCYgClkBd1ZHH5kwk8hiahyTRvRF1x3rZAjacDn/bOOEFnSeU/MrODwWPAwTqSCRuTUVAQnVf/dcIC37wP3DAKX0lenDubINJQjXR5eDJV5eeI4zLSXJvbnePB+NmtsOPh3NSyaIpSowQs0Z0SJPVsp+nU7M5kUNd2apfu+aztIHO0kICtIcx7K+ZKxogkVFRr90INr9gT3iq2bt4pX9eQjPMXc8+hUoHZ3QOdsgYTTzaMlI59PLbA8sTNvRgDuSQ60TL62LLgKSSAzisEc7/PWd7V2+W2H4vJtuVuZWXNmF8NGAFZ8A1WtF2BJdPpXGr45ZQhyHm1kztPD6+X5gtJ0jNxcnIb4NnBEQVgkJbBon0JCn9Bgc96ZyW9SjMK8lMJEb1N1suRKpDtIhgxyis2EpvtC41xhtWvFVtrSgpQyCWGAqPWC9e5Gpf5HzEPLA6W1oQbhzVUuOBemrYwYAYsmp7AmfWOjFt+42fXZUIa/NCMXlv8sEAFCCzOtRXPqD5PtxR3Hvwhm/tzBqxCJAHavXdZovkDGn1Bher4xni/WVdXjzusYB19QFwaCBU/AmYD+rSzVzstz4RWLO11jcui9wwyOL+ctL/dJWS+EoHEPbovgfTYDyueF6/2rzepSqV0kXpUmuXli87pOGG1d2owXW1r53i2dzrXu9HY5jqCCh8P/uGIs9CXeq1lKfQ5g59M0jNeMcmg0pwl/vLxAK0LYy/BBj195iodrPjqcYO1ttaUltkZSjYYx2S8loRL3jM/bUEJytxDaBkTUaXKfwqlh71nf1rVNVcGFTMlfyF+4U344RDagsrpwaN7aTrY9nNj7jf7ktn4cxnELv6kM2Nbw/bLy0lhofuRPkK85vH0jDpcM63QznqgL3iqaAkw9RTVlZuKzC1x/z4OXzY9WXACVFaDXcgmHdKjcCSe3MAIBEYFWEPVBKr6N6tNs7BJ42TQDAAZ267lUE3W5GCQDUxbWwOiY3ACJ0NF01KnqXjw1A4Y0tiwfbLyvpLi0ivaVVDkAZEQq7UpMd81/FTl4+grx8xsuM0Gf5lANQhoTafsNlQ/PkvL3Lj/fbTiKVH6HZZ8yW7ny1PyNgrjcyAwBzBniqCE9UFLkgttubBJkWTQCgyfWcmu53eRJuNwkAGFT1ZjW7S/c6Ns9e2jr8fJ7hv08lnjFbunMQJyiZ8rPODACIEcpaMXKKkHHn5ocIXVhRLHaPEZpprjNfdX51UIP+IorCp7CThT9SepSMRsENRkgtwtY+V4Jt8AwXCioUtrtf+Qgh+4VGDYHpDAqA7uUizmOH4Qtw2o1zaYxR+DzYFCdXzZLSmZnCvgBRk18pWzdZFTNE+ofiFiO5EWTIMSj7Od1YIB0A2TMQSXbUSvgAXrRBP6KZp4b/0Y561KaDafkTBa6CdtdJ1n3s1ab8oVeLftZZW1L1jEC1Bwbjuqjw6wo6dFD03QpHUDuLOuf6ryFICa828OqrRWQHXT93uf5k32KH5NhjP8X4uL+ob8v5lH7mhV2bEZQOo0nu67HtI+9Y1za0kfrj5z6yJvFodTeSc18oLXaAKGI9QukwL/SFBTJWIunQlkLgZBtGM7BpBYxpMDC42SSxa/3loXNV19gepgCAr9XOTO6Le6fUWYcwSqevw1ce1ibXtCNDpVralR5kw1N9z+lD3x64yh3hGWFDveH4msF++m7NZzywhCG0yqDzZBpCf6YNRrFfLGyLcSAf7CX9L1UJvKEFQUI6mGTogxqar5Z8EQ8TY/icrw3X6hinxTZIILcGi9NIwxRn3Kc35XgIDx7nt1Z4rn+AuJ+gvJjO2g7A0dkxWYtBauIkLFYGGCkuObKyoHOyFNvPvBSX47DZCoSwe+lmpSFSPIUoqTBw0ET3ldW7arWDVcnN2m0nfWhnZaJBAb8wQacaNocn9N9XU+yO0YWMuXsQ2mCGgwi4RVGlkD0CY8Fc/Ofygx64AGz4E9url2vbndCa8rjP4op1U+xgh2yh7jaq91qr7WWCTbK+YbtQqVogOjEWfGFBTlbM9RNCnOKAGO5tbhVEX7kVTWczNMIGKet4RBmu17M2H1pASqRCWwLedgk3h0omSKegZfcxZaCVOePS+YSXNpby4ipXP5+YGu9Frwg47k/NR5N/F7SKQ95BLjW9hh5MFBIU9SRe5EfHXqzFTuXBWLeEOjQBY9K88M3g+yNkQGwZrDAyyHmxoLddxJdlFowzfneqzg4djH3vpjLOJwr44SGWtB1VtGSM4mYKb8xiN+829pcyVa/Nn69uNTnBtGJSwZlgkNIUKOHnRKhMIv9pY8CQMVARcobqYqC4z3jpeCoFZf2FzvYSbUety+Wo+LyZgCFBAY+Ofp45V+06TSLisDIeEFVPcB9Z8TvfauCzF/Pric91YMZm5cyAsFgWzfFhfag57eJKwovFcHQFDJlb1dfM59dEqYMw7c+ZqtilF112PHh2odGM/qLGSC6o3GhgNK/RYHflt76XlFddg/Jnir8mm6e1IVyx+PAOg2h7q9hqdf3WNuupKmX7ESVo9tsYJkI/RbRBSLFD/rnQgAEbXSiM7qWyeJ+ZyNPQfNCXTMzfouLBV8rrQbSwh/caH4Ro/NSyfn9Ih08jLZ00zwKo4qs848uvBkjzsWquiofwpozqza3bjCKG/KuMGQAYCBKIkVP8v8YVKs4RFiVRKu2sVE02Ba4tEwDg3H0iqlP14GL4qxeCK506/JXvWWAlAK5V0Fq81qVArz6PG4qExH1A1GEgnqMrnqTLecLXQ13H33pCgepyxRyxrWkKwKw6pvI3DcOUZq7Cz0Tjg3cCoz4gwwWrVewwDBFKPEVnMUBJMgtPR+f/KsbXf9PV/ENy+pC2AJBu2Y7NzSUuww0fdAV3jUPPLTjDGWgEka5LGOs9khU72PZsumznNre9BUQai+hNND40Yd8OTKetumPirbQzXA1i7JjrzfhbBZ/GGC1x7PjpwflX10JYD/XfXzu5v+72Saz8Nc5rtmQNbgR92E2bK57vHzTQn+RRaaEEJJ1m/eWscPwB3titPvHuR5GJi42LrsoeUzDJ7VrGQBSJdj0W0T4YxeP/BkzeBOJOn1tUCXbaMwv6PGlYmzZ5cdTqoZz+FIHXb+CwSfNPvFP5cLzzmhli+pPx75YcpU7Tw9HfiTS6O7nw93E8Hr9KPGc1oF0DLWE+X2hBsO6GZe9t8pAG4bJ2A6LNx9ZWsgF8GFd21rVuFQevgsNVcqxLSFnrVKOcafwifyx8YvkfyXCjsc7Q2jyraz10o1lnvJNkGA0XnM2l3QNyLMRD3zzrL5zXy7pFR40dFmzliifNxnB84yPOx1WE/BuuwBTx2F9Ho3pYMclrxCwybFpvfuVQt7YTNivS1TyjwxRhZf3xukaT4S6BaWyIlzfmL7AKpfDAAS87191jq6CbxdyK5glyP01bxtSPOwlnuIZn9uPTx+Y5FcIMWOvaLoWRTaIQLYr8OFtymvHje/2uYGp41imomO5jBQPDRPDzsOeO2MasJQZR6F7JogSuqViJAg/NjTyeNlhcjJZFlt7R+/kTbWMzFJw6E5OVMXsl+vImp043HXXaL5V0n+s52NGQ+K88R398UYfA2jd3TJgqyT3MhMXMGXddpjOdUdCsTgsstMBZe1PpzJvYAKoa1+2TmuJbImyi3e/CvMJaQoIpwPrTMmSbvpDqYhl4K5TCxgy8MRpYdr6bErOruOAJIT/F64vY3DE2Za9QkhyOR6ggzlc1tiO5tuK22cmgr1xRyJVL+JeP+kB8pKdNaGuahzoLu2ycPlv4it+4Wm1QJduUWDqzP6692UzdRgmf04SD4qsJ+Eh6OqPii5RAypalBL4O8Dmx+DLEa9O4CmJeBG99aCN2XuGVGakX3I8ZRzt6yKkxEi6uxGVB0zZvlLwncYXyLHDSCBisuLyL7VoXzzsMGOQiOTFNOkgvhzlpRiR2QwPrDsg/p2107SHSxSrf9OY6Kj3eCcEc8X5xqyrlhjkJK1wDO4YS6SSOWwtMu67UJUxPOY/LMstTPN+bV60m/ozr5dyIRFo6IMQmcONls1fOdRiaCk/2Nxf1D2X0vnC3+pi42K1pcciwjw5QWhQJhxAgYBFi/zXFYfyyWhgesO+Fdlft60BMAWMr5oQvv/ii0sih28gXKvj8hMn8secVmZ/X/DP5kXKxyU/9nLINf2vFbOGHuBL30bquSne73/HOOCeKNLvrvDH4mkw4HkMWggPx0h4mujAwhvodycXwq+yx4Pj7yjoipx6MwdjRCR0rfepeZrsXuXpXajVolDokzmQs7z3812/vOJZ2Kvy9gJfpSq90YAUI8WVMdgmllpslGeSwC5gWcygkNiw34J32oyDJng4L7I1sBfzIzCB9pxT4JL+b/7e68ToC9355alOWJsg25WcNMwBwRsj1irGe0HpTqGAx1wc8dzY7Zxnb4/CeWzMBgJs8IwuwR8/mNkCuOvR2xbVtbeoHAG4EkPahlAHU5/isBjR0xU4Borw/L4BwbILd6mwKEK35vro8Fu5qWJI9gbIKQ0psG/CuM9sAmKWzkA9gtZ+tDUDEfbsHGKqrSDOoGPg2tpZXB9MWsOqwj2A+D+ktNZAASu5fjsVj4hsy+r0YLJnN2MlXu/9On6ULEkARiWqHLZVF6/fucC9AvzKR1KPHmg2vz6heL+owFHGJVMcMALQESYtRDaYRto+czY7ZPHK8j/V1Dx+3aAIAA655z7ZZgFZNels82dXaDwBMgdhWlBfUNH00CGeMLRDL/ktAs5ZBRKBx3j6jalSO2TZn/EGM5xL5Bzs+imnkLXIhnvOQ5cuJokGxas0AAEnQQzGqnzFCpy1Y7GojoHVCY/7Fr9EZ5uCeC8MdlWNyMf+4bjnIlHj2GItjOXMFiEXjSeH5xmXYvIuNBdF7e7ked+PPebt3xjyhXv36fXgZJ8hKcHHGWUk0PDKv7pX6o3Q8/xRrdasO845qXHcevCcaY3McqYiIZvJmjFQkOCcswTdU1GuGNeYxUhnLg0eQOd9XmfP6ZSe4ZO2su5P5OfC7/fv8PrNrem9N6dass5DCTrBsSF8ZMwAQVEuCVYtREZbkqoqrss9iuxjheMttzgQANHfxhZnO/e3XDNVz76eHhN4Eq3Vm/+w4z365WIpli1/XMo7DcXYtdeGDqJtaaDduHJFfVl2WFgMAY3W84mWUvB51N19W3v2nsubhP+mqbt6NXrOcErlKKfyX9bAvZdhAE8svnIf/pAsj3j2CCZQhDKmM943z1533R4LHa2BYUs5ApdmGJGV13DR3ol75H2VCsaAjZVsxIaCjsJc9cUHHVVvvyRpKAUNFTBfqR+iYFW/ny2fxJC9Ipz+jOPR8xop051ayFtqf0OZnkxUt0X49Se+tgUbeclXpusxXGzMA0C3ZdLmJDavDV6yQXB8r7tdqw727H3tXogkAZLKIjoSezZia9wMw3Sknm2uq3lwQABjNflcPLCgomUUcoGT2ZuQAKEM8kgNM235jOSDOKpDlgKQp13rNdR2TBgF3dSgZ5n2hVDozDIGoncWNgXj97BOBHN33bQFpdxVdERXjdMzO3aJsfjG9DD59OYrpZQmCBFB+/3KM1jErGd7zlYxH/XZ58ckoDi9LGiSAghIVb9YhmHhEni5eoJPqZEofIeg7vjbF7fljw8oFVdcxAwC1mOEKQakaTN/H3p6VduSznAs2bZoAABbE2DYskN0o5+Y6zq0GAUAbhFhRIqjK9A1ALWOsBsH2nwcEWgZu0JzxXqBq5I5Zu6fvjvF47F29Ct83yqngCcOMGEBu/NX75ny7WZCyrZHIGhffmhQiR2CzRDIe7EfFMc/2S2ITP/27iFgfI97qryoW1YOuc2T5wk/nvTtng3/8wN2cnTiUedE27R9bcCCPjDGEtIstAZZfPBaAqxxus7s2E1+56tg+vDsOnoqbjwWk+gwB7f01YwGeUMGvPNotKW6I5juKjFGJN2RHIsEfgbkdJxaSSoL5fKJaGNJIlp2xNoUt71+oq7rtlrnOC5kTXIAx7avEIoBxRidNF/Z01xw/OBKUHyI+x/lCz7GRKBdBRGS5M/g4isafTzyZUfxWh/Keg+yWxasXdVr9GNFJ+qwvIisYgdA6WMdpimVMFaBp+UkjLM8KJYX9roebf3d67qrQBhFsfPwh34FNTU5JlKbIhQr0hmQ4jJCc/iNz+QIYSHekz8JiWpzjMZzWDqWjb6Mgj7sy7Kc7uvx5dWMuCKctH7AqftyIyMTARyjqTrPalnwy8HlTYtR5RlgidkXLlMpJjJFv0j2z1yGWMO6t3hG144yQH4aCmJll+gVBjQv0EuwS59vzpOqsdIp3+5CKRHJWU/PfP+5o/ghAJuIilOAcw16z2yU5XP1CZLtndfhJQu7GzJvQBlbmBHHjyY6ssqfYVpX96It1iqm4pTyYKxSK+vgABis4gBPHx097lMKC8VYx89+Y7bHvmWz08X+heJY12C7XffaUKf7NskV1BItmPLZS6XlywlR8gUFoNzKK0Hz5gdlZcDk7/H0KnaKgaZuFexSL46otnerlftH7eC3Zt/5qz25D4DpDOlIwXLwDs9a0H6fe6N/XAQDUt+mmoPMfUKS7zHuFcZtRX9pjhwvP2Jaa0p6Czb9uIssuIcEp6+6FTpk1fudCRz8TlIjVjfYUvPM3w9hKdwQ+m3HuWG8/hfX9bQLcsZvCLv92wlSr2xOfT5bJtkM0L/zpX8ilPMC4Gjy7CnbTV9MPvRrfEYK7dgpnGaHilIyHpbyM6x5tNWMx8TDb8YKWPPB6ztZdI4CN8Y5omltIaH8Ip859Z+/O6GBjh4Xwmqk74m8J3y27BbjBAx+gFKTvC9HEsgTkfVxmcNLInuz79zXL9TNVOpv67ro8lYzDvtVDlb/7l3RWVcTVcI0EVuiYF33JGTyIqvSAOqhlOsS1OUDusLvddkrIjS21wSqCQouXV9ooKF4ZkqelC6MnKqrpxJc0MoCNDoCaDyO9s9dhu9aB0Gb6l+VAPUmYw7v3VxuCKYRoGHHD3MOZl8ID7+mhrO6S/zREp8q1NFaXmbQjAWuU7EgUs5RTIKVpsfynCaSuhvY3q2vApkWvN37XNN4DI3bqjp34GZ+lbhfxA5i3xqi1uGnBcSEfmfNB7fxPrM76b0oy086t9h5x/FJkpcd3p+7R3cu6PTW7Gw6/a7RHvTbaH99Q1d9ugSfS3zILnTQNRX+zhrQFvcEQp49/OSs898I6aqlkN871UxczaRpb86cJcHzv7MCG7e697SSvU4T4GtP9kXwEpNF7IKs1fRDve+zUkMBc/ILUAo9Whl50Xth1gEJZBn/12H2C1DGEa7NMHwq59UARDboTgvrvhr3wdfVTuLWIMbeTuxmY681j2M2ntcwRxENqsmseRTH58BoTkSQ6mJ+DjTynKHod/r8xyKRKVEAmla/3jVYQutT9WErL7WcTuXHrqc5b5VSW66mEjawkS1ULjelFGmsrMd1t+yWesPaJw1PnDUFSf4i8nuejxLR8eXDzrsA/lHqLeq+ipBQ7ZS202UeIsGadUjOm6efxUkONYavNPVScSfhNSnd71wdCSafLG6DiIEG0UatO5qASWpnnMVplC+TGHV6CQt7D3vay8rwAMZzsikW1Qg8wZNqnuLNH/lHeakYle4w4buPyI4wNu506M0C7jpdsWgzfJMjQQz47iW9D/G8uZ+PHqU+0yzNV3aKVq2OzbI5ioPnUfC1DM5mLNgbY3b2pgZSDiz9+w7QV3qXWie5LzMGyJTPDXmwOoAm7yyTP+H0QWfX90Iwz/qd+O7rhzpGuRqtpykiSwPpcuYvEoLQr6hZXOnEjYCzl3SvXi59YStHVQ6yajjbLOu6wRyZrdE7I+5Dv8Wh2+DWZ+N5Wn6gXQ8TAFbuglPlf/J9Uu23lHbaYVL/qi4ffNEPolnneJ1VRMDPwOImOIJkkMJ36DDcROQh9YqY4B9K5jhhwuRjLKgH+A2G0wr1MSxvNboVlpNuSX88GtRDQjDf1uYnFOSH8dfRrFeCezaIlFv/r4te7XK5WsP5v9Tf78HOeDpnlf5rdrGB3MHKUfoL58h7Wz1Yw+us3h0d+gDE7jXejr4GP6ecrBufvMARSeXkLxpjyR9FojCfZmGJKi5kVTNpJIWh94YK/8C67sDYpU30xjV8qfTseChqgTrQtXgyBgHbG+uYXPSCbiZqgCPPa7odw35vLdWK1HypPJZKLN3OynEn25Uye+30Pd+VETj6lGfUSM1Qrt5LhXMHN1P6VXMlWuqLLN22xVW0OHq0v3JPVHBtYgpJNPmy10lQ5E0NAYElApUkvNfI9nGd0+O7w1UNvSNCoMwU0Sabs0bDnOlkREaTrcxMxKjhdBHaW5g+0+hw2VSPl2U3m8HsWn5LpHABDlI/t+SUbZCIY8USSKi1DzPTN6GkRwzd+1kKDVxUSKspEPOwpNjw2nWY2uojAFVI0F//0yEa32QGlXRIcFTFOeCTgKIpBv5AtXnyH0Ts5oeUSrCkvDIFJLS+j2/xKWC/Ek0o4Q12MpXPy3yCCNKF2YdosWFpkyIt5qqnv6EDo0OU8W583jCMUbTE3T1GSbLlRCJ2Lo0w0zkv0xSYoXD0Q1y3pGWaGznITr5FmIXUYr43OIX8XI//HGaGAIXVBWay/xB6t3BWV7Iy825pAvkuayBvWIEbHNV2i/S6q/StuGhFdYeaSZQ8WQeuMx2Mb+oAs2E1YTmPeGxPz09YSXBRfPKIMQarG/uYWlWjn3NO06nHYrvgbAOxWY83p593R8CBGiNi6sdt35xW/iI2RP1xOV5TSe5I64Hf21PDSScDdZGP7gfpQT0h9qkRnsEsNEjPvjk7lm5XZ3409mJzZxZQDmmqcYh4jStFi66FeX3CWFzeRoMlr/W5l1CSKO4hb5v+uGaxciPOUHjw0HreMJJReImBQfDBaKkrjifO4bieLfbVendcUrwyyPk8a/tf+oMM95L++2Br+L3osH8GUZanFrmnK8RVXJFrCpZSKWwrmkc66GenD9VSlv1O+XaWcvTHRH9ZJa0P9vIGDmsBaVUANkfNpCqMAZXtjPeZ9BEJD+rJtRMenKfsaVAFFXEc4JuCGL0sCd7u8rDcn7ZZxUz7PMJBTVr0fbRTGf3PbvgnsGTnoyYSXlJUYGJApTd0lDxq/CVhpSporkY/QtwNbpsYeQK5bDI6VZALKIwqOJqlpOQ10PBVRaL7r4DhSt2Jsmrqe4Zqd1T4O6Ta6A2UzaXCbxBb+MPYSDZvQwhlyLSz/7mx0dQnDz5BC0vzyiljS8rlVfKJ0tRXBF3ALwLTMgo1l4UsPlpKwtE6SeRBTPJF0bXzRtpRzrbLM7TSFUfqCxaIdOoDirjZsDvqnS2qDmCQg4iNY2CS1TfvlyEk/rb5GHWsWLWTUzoRjrJkFIOIHY9UhZVzayTaDUqdqe0njWEFRU/fAQOxILwbxPS0bMEJsxzb8lsXvdXI80i4aEhNmoE7uK/6iMCRRE7+z268nuXVs/MjSbBNrMtWhYFPue5cjX+2cE3Xft1qTEjtJ91w9OctRNFndKy9RkjqnLvjc6pjWFoi0F9FA+cYZeldIAV5zQgm8zPFMM0xxJ9vXCHtzN7jkSI2OuzxVq4KAskoOxK0FWliLKttFRph/8wBtvbIXHdwqeEEGCbMhvLEA8Uu7rY7+MP7C6K/t96uBQi06UDwAu0nzX9WdTIYF6C4d7+qDeidbCwHk/AcfXUqgjBdmgGoeAYxofeYzJwpV84HHR2hKgz9asq63OnNb129PGxaA+wYp5Y+WCN2+nJErZUttdQBgErt3b5HZb/m1P5ff3+S+upvOV3eb21c3nWn+YY3cIWRXTNsDUMyd+W9n3U60WAD7oPIzeo1kP724+SStVPdgUQTXTAG0X8xnbj3YDWehOH3oLFAyzqoE1Udug4OP2jFM760d7yKxMGWL1o6WD2AnaXMH4HznxzXc/Sts5MgWzPP+4wl8+xVW8LMzckVVXi2liZqSVaXex3teLNTgP9mXb4eonN282igs0P7Qfq833rvQzcIhgQnDb4HjopuyX8xD4Ubl2cUBoNZuZUkWPrbpkzDAv2/8ujdxoT3f29CUl0KDgJMYBzI31ueprZQwB35UyslYdwldQbjmi1KWEBbM3f2c7fSDkPpo6XCRq1L4/tA3CVZxqK0gDOAvbK3Fk/VjTsVDloyW5KsC2E4xaFz/Rre9/kO+Qeya6dS/bFUOkLbpF26u/B3CkdnUvMb3iShinTMZDWbU5EUTGnBk3P9br5NMB2rLJGO9OS9HFdo77Ew1uwVIbQf8QjUUb2+RPS/954z6a9KHhv+aH3KMQikPNh4+aTZ+ndjDLzm1MBltMxnHL/u2P+GdL7D0WNDOF1h6Pqe7Rzh8Sy9w3GJdRpNCywfkVdJK3hqvyoTS9rZ04OmtZ2Zl8n3q76lF+rFqa59fAdI6cjUZLLNKQg/Qrm4A4DBVGzE8OEM3DvxIfi7eHmO3WnwLihVGrB6L0FiR9XlWq406quF8hQbxdFsR45V43JXugqtsglQwWlZb2Ez33G0BV7PzHwBADQEfvZ+dBuJzbtcFZNcM36wkt2TYQHfWH3XAd+kVTHOgU42ewLQJLMbxXg7YkT92B/Cq/207AICqWsLz/KMP1bOEl5YrtdmOcXyoHb68OUAPqIGmIwp8dF8lbTNWXTbmAQDTAQK7uNsCaLqZ9AFc+NmZAKr1G+IBuOmACsmFIz71E8yH/+dUrZd+rpWO6zPV/7XQnYD94vR9v0CWBQoFdV1SkWIr1mXu5/GbePAhfr3zGeX0UO61AdRrKXVA+H5K8+H/OTVbZZZT8MlJvXMUdZPa7+mHkiImfMWE2SwrzMgfqwX+uiWOh9y1z4Ma5eGhfGwDmA2z4i2cyycvITx6XX7FfrDe5NYcP9InMGYVA7lCSV9dNwCgIS3ADa7rej9IMz8Xu3Z9530kzWKFEe6mRWisyBjhjhaaJM7iLlsRrdVEwpXuwpxsAlXSW1dbsLd7LhHg253/AEAvDuCe92MYkOncUgK044qDBXT0/sIC59ArwM1CsZVtP06Hqni3ss4/edE+8cTXEzvYI0yHD95a5CDQWvrqugCA8ygr66uR8laM1AuH0P76xsNv4jf+Q6Zpf356R6czwlAnQlX4zDYXZJjpOY9QkHFjRwEAMDYgVzNb/GuQ4wlvy3kkFDj4QbehlHq3DgBAeyDClueiueJItEg06j8jxTRnfbNp/rXIqTqunX8751d67bzbvkiMVs/1gs+8owm9Kb6R9vn/dnwPiGbHFEtpcA00Rlti/tMur//7387O+bT8b3M7U23Tfl6XlA+aNoFvIaN/T9L69ct8p0/qM+LKihf2OJ94hJ9d3qYRpsxwZterU5WlCatqpK+eGwBYCatHhDVDiq3J4ftOYimLvolYXm3tWMEmAK9YYcSugQj3rkg8XAm7KNxL4sSN4uoQAQBLd2p9gmVvOYhWWkqfBue4BcYMtOsfAODKUAn0fmSHsoLKhe2lwiklTq5wOvzLujhRcgWZjl45UhQil/HqwUS1lF+gu2UYiGpd7sTVZJZYV7yO7knX5g009jviMvnmyo/7kUM6/m0/V5Tom90tHZdkfea1Kzefu/Yt+XGplWnXr7Y2/Z4q3m5p24q6tO34XZk2/N4F2++7crv5T7Sb/Bw97SUbDvyVa7OvjBa0tdVXWTt9tbXRV0/7fHX8sF7qdvmmaZOvXLzah/h+uYb3XnUbfOX8LO/71NTt7tXU5t7zz9qQ4j7rf59+0cK9PnMj+z9/zi6Qeqp5FR+9U6LY1lZ3qhJFkAhYRAYJWwzlPrCcHsTUmLopAAA8D5y03Zu22QfOM2g3HfGuilKeKP5ZReUIei3tygMAbiLIxdjCuaqTzTpxa/2PGPey+cDt4kvCxtYZuT0lYwKbYeXEcGUIyljnieJImlF6PvEQGnf6VdlbWMXTR/WeeOCddVxzIxw6w3RJty6PuzpqFQPOevQI5HQ5Zz3wNX9vOGIhf5f6YoRDZaiBUdXsjk1MWH35d90AAAuFGnXhwfrNY4E3t767/fvfooUYsC0MNyQvc4jBbpLARZwVN2sTIgDQFHRV8AnWtVX2Wu0D7F7z3N3CVnSN1xv/AQCVoEpv70crCTk7zZsAi10T3/ZCVoCdM/S3cWjNtFLXnFfg3vV49/vtEjUnKDOM11LdPbcKkJ6uh10xnlm6XcWMZ87emPZ4dtjY1A4AuMR4BDq+jHh2NOi2CwntAnsrDRIY3sY8AEA+4GQDh07nKoez5WRQs5wQcTi3XjZKcnhBrwEVObzVA1BTWvSlc5Ut14eT4uJJi8lnaEeYJgsM9TVSkdVVVlHPkP04Hvr45fHlCNNjGcMGUDej5UmY6kGa9z4K/cTy29en/IxwmCxCzCpYYd5UD0r8bABfEovhp0HeIxweyyI2gFkJK15Bmx7wrnW9IhZKeOMfjnC4JDOIUx0EcneQvrpuACAd4o8b4ze3C+zQ2KV3xEqKFuJCN1eUA5LK4Ro3SdSKu28TIgDQIHRx8QmWtdnqXO0DeNk9l2sgzZ3/AACXAtTj/VgF6NppZgAYY4rjMKWCPI5eWTKtVDu0C3Q7MA/vt5bnGqXMHircTz9nHukZLJk9/OxWelBRulIJo3Uh0UJmrqSv3gYAGI9Wv6VJxlJfueb8UcpmSUslo27HMOJAWxYGxCf683cFIZyhDE4ZQmz3nDlYCInmoZ0AAEgbqasgrJlvhz7p7nEgtrf7w/F6dBXs27ADAHgLEk55ShHFUbnMGOBoHHEscEQcOyMgEYuj0gNu/vflbgW29U4qH6V8psboq5LPVJIgPkFWG/6/d5UQuu9sTuo9qPt2GV42c3cpttRHM/UJyrBSwDlthgDApbchLlJATb5QlybSdesYuqfMmyKJpK3x59uXTvh3iapyuAJFQFCtAQmUBUZnAyIAAIBJl/p494gMSlN7DXTpYEmg9OZ/AKADaA60f7Zimoq2zOY2aMsYb4O2fku3KZaUQHcXqIETXQh+wc4t4DywsPNfNsfjmv6ud//y57795vwpWiXvgY7P/7+YFaoYQFaZVXRRM6GnTHlvwk2LDfzCF9l87anDrljZxzirOZ3xYLKCo/S/JzrP6zuiyFhoU+MPr5M2bdwdr1exrvi3MExuar5VWzErTwKfv4M6+sV8Z7j7vqncP2xlzjubN/uL5gX/Ppc5Fz66HABClsrtyrteJJtA6u2NQSn2IQ19CKUpnwIAAolKZdrxaek+ZLHbTive06zangrLYGJY4KktDwBYr2ZVJx54OQennguqRm1lNDZUPdvL1iyharPXIHZB3dqhKLPMJF04zvLBXdA0lvOr5JYV74/ByzCemBe6vuD6s4iKo7MzdByUS+yhqJmbC98R0h1D1CesnHUvwnnCbrf0lRkCACt9+3yk9lgYB795cOBl7PndjZYGh/toC2NaXJc5xKjrkoAOPCkrgtiaBV/pLqTHJ9peADvNc3OrRpJrmd74DwCEhG732j+LSKKibbO5A1oY4x3Q4pGdQukBSNsEunZNCkC3OXFfZhcpkep1kTCUyA4GkkOoa3e7a6Sh7qremLFk7G7vagcAPFVQA7vlM6cYG+NhO3OOMTlTWXH4Tjm89KY8AGBKq8VUDmi4uFSAaboZuYAZ+NnKAqP1G1wERmiCcq2g6/Ud2BeFz5NnZn+C+MZ6K87daYGhbkIqZN+jcZnf7PknieHPKo3caXmyBlAPoeUJminbb2WV+J49/u7hd95ozphpEWK2uAplCR69FvrOvm2Qqu6jNV6m5c4awGxz1YaqlM1aw+TB2eOj+GGo05+n0idIo0oyYZ0sUhs4AODu2fuv1yYTEpYzSECs7Xb/pKxg4bhvr8limqDYKCESWJWI3kr5X+0uqi0Urba7OJS999yueE65J2tr/wGAkUM9xZ9slaIcl2+KtrjcWLTFccVSEdsy2IBk018L","base64")).toString()),LP}var ire=new Map([[w.makeIdent(null,"fsevents").identHash,ere],[w.makeIdent(null,"resolve").identHash,tre],[w.makeIdent(null,"typescript").identHash,rre]]),oHe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of $te)e(w.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=w.parseIdent(e.slice(r.length)),n=(s=ire.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ire.get(t.identHash)=="undefined"?t:w.makeDescriptor(t,w.makeRange({protocol:"patch:",source:w.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},aHe=oHe;var TP={};et(TP,{default:()=>lHe});var nB=class extends ye{constructor(){super(...arguments);this.pkg=j.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=w.parseIdent(this.command),i=w.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,w.stringifyIdent(i),...this.args])}};nB.paths=[["create"]];var nre=nB;var qp=class extends ye{constructor(){super(...arguments);this.packages=j.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){return le.telemetry=null,await L.mktempPromise(async e=>{var p;let r=D.join(e,`dlx-${process.pid}`);await L.mkdirPromise(r),await L.writeFilePromise(D.join(r,"package.json"),`{} +`),await L.writeFilePromise(D.join(r,"yarn.lock"),"");let i=D.join(r,".yarnrc.yml"),n=await le.findProjectCwd(this.context.cwd,xt.lockfile),s=!(await le.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?D.join(n,".yarnrc.yml"):null;o!==null&&L.existsSync(o)?(await L.copyFilePromise(o,i),await le.updateConfiguration(r,m=>{let I=V(v({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let B=typeof y=="string"?y:y.path,x=T.isAbsolute(B)?B:T.resolve(T.fromPortablePath(n),B);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await L.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=w.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 le.find(r,this.context.plugins),{project:g,workspace:f}=await Fe.find(u,r);if(f===null)throw new Ze(g.cwd,r);await g.restoreInstallState();let h=await Qt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Qt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};qp.paths=[["dlx"]],qp.usage=he.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"]]});var sre=qp;var AHe={commands:[nre,sre]},lHe=AHe;var JP={};et(JP,{default:()=>gHe,fileUtils:()=>OP});var ku=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Jp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,ar="file:";var OP={};et(OP,{makeArchiveFromLocator:()=>sB,makeBufferFromLocator:()=>HP,makeLocator:()=>UP,makeSpec:()=>ore,parseSpec:()=>KP});function KP(t){let{params:e,selector:r}=w.parseRange(t),i=T.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?w.parseLocator(e.locator):null,path:i}}function ore({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:w.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return w.makeRange({protocol:i,source:e,selector:e,params:v(v({},s),n)})}function UP(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return w.makeLocator(t,ore({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function sB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=w.parseFileStyleRange(t.reference,{protocol:e}),o=D.isAbsolute(s)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=D.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await hr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:w.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function HP(t,{protocol:e,fetchOptions:r}){return(await sB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var YP=class{supports(e,r){return!!e.reference.startsWith(ar)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:ar});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return sB(e,{protocol:ar,fetchOptions:r})}};var cHe=1,jP=class{supportsDescriptor(e,r){return e.range.match(ku)?!0:!!e.range.startsWith(ar)}supportsLocator(e,r){return!!e.reference.startsWith(ar)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return ku.test(e.range)&&(e=w.makeDescriptor(e,`${ar}${e.range}`)),w.bindDescriptor(e,{locator:w.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}=KP(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await HP(w.makeLocator(e,w.makeRange({protocol:ar,source:n,selector:n,params:{locator:w.stringifyLocator(s)}})),{protocol:ar,fetchOptions:i.fetchOptions}),a=Di.makeHash(`${cHe}`,o).slice(0,6);return[UP(e,{parentLocator:s,path:n,folderHash:a,protocol:ar})]}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 de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var GP=class{supports(e,r){return Jp.test(e.reference)?!!e.reference.startsWith(ar):!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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:ar}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var qP=class{supportsDescriptor(e,r){return Jp.test(e.range)?!!(e.range.startsWith(ar)||ku.test(e.range)):!1}supportsLocator(e,r){return Jp.test(e.reference)?!!e.reference.startsWith(ar):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return ku.test(e.range)&&(e=w.makeDescriptor(e,`${ar}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(ar)&&(n=n.slice(ar.length)),[w.makeLocator(e,`${ar}${T.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 de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var uHe={fetchers:[GP,YP],resolvers:[qP,jP]},gHe=uHe;var iF={};et(iF,{default:()=>kHe,gitUtils:()=>Wp});var Wp={};et(Wp,{TreeishProtocols:()=>Ni,clone:()=>eF,isGitUrl:()=>Pu,lsRemote:()=>Qre,normalizeLocator:()=>_P,normalizeRepoUrl:()=>zp,resolveUrl:()=>$P,splitRepoUrl:()=>Vp});var XP=te(yre()),vu=te(require("querystring")),ZP=te(cr()),Bre=te(require("url"));function wre(){return V(v({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var SHe=[/^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\/(.+)?$/],Ni;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(Ni||(Ni={}));function Pu(t){return t?SHe.some(e=>!!t.match(e)):!1}function Vp(t){t=zp(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:Ni.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=vu.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(Ni).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=Ni.Head,a="HEAD");for(let l of Object.values(Ni))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 zp(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=Bre.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 _P(t){return w.makeLocator(t,zp(t.reference))}async function Qre(t,e){let r=zp(t,{git:!0});if(!Rt.getNetworkSettings(`https://${(0,XP.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await Lr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:wre(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let 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 $P(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Vp(t),o=await Qre(r,e),a=(c,u)=>{switch(c){case Ni.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return vu.default.stringify(V(v({},s),{commit:u}))}case Ni.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return vu.default.stringify(V(v({},s),{commit:g}))}case Ni.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return vu.default.stringify(V(v({},s),{commit:g}))}case Ni.Semver:{let g=vt.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])=>[ZP.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=ZP.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return vu.default.stringify(V(v({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(Ni.Commit,u))!==null||(g=l(Ni.Tag,u))!==null||(g=l(Ni.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 eF(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Vp(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=zp(r,{git:!0});if(Rt.getNetworkSettings(`https://${(0,XP.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await L.mktempPromise(),a={cwd:o,env:wre(),strict:!0};try{await Lr.execvp("git",["clone","-c core.autocrlf=false",s,T.fromPortablePath(o)],a),await Lr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var tF=class{supports(e,r){return Pu(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=_P(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=V(v({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:l,releaseFs:c,prefixPath:w.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 eF(e.reference,r.project.configuration),n=Vp(e.reference),s=D.join(i,"package.tgz");await Qt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await L.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}))}};var rF=class{supportsDescriptor(e,r){return Pu(e.range)}supportsLocator(e,r){return Pu(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 $P(e.range,i.project.configuration);return[w.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 de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var xHe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[tF],resolvers:[rF]};var kHe=xHe;var sF={};et(sF,{default:()=>FHe});var bre=te(require("querystring")),Dre=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function Sre(t){return t?Dre.some(e=>!!t.match(e)):!1}function xre(t){let e;for(let a of Dre)if(e=t.match(a),e)break;if(!e)throw new Error(vHe(t));let[,r,i,n,s="master"]=e,{commit:o}=bre.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function vHe(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var nF=class{supports(e,r){return!!Sre(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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Rt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await L.mktempPromise(async n=>{let s=new yt(n);await hr.extractArchiveTo(i,s,{stripComponents:1});let o=Wp.splitRepoUrl(e.reference),a=D.join(n,"package.tgz");await Qt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await L.readFilePromise(a);return await hr.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=xre(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var PHe={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new nF;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},FHe=PHe;var AF={};et(AF,{default:()=>NHe});var Xp=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Zp=/^https?:/;var oF=class{supports(e,r){return Xp.test(e.reference)?!!Zp.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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Rt.get(e.reference,{configuration:r.project.configuration});return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var aF=class{supportsDescriptor(e,r){return Xp.test(e.range)?!!Zp.test(e.range):!1}supportsLocator(e,r){return Xp.test(e.reference)?!!Zp.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[w.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 de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var RHe={fetchers:[oF],resolvers:[aF]},NHe=RHe;var gF={};et(gF,{default:()=>LYe});var tie=te(eie()),uF=te(require("util")),_p=class extends ye{constructor(){super(...arguments);this.private=j.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=j.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=j.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=j.Boolean("-2",!1,{hidden:!0});this.yes=j.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=j.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await le.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 me("Cannot use the --install flag from within a project subdirectory");L.existsSync(this.context.cwd)||await L.mkdirPromise(this.context.cwd,{recursive:!0});let i=D.join(this.context.cwd,e.get("lockfileFilename"));L.existsSync(i)||await L.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;this.context.stdout.write(` +`);let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await L.mktempPromise(async o=>{let{code:a}=await Lr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Fe.find(e,this.context.cwd)).project}catch{r=null}L.existsSync(this.context.cwd)||await L.mkdirPromise(this.context.cwd,{recursive:!0});let i=await ze.tryFind(this.context.cwd)||new ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:w.makeIdent(e.get("initScope"),D.basename(this.context.cwd)),i.packageManager=Er&&de.isTaggedYarnVersion(Er)?`yarn@${Er}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await L.mkdirPromise(D.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),uF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,uF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=D.join(this.context.cwd,ze.fileName);await L.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=D.join(this.context.cwd,"README.md");if(L.existsSync(a)||await L.writeFilePromise(a,`# ${w.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=D.join(this.context.cwd,xt.lockfile);L.existsSync(c)||await L.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# 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(I=>`${I} +`).join(""),f=D.join(this.context.cwd,".gitignore");L.existsSync(f)||await L.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,tie.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[I,y]of Object.entries(h)){p+=` +[${I}] +`;for(let[B,x]of Object.entries(y))p+=`${B.replace(/[A-Z]/g,N=>`_${N.toLowerCase()}`)} = ${x} +`}let m=D.join(this.context.cwd,".editorconfig");L.existsSync(m)||await L.writeFilePromise(m,p),L.existsSync(D.join(this.context.cwd,".git"))||await Lr.execvp("git",["init"],{cwd:this.context.cwd})}}};_p.paths=[["init"]],_p.usage=he.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 rie=_p;var NYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[rie]},LYe=NYe;var CF={};et(CF,{default:()=>TYe});var Io="portal:",Eo="link:";var fF=class{supports(e,r){return!!e.reference.startsWith(Io)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot}}};var hF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Io)}supportsLocator(e,r){return!!e.reference.startsWith(Io)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Io.length);return[w.makeLocator(e,`${Io}${T.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 de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var pF=class{supports(e,r){return!!e.reference.startsWith(Eo)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0}}};var dF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Eo)}supportsLocator(e,r){return!!e.reference.startsWith(Eo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Eo.length);return[w.makeLocator(e,`${Eo}${T.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return V(v({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:lt.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var MYe={fetchers:[pF,fF],resolvers:[dF,hF]},TYe=MYe;var GF={};et(GF,{default:()=>Hje});var yo;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(yo||(yo={}));var mF=(t,e)=>`${t}@${e}`,iie=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return mF(t,i)},Xi;(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"})(Xi||(Xi={}));var sie=(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=OYe(t,s),l=!1,c=0;do l=IF(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=$p(a);if(IF(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${$p(a)}`);let f=nie(a);if(f)throw new Error(`${f}, after hoisting finished: +${$p(a)}`)}return s.debugLevel>=2&&console.log($p(a)),KYe(a)},UYe=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},HYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},oie=(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}=e,f={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,hoistedFrom:[]},h=f.dependencies.get(r);return h&&h.ident==f.ident&&f.dependencies.set(r,f),t.dependencies.set(f.name,f),f},YYe=(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.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},EF=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},IF=(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=GYe(o),l=YYe(o,a),c=t==o?new Map:n.fastLookupPossible?UYe(e):HYe(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=jYe(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(h.delete(I),y.shift(),h.set(I,y[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 I=IF(t,[...e,m],r,p,n);I.isGraphChanged&&(f=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},qYe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Li(m)).join("\u2192")}`);let f=r[r.length-1],p=!(i.ident===f.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Li(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Li(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(f);F||(F=new Set,a.set(f,F)),F.add(i.name),l&&(u=`- filled by ${Li(x.locator)} at ${r.slice(0,y).map(N=>Li(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Li(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let B=r[y];for(let x of I){if(B.peerNames.has(x)&&B.originalDependencies.has(x))continue;let F=B.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Li(F.locator)} from parent ${Li(B.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},jYe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(I,y,B,x)=>{if(u.has(B))return;let F=[...y,B.locator],N=new Map,O=new Map;for(let K of EF(B)){let A=qYe(c,r,[c,...I,B],K,i,n,s,a,{outputReason:l.debugLevel>=2});if(O.set(K,A),A.isHoistable===2)for(let W of A.dependsOn){let ee=N.get(W.name)||new Set;ee.add(K.name),N.set(W.name,ee)}}let P=new Set,J=(K,A,W)=>{if(!P.has(K)){P.add(K),O.set(K,{isHoistable:1,reason:W});for(let ee of N.get(K.name)||[])J(B.dependencies.get(ee),A,l.debugLevel>=2?`- peer dependency ${Li(K.locator)} from parent ${Li(B.locator)} was not hoisted`:"")}};for(let[K,A]of O)A.isHoistable===1&&J(K,A,A.reason);for(let K of O.keys())if(!P.has(K)){f=!0;let A=o.get(B);A&&A.has(K.name)&&(g=!0),B.dependencies.delete(K.name),B.hoistedDependencies.set(K.name,K),B.reasons.delete(K.name);let W=c.dependencies.get(K.name),ee=null;if(l.debugLevel>=2&&(ee=Array.from(y).concat([B.locator]).map(re=>Li(re)).join("\u2192")),!W)c.ident!==K.ident&&(c.dependencies.set(K.name,K),l.debugLevel>=2&&K.hoistedFrom.push(ee),x.add(K));else for(let re of K.references)W.references.add(re),l.debugLevel>=2&&W.hoistedFrom.push(ee)}if(l.check){let K=nie(t);if(K)throw new Error(`${K}, after hoisting dependencies of ${[c,...I,B].map(A=>Li(A.locator)).join("\u2192")}: +${$p(t)}`)}let oe=EF(B);for(let K of oe)if(P.has(K)){let A=O.get(K);if((n.get(K.name)===K.ident||!B.reasons.has(K.name))&&A.isHoistable!==0&&B.reasons.set(K.name,A.reason),!K.isHoistBorder&&F.indexOf(K.locator)<0){u.add(B);let ee=oie(B,K);h([...I,B],[...y,B.locator],ee,m),u.delete(B)}}},p,m=new Set(EF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=oie(c,I);h([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},nie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Li(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` +`)},OYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:mF(r,n),ident:iie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},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:I}=c,y=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:mF(p,m),ident:iie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(h):!1,hoistedFrom:[]},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 I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},yF=t=>t.substring(0,t.indexOf("@",1)),KYe=t=>{let e={name:t.name,identName:yF(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:yF(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},GYe=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},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())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Li=t=>{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}`},aie=5e4,$p=t=>{let e=0,r=(n,s,o="")=>{if(e>aie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Li(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} +`,l+=r(u,s,`${o}${caie?` +Tree is too large, part of the tree has been dunped +`:"")};var ed;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(ed||(ed={}));var Mi;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mi||(Mi={}));var Aie="node_modules",oB="$wsroot$";var td=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=JYe(t,e),o=null;if(n.length===0){let a=sie(r,{hoistingLimits:i});o=WYe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Bs=t=>`${t.name}@${t.reference}`,BF=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(D.delimiter).length,o=n.split(D.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},lie=(t,e)=>{let r=w.isVirtualLocator(t)?w.devirtualizeLocator(t):t,i=w.isVirtualLocator(e)?w.devirtualizeLocator(e):e;return w.areLocatorsEqual(r,i)},JYe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=T.toPortablePath(a.packageLocation),u=Bs(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(D.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(D.sep).slice(y.length),O=I;for(let P of N){let J=O.children.get(P);J||(J={children:new Map},O.children.set(P,J)),O=J}O.workspaceLocator={name:w.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let B=(x,F)=>{if(x.workspaceLocator){let N=Bs(F),O=o.get(N);O||(O=new Set,o.set(N,O)),O.add(x.workspaceLocator)}for(let N of x.children.values())B(N,x.workspaceLocator||F)};for(let x of I.children.values())B(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},f=new Map,h=(I,y)=>`${Bs(y)}:${I}`,p=(I,y)=>{if(I.linkType!==ed.SOFT||!e.project)return!1;let B=T.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return D.contains(e.project.cwd,B)===null},m=(I,y,B,x,F,N,O)=>{var ee,re;let P=h(I,B),J=f.get(P),oe=!!J;if(!oe&&B.name===l.name&&B.reference===l.reference&&(J=g,f.set(P,g)),J||(J={name:I,identName:B.name,reference:B.reference,dependencies:new Set,peerNames:y.packagePeers},f.set(P,J)),O&&!p(y,B)){let H=Bs({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let K=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(T.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),ve=>w.stringifyIdent(ve)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let ve of R)K.has(ve)||(K.set(ve,F.get(ve)||null),J.peerNames.add(ve))}}let A=Bs(B),W=o.get(A);if(W)for(let H of W)K.set(`${H.name}${oB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,ve]of K)if(ve!==null){let Ne=t.getLocator(R,ve),Je=t.getLocator(R.replace(oB,""),ve),Ke=t.getPackageInformation(Je);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Ne);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,Qe]of Ke.packageDependencies)if(Qe!==null){let Z=w.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${pe}@${Qe}`);if(Bs(Z)!==Bs(Ne)){let X=K.get(pe);if(X){let ae=w.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);lie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${w.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,Be=w.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);lie(Be,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${w.prettyLocator(e.project.configuration,Be)} from sibling portal ${w.prettyIdent(e.project.configuration,w.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Ne})}}}}let ce=(ee=e.hoistingLimitsByCwd)==null?void 0:ee.get(N),Se=ie?N:D.relative(c,T.toPortablePath(Ke.packageLocation))||we.dot,fe=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(Se),Ie=ce===Mi.DEPENDENCIES||fe===Mi.DEPENDENCIES||fe===Mi.WORKSPACES;m(Bs(Ne)===Bs(B)?I:R,Ke,Ne,J,K,Se,Ie)}}};return m(l.name,a,l,g,a.packageDependencies,we.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function zYe(t,e,r){let i=e.getLocator(t.name.replace(oB,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=T.toPortablePath(n.packageLocation),s=ed.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=T.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var WYe=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=zYe(u,t,r);return{locator:Bs(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:rr(g),name:rr(f)}:{scope:null,name:rr(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:I,scope:y}=s(h.name),B=y?[y,I]:[I],x=D.join(g,Aie),F=D.join(x,...B),N=`${f}/${m.name}`,O=n(m,f,p.slice(1));if(!h.name.endsWith(oB)){let P=i.get(F);if(P){if(P.dirList)throw new Error(`Assertion failed: ${F} cannot merge dir node with leaf node`);{let A=w.parseLocator(P.locator),W=w.parseLocator(O.locator);if(P.linkType!==O.linkType)throw new Error(`Assertion failed: ${F} cannot merge nodes with different link types ${P.nodePath}/${w.stringifyLocator(A)} and ${f}/${w.stringifyLocator(W)}`);if(A.identHash!==W.identHash)throw new Error(`Assertion failed: ${F} cannot merge nodes with different idents ${P.nodePath}/${w.stringifyLocator(A)} and ${f}/s${w.stringifyLocator(W)}`);O.aliases=[...O.aliases,...P.aliases,w.parseLocator(P.locator).reference]}}i.set(F,O);let J=F.split("/"),oe=J.indexOf(Aie),K=J.length-1;for(;oe>=0&&K>oe;){let A=T.toPortablePath(J.slice(0,K).join(D.sep)),W=rr(J[K]),ee=i.get(A);if(!ee)i.set(A,{dirList:new Set([W])});else if(ee.dirList){if(ee.dirList.has(W))break;ee.dirList.add(W)}K--}}a(h,O.linkType===ed.SOFT?O.target:F,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var FF={};et(FF,{PnpInstaller:()=>Nu,PnpLinker:()=>fl,default:()=>pje,getPnpPath:()=>Qa,jsInstallUtils:()=>wa,pnpUtils:()=>vF,quotePathIfNeeded:()=>vie});var kie=te(cr());var cie;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(cie||(cie={}));var Dt;(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"})(Dt||(Dt={}));var uie={[Dt.DEFAULT]:{collapsed:!1,next:{["*"]:Dt.DEFAULT}},[Dt.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Dt.FALLBACK_EXCLUSION_LIST,packageRegistryData:Dt.PACKAGE_REGISTRY_DATA,["*"]:Dt.DEFAULT}},[Dt.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Dt.FALLBACK_EXCLUSION_ENTRIES}},[Dt.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.FALLBACK_EXCLUSION_DATA}},[Dt.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}},[Dt.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_REGISTRY_ENTRIES}},[Dt.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_STORE_DATA}},[Dt.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_STORE_ENTRIES}},[Dt.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_INFORMATION_DATA}},[Dt.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Dt.PACKAGE_DEPENDENCIES,["*"]:Dt.DEFAULT}},[Dt.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_DEPENDENCY}},[Dt.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}}};function VYe(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 $Ye(t){let e=new Map,r=rd(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 eje(t){return rd(t.fallbackPool||[],([e])=>e)}function tje(t){let e=[];for(let[r,i]of rd(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 rd(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 rd(a.entries(),([I])=>I))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 id(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:$Ye(t),fallbackPool:eje(t),packageRegistryData:tje(t)}}var die=te(pie());function Cie(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",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,die.default)()].join("")}function rje(t){return JSON.stringify(t,null,2)}function ije(t){return[`return hydrateRuntimeState(${fie(t)}, {basePath: basePath || __dirname}); +`].join("")}function nje(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 mie(t){let e=id(t),r=ije(e);return Cie(t.shebang,r)}function Iie(t){let e=id(t),r=nje(t.dataLocation),i=Cie(t.shebang,r);return{dataFile:rje(e),loaderFile:i}}var wie=te(require("fs")),Aje=te(require("path")),Qie=te(require("util"));function QF(t,{basePath:e}){let r=T.toPortablePath(e),i=D.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 x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:h},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return B||(B=D.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 Ru=te(require("module")),Bie=te(yie()),DF=te(require("util"));var qt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(qt||(qt={}));var aje=new Set([qt.BUILTIN_NODE_RESOLUTION_FAILED,qt.MISSING_DEPENDENCY,qt.MISSING_PEER_DEPENDENCY,qt.QUALIFIED_PATH_RESOLUTION_FAILED,qt.UNDECLARED_DEPENDENCY]);function Pr(t,e,r={}){let i=aje.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(v({},n),{value:i}),pnpCode:V(v({},n),{value:t}),data:V(v({},n),{value:r})})}function Ba(t){return T.normalize(T.fromPortablePath(t))}function SF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ru.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let ce=t.packageRegistry.get(ie);if(ce)for(let Se of ce.keys()){if(Se===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:Se})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,ce){return{fn:ie,args:ce,error:null,result:null}}function y(ie){var pe,Qe,Z,X,ae,ue;let ce=(Z=(Qe=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:Qe.call(pe))!=null?Z:process.stdout.isTTY,Se=(Be,ct)=>`[${Be}m${ct}`,fe=ie.error;console.error(fe?Se("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):Se("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let Be of ie.args)console.error(` ${Se("37;1","In \u2190")} ${(0,DF.inspect)(Be,{colors:ce,compact:!0})}`);ie.result&&(console.error(),console.error(` ${Se("37;1","Out \u2192")} ${(0,DF.inspect)(ie.result,{colors:ce,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let Be of Ie)console.error(` ${Se("38;5;244",Be)}`)}console.error()}function B(ie,ce){if(e.allowDebug===!1)return ce;if(Number.isFinite(i)){if(i>=2)return(...Se)=>{let fe=I(ie,Se);try{return fe.result=ce(...Se)}catch(Ie){throw fe.error=Ie}finally{y(fe)}};if(i>=1)return(...Se)=>{try{return ce(...Se)}catch(fe){let Ie=I(ie,Se);throw Ie.error=fe,y(Ie),fe}}}return ce}function x(ie){let ce=W(ie);if(!ce)throw Pr(qt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ce}function F(ie){if(ie.name===null)return!0;for(let ce of t.dependencyTreeRoots)if(ce.name===ie.name&&ce.reference===ie.reference)return!0;return!1}function N(ie){let ce=H(D.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(ce===null)throw Pr(qt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=x(ce),fe=D.join(Se,xt.manifest);if(!e.fakeFs.existsSync(fe))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(fe,"utf8")),pe=D.contains(Se,ie);if(pe===null)throw Pr(qt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(pe)||(pe=`./${pe}`);let Qe=(0,Bie.resolve)(Ie,D.normalize(pe),{browser:!1,require:!0,conditions:[]});return typeof Qe=="string"?D.join(Se,Qe):null}function O(ie,ce,{extensions:Se}){let fe;try{ce.push(ie),fe=e.fakeFs.statSync(ie)}catch(Ie){}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(ie);if(fe&&fe.isDirectory()){let Ie;try{Ie=JSON.parse(e.fakeFs.readFileSync(D.join(ie,xt.manifest),"utf8"))}catch(Qe){}let pe;if(Ie&&Ie.main&&(pe=D.resolve(ie,Ie.main)),pe&&pe!==ie){let Qe=O(pe,ce,{extensions:Se});if(Qe!==null)return Qe}}for(let Ie=0,pe=Se.length;Ie{let Z=JSON.stringify(Qe.name);if(fe.has(Z))return;fe.add(Z);let X=ee(Qe);for(let ae of X)if(x(ae).packagePeers.has(ie))Ie(ae);else{let Be=Se.get(ae.name);typeof Be=="undefined"&&Se.set(ae.name,Be=new Set),Be.add(ae.reference)}};Ie(ce);let pe=[];for(let Qe of[...Se.keys()].sort())for(let Z of[...Se.get(Qe)].sort())pe.push({name:Qe,reference:Z});return pe}function H(ie,{resolveIgnored:ce=!1,includeDiscardFromLookup:Se=!1}={}){if(oe(ie)&&!ce)return null;let fe=D.relative(t.basePath,ie);fe.match(a)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let Ie=m.get(fe);if(typeof Ie=="undefined"||Ie.discardFromLookup&&!Se){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return Ie.locator}while(fe!=="");return null}function R(ie,ce,{considerBuiltins:Se=!0}={}){if(ie==="pnpapi")return T.toPortablePath(e.pnpapiResolution);if(Se&&s(ie))return null;let fe=Ba(ie),Ie=ce&&Ba(ce);if(ce&&oe(ce)&&(!D.isAbsolute(ie)||H(ie)===null)){let Z=J(ie,ce);if(Z===!1)throw Pr(qt.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: "${fe}" +Required by: ${Ie} +`,{request:fe,issuer:Ie});return T.toPortablePath(Z)}let pe,Qe=ie.match(o);if(Qe){if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let[,Z,X]=Qe,ae=H(ce);if(!ae){let Xt=J(ie,ce);if(Xt===!1)throw Pr(qt.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: "${fe}" +Required by: ${Ie} +`,{request:fe,issuer:Ie});return T.toPortablePath(Xt)}let Be=x(ae).packageDependencies.get(Z),ct=null;if(Be==null&&ae.name!==null){let Xt=t.fallbackExclusionList.get(ae.name);if(!Xt||!Xt.has(ae.reference)){for(let zn=0,_u=g.length;zn<_u;++zn){let xs=x(g[zn]).packageDependencies.get(Z);if(xs!=null){r?ct=xs:Be=xs;break}}if(t.enableTopLevelFallback&&Be==null&&ct===null){let zn=t.fallbackPool.get(Z);zn!=null&&(ct=zn)}}}let mt=null;if(Be===null)if(F(ae))mt=Pr(qt.MISSING_PEER_DEPENDENCY,`Your application tried to access ${Z} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${Ie} +`,{request:fe,issuer:Ie,dependencyName:Z});else{let Xt=re(Z,ae);Xt.every(_i=>F(_i))?mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} +`).join("")} +`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt}):mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) + +${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} +`).join("")} +`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt})}else Be===void 0&&(!Se&&s(ie)?F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. 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 ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${Ie} +`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. 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 ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${Ie} +`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${Ie} +`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(Be==null){if(ct===null||mt===null)throw mt||new Error("Assertion failed: Expected an error to have been set");Be=ct;let Xt=mt.message.replace(/\n.*/g,"");mt.message=Xt,!f.has(Xt)&&i!==0&&(f.add(Xt),process.emitWarning(mt))}let St=Array.isArray(Be)?{name:Be[0],reference:Be[1]}:{name:Z,reference:Be},xn=x(St);if(!xn.packageLocation)throw Pr(qt.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: ${St.name}@${St.reference}${St.name!==fe?` (via "${fe}")`:""} +Required by: ${ae.name}@${ae.reference} (via ${Ie}) +`,{request:fe,issuer:Ie,dependencyLocator:Object.assign({},St)});let Ii=xn.packageLocation;X?pe=D.join(Ii,X):pe=Ii}else if(D.isAbsolute(ie))pe=D.normalize(ie);else{if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let Z=D.resolve(ce);ce.match(l)?pe=D.normalize(D.join(Z,ie)):pe=D.normalize(D.join(D.dirname(Z),ie))}return D.normalize(pe)}function ve(ie,ce){if(a.test(ie))return ce;let Se=N(ce);return Se?D.normalize(Se):ce}function Ne(ie,{extensions:ce=Object.keys(Ru.Module._extensions)}={}){let Se=[],fe=O(ie,Se,{extensions:ce});if(fe)return D.normalize(fe);{let Ie=Ba(ie),pe=H(ie);if(pe){let{packageLocation:Qe}=x(pe);if(!e.fakeFs.existsSync(Qe)){let Z=Qe.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 Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`${Z} + +Missing package: ${pe.name}@${pe.reference} +Expected package location: ${Ba(Qe)} +`,{unqualifiedPath:Ie})}}throw Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ie} +${Se.map(Qe=>`Not found: ${Ba(Qe)} +`).join("")}`,{unqualifiedPath:Ie})}}function Je(ie,ce,{considerBuiltins:Se,extensions:fe}={}){let Ie=R(ie,ce,{considerBuiltins:Se});if(Ie===null)return null;let pe=()=>ce!==null?oe(ce):!1,Qe=(!Se||!s(ie))&&!pe()?ve(ie,Ie):Ie;try{return Ne(Qe,{extensions:fe})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:Ba(ie),issuer:ce&&Ba(ce)}),Z}}function Ke(ie){let ce=D.normalize(ie),Se=ir.resolveVirtual(ce);return Se!==ce?Se:null}return{VERSIONS:K,topLevel:A,getLocator:(ie,ce)=>Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ie,reference:ce},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[ce,Se]of p)for(let fe of Se.keys())ce!==null&&fe!==null&&ie.push({name:ce,reference:fe});return ie},getPackageInformation:ie=>{let ce=W(ie);if(ce===null)return null;let Se=T.fromPortablePath(ce.packageLocation);return V(v({},ce),{packageLocation:Se})},findPackageLocator:ie=>H(T.toPortablePath(ie)),resolveToUnqualified:B("resolveToUnqualified",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=R(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveUnqualified:B("resolveUnqualified",(ie,ce)=>T.fromPortablePath(Ne(T.toPortablePath(ie),ce))),resolveRequest:B("resolveRequest",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=Je(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveVirtual:B("resolveVirtual",ie=>{let ce=Ke(T.toPortablePath(ie));return ce!==null?T.fromPortablePath(ce):null})}}var dCt=(0,Qie.promisify)(wie.readFile);var bie=(t,e,r)=>{let i=id(t),n=QF(i,{basePath:e}),s=T.join(e,xt.pnpCjs);return SF(n,{fakeFs:r,pnpapiResolution:s})};var wa={};et(wa,{checkAndReportManifestCompatibility:()=>Die,extractBuildScripts:()=>AB,getExtractHint:()=>xF,hasBindingGyp:()=>kF});function Die(t,e,r,{configuration:i,report:n}){return ze.isManifestFieldCompatible(e.manifest.os,process.platform)?ze.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${w.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${w.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function AB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Vi.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Vi.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==lt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${w.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(z.BUILD_DISABLED,`${w.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${w.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Die(t,e,"build",{configuration:i,report:n})?s:[]}var lje=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function xF(t){return t.packageFs.getExtractHint({relevantExtensions:lje})}function kF(t){let e=D.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var vF={};et(vF,{getUnpluggedPath:()=>nd});function nd(t,{configuration:e}){return D.resolve(e.get("pnpUnpluggedFolder"),w.slugifyLocator(t))}var cje=new Set([w.makeIdent(null,"nan").identHash,w.makeIdent(null,"node-gyp").identHash,w.makeIdent(null,"node-pre-gyp").identHash,w.makeIdent(null,"node-addon-api").identHash,w.makeIdent(null,"fsevents").identHash]),fl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))throw new me(`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=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:w.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return T.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(T.fromPortablePath(e));return s?w.makeLocator(w.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Nu(e)}},Nu=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=w.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!w.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==lt.SOFT,c,u;(a||l)&&(c=this.customData.store.get(e.locatorHash),typeof c=="undefined"&&(c=await uje(e,r),e.linkType===lt.HARD&&this.customData.store.set(e.locatorHash,c)),u=this.opts.project.getDependencyMeta(e,e.version));let g=a?AB(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],f=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(D.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let h=D.resolve(f.getRealPath(),r.prefixPath),p=PF(this.opts.project.cwd,h),m=new Map,I=new Set;if(w.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(w.stringifyIdent(y),null),I.add(w.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=w.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:PF(this.opts.project.cwd,ir.resolveVirtual(h)),locator:y})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:h,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(w.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Qa(this.opts.project);if(L.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${Ae.pretty(this.opts.project.configuration,xt.pnpJs,Ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${Ae.pretty(this.opts.project.configuration,xt.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 L.removePromise(e.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await L.removePromise(e.cjs),await L.removePromise(this.opts.project.configuration.get("pnpDataPath"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,w.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:lt.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:w.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.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:w.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){let r=Qa(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.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 L.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=mie(e);await L.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await L.chmodPromise(r.cjs,493),await L.removePromise(i)}else{let o=D.relative(D.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Iie(V(v({},e),{dataLocation:o}));await L.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await L.chmodPromise(r.cjs,493),await L.changeFilePromise(i,a,{automaticNewlines:!0}),await L.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await L.removePromise(s);else for(let o of await L.readdirPromise(s)){let a=D.resolve(s,o);this.unpluggedPaths.has(a)||await L.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=D.join(n.cwd,"node_modules");if(i&&i.test(D.relative(this.opts.project.cwd,n.cwd))||!L.existsSync(s))continue;let o=await L.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(D.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:cje.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(AB(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=nd(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=D.join(i,r.prefixPath,".ready");return await L.existsPromise(n)?new yt(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await L.mkdirPromise(i,{recursive:!0}),await L.copyPromise(i,we.dot,{baseFs:r.packageFs,overwrite:!1}),await L.writeFilePromise(n,""),new yt(i))}getPackageInformation(e){let r=w.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 ${w.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 ${w.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=PF(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:lt.SOFT,discardFromLookup:!1}))}};function PF(t,e){let r=D.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function uje(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:xF(e),hasBindingGyp:kF(e)}}}var Sie=te(Yi());var sd=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("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=w.parseDescriptor(f),p=h.range!=="unknown"?h:w.makeDescriptor(h,"*");if(!vt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${w.prettyDescriptor(e,p)})`);return m=>{let I=w.stringifyIdent(m);return!Sie.default.isMatch(I,w.stringifyIdent(p))||m.version&&!vt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!w.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(I,y)=>{if(!h.has(I.locatorHash)&&(h.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(B=>B(I))&&p.push(I),!(y>0&&!this.recursive)))for(let B of I.dependencies.values()){let x=r.storedResolutions.get(B.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let F=r.storedPackages.get(x);if(!F)throw new Error("Assertion failed: The package should have been registered");m(F,y+1)}};for(let I of f){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,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 me(`Patterns ${Ae.prettyList(e,s,Ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${Ae.prettyList(e,s,Ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>w.stringifyLocator(f)),(await xe.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",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(w.makeDescriptor(p,m));I.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${w.prettyLocator(e,p)} to ${Ae.pretty(e,nd(p,{configuration:e}),Ae.Type.PATH)}`),f.reportJson({locator:w.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};sd.paths=[["unplug"]],sd.usage=he.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 xie=sd;var Qa=t=>({cjs:D.join(t.cwd,xt.pnpCjs),cjsLegacy:D.join(t.cwd,xt.pnpJs)}),vie=t=>/\s/.test(t)?JSON.stringify(t):t;async function gje(t,e,r){let i=Qa(t).cjs,n=`--require ${vie(T.fromPortablePath(i))}`;if(i.includes(" ")&&kie.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(L.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function fje(t,e){e(Qa(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var hje={hooks:{populateYarnPaths:fje,setupScriptEnvironment:gje},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[fl],commands:[xie]},pje=hje;var Mie=te(Lie());var TF=te(require("crypto")),Tie=te(require("fs")),Oie=1,Fr="node_modules",OF=".bin",Kie=".yarn-state.yml",Ti;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Ti||(Ti={}));var KF=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await UF(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(w.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${w.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=>D.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await UF(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=lB(D.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 w.parseLocator(a)}makeInstaller(e){return new Uie(e)}},Uie=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:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=D.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await Fje(e,r),e.linkType===lt.HARD&&this.customData.store.set(e.locatorHash,n)),!wa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(w.stringifyIdent(e))||s.set(w.stringifyIdent(e),e.reference);let a=e;if(w.isVirtualLocator(e)){a=w.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(w.stringifyIdent(g),null),o.add(w.stringifyIdent(g))}let l={packageLocation:`${T.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=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(w.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 ir({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await UF(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});let n=new Map(this.opts.project.workspaces.map(g=>{var h,p;let f=this.opts.project.configuration.get("nmHoistingLimits");try{f=de.validateEnum(Mi,(p=(h=g.manifest.installConfig)==null?void 0:h.hoistingLimits)!=null?p:f)}catch(m){let I=w.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Mi).join(", ")}, using default: "${f}"`)}return[g.relativeCwd,f]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,f)=>Array.isArray(f)?{name:f[0],reference:f[1]}:{name:g,reference:f},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let f=g.anchoredLocator;return{name:w.stringifyIdent(g.locator),reference:f.reference}}),getPackageInformation:g=>{let f=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:w.makeLocator(w.parseIdent(g.name),g.reference),h=this.localStore.get(f.locatorHash);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return h.pnpNode},findPackageLocator:g=>{let f=this.opts.project.tryWorkspaceByCwd(T.toPortablePath(g));if(f!==null){let h=f.anchoredLocator;return{name:w.stringifyIdent(h),reference:h.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:g=>T.fromPortablePath(ir.resolveVirtual(T.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=td(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:f}of a)this.opts.report.reportError(g,f);return}let c=BF(o);await Rje(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let f=w.parseLocator(g),h=this.localStore.get(f.locatorHash);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return h.customPackageData.manifest}});let u=[];for(let[g,f]of c.entries()){if(Hie(g))continue;let h=w.parseLocator(g),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=wa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:f.locations,locatorHash:h.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(z.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:u}}};async function Fje(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,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,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:wa.getExtractHint(e),hasBindingGyp:wa.hasBindingGyp(e)}}}async function Nje(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Oie} +`,n+=` nmMode: ${i} +`;let s=Array.from(e.keys()).sort(),o=w.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=D.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=D.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,m]of f){let I=D.relative(D.join(g,Fr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} +`}}}}let a=t.cwd,l=D.join(a,Fr,Kie);await L.changeFilePromise(l,n,{automaticNewlines:!0})}async function UF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=D.join(r,Fr,Kie);if(!L.existsSync(i))return null;let n=Kr(await L.readFilePromise(i,"utf8"));if(n.__metadata.version>Oie)return null;let s=n.__metadata.nmMode||Ti.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>D.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=D.join(r,T.toPortablePath(f)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(h))m.set(rr(I),T.toPortablePath([p,Fr,y].join(D.delimiter)))}if(o.set(l,{target:we.dot,linkType:lt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=w.parseLocator(l),m=w.makeLocator(w.makeIdent(h,p),f),I=w.stringifyLocator(m);o.set(I,{target:we.dot,linkType:lt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Yie(o,{skipPrefix:t.cwd}),nmMode:s}}var Mu=async(t,e)=>{if(t.split(D.sep).indexOf(Fr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await L.lstatPromise(t)).isSymbolicLink()){await L.unlinkPromise(t);return}let r=await L.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=D.join(t,rr(i.name));i.isDirectory()?(i.name!==Fr||e&&e.innerLoop)&&await Mu(n,{innerLoop:!0,contentsOnly:!1}):await L.unlinkPromise(n)}e.contentsOnly||await L.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},jie=4,lB=(t,{skipPrefix:e})=>{let r=D.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(D.sep).filter(l=>l!==""),n=i.indexOf(Fr),s=i.slice(0,n).join(D.sep),o=D.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Yie=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:lt.HARD});for(let[n,s]of t.entries()){if(s.linkType===lt.SOFT&&D.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=lB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await L.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await L.symlinkPromise(t,e,"junction"):await L.symlinkPromise(D.relative(D.dirname(e),t),e)};async function Gie(t,e,r){let i=D.join(t,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));try{await L.writeFilePromise(i,r);try{await L.linkPromise(i,e)}catch(n){}}finally{await L.unlinkPromise(i)}}async function Lje({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Ti.HARDLINKS_GLOBAL&&i&&o){let l=D.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Di.checksumFile(l,{baseFs:L,algorithm:"sha1"})!==o){let g=D.join(i,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));await L.renamePromise(l,g);let f=await n.readFilePromise(t);await L.writeFilePromise(g,f);try{await L.linkPromise(g,l),await L.unlinkPromise(g)}catch(h){}}await L.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await Gie(i,l,u),await L.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await L.chmodPromise(e,a)}var ba;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(ba||(ba={}));var Mje=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await L.mkdirPromise(t,{recursive:!0});let o=async(l=we.dot)=>{let c=D.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=D.join(l,f.name),p,m=D.join(c,f.name);if(f.isFile()){if(p={kind:ba.FILE,mode:(await r.lstatPromise(m)).mode},n===Ti.HARDLINKS_GLOBAL){let I=await Di.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(f.isDirectory())p={kind:ba.DIRECTORY};else if(f.isSymbolicLink())p={kind:ba.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!==Fr){let I=await o(h);for(let[y,B]of I)g.set(y,B)}}return g},a;if(n===Ti.HARDLINKS_GLOBAL&&i&&s){let l=D.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await L.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await Gie(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=D.join(e,l),g=D.join(t,l);c.kind===ba.DIRECTORY?await L.mkdirPromise(g,{recursive:!0}):c.kind===ba.FILE?await Lje({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===ba.SYMLINK&&await HF(D.resolve(D.dirname(g),c.symlinkTo),g)}};function Tje(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=D.join(n,Fr);if(!L.existsSync(o)){s.children.delete(Fr);for(let a of i.keys())D.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function Hie(t){let e=w.parseDescriptor(t);return w.isVirtualDescriptor(e)&&(e=w.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Oje(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=Hie(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=D.join(l[0],f);f!==""&&L.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=D.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=D.join(a,T.toPortablePath(p));u.set(rr(h),m)}for(let[h,p]of c.children){let m=D.join(a,h),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[f,h]of c.children){let p=o(D.join(a,f),l,h);for(let[m,I]of p)u.set(m,I)}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 qie=(t,e)=>{if(!t||!e)return t===e;let r=w.parseLocator(t);w.isVirtualLocator(r)&&(r=w.devirtualizeLocator(r));let i=w.parseLocator(e);return w.isVirtualLocator(i)&&(i=w.devirtualizeLocator(i)),w.areLocatorsEqual(r,i)};function YF(t){return D.join(t.get("globalFolder"),"store")}async function Rje(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=D.join(i.cwd,Fr),{locationTree:l,binSymlinks:c}=Tje(t.locationTree,t.binSymlinks),u=Yie(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:N,dstDir:O,linkType:P,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})=>{let A=(async()=>{try{P===lt.SOFT?(await L.mkdirPromise(D.dirname(O),{recursive:!0}),await HF(D.resolve(N),O)):await Mje(O,N,{baseFs:r,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})}catch(W){throw W.message=`While persisting ${N} -> ${O} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>jie&&await Promise.race(g)},h=async(N,O,P)=>{let J=(async()=>{let oe=async(K,A,W)=>{try{W.innerLoop||await L.mkdirPromise(A,{recursive:!0});let ee=await L.readdirPromise(K,{withFileTypes:!0});for(let re of ee){if(!W.innerLoop&&re.name===OF)continue;let H=D.join(K,re.name),R=D.join(A,re.name);re.isDirectory()?(re.name!==Fr||W&&W.innerLoop)&&(await L.mkdirPromise(R,{recursive:!0}),await oe(H,R,V(v({},W),{innerLoop:!0}))):F===Ti.HARDLINKS_LOCAL||F===Ti.HARDLINKS_GLOBAL?await L.linkPromise(H,R):await L.copyFilePromise(H,R,Tie.default.constants.COPYFILE_FICLONE)}}catch(ee){throw W.innerLoop||(ee.message=`While cloning ${K} -> ${A} ${ee.message}`),ee}finally{W.innerLoop||B.tick()}};await oe(N,O,P)})().then(()=>g.splice(g.indexOf(J),1));g.push(J),g.length>jie&&await Promise.race(g)},p=async(N,O,P)=>{if(!P)O.children.has(Fr)&&await Mu(D.join(N,Fr),{contentsOnly:!1}),await Mu(N,{contentsOnly:N===a});else for(let[J,oe]of O.children){let K=P.children.get(J);await p(D.join(N,J),oe,K)}};for(let[N,O]of l){let P=u.get(N);for(let[J,oe]of O.children){if(J===".")continue;let K=P&&P.children.get(J);await p(D.join(N,J),oe,K)}}let m=async(N,O,P)=>{if(!P)O.children.has(Fr)&&await Mu(D.join(N,Fr),{contentsOnly:!0}),await Mu(N,{contentsOnly:O.linkType===lt.HARD});else{qie(O.locator,P.locator)||await Mu(N,{contentsOnly:O.linkType===lt.HARD});for(let[J,oe]of O.children){let K=P.children.get(J);await m(D.join(N,J),oe,K)}}};for(let[N,O]of u){let P=l.get(N);for(let[J,oe]of O.children){if(J===".")continue;let K=P&&P.children.get(J);await m(D.join(N,J),oe,K)}}let I=new Map,y=[];for(let[N,{locations:O}]of t.locatorMap.entries())for(let P of O){let{locationRoot:J,segments:oe}=lB(P,{skipPrefix:i.cwd}),K=u.get(J),A=J;if(K){for(let W of oe)if(A=D.join(A,W),K=K.children.get(W),!K)break;if(K){let W=qie(K.locator,N),ee=e.get(K.locator),re=ee.target,H=A,R=ee.linkType;if(W)I.has(re)||I.set(re,H);else if(re!==H){let ve=w.parseLocator(K.locator);w.isVirtualLocator(ve)&&(ve=w.devirtualizeLocator(ve)),y.push({srcDir:re,dstDir:H,linkType:R,realLocatorHash:ve.locatorHash})}}}}for(let[N,{locations:O}]of e.entries())for(let P of O){let{locationRoot:J,segments:oe}=lB(P,{skipPrefix:i.cwd}),K=l.get(J),A=u.get(J),W=J,ee=e.get(N),re=w.parseLocator(N);w.isVirtualLocator(re)&&(re=w.devirtualizeLocator(re));let H=re.locatorHash,R=ee.target,ve=P;if(R===ve)continue;let Ne=ee.linkType;for(let Je of oe)A=A.children.get(Je);if(!K)y.push({srcDir:R,dstDir:ve,linkType:Ne,realLocatorHash:H});else for(let Je of oe)if(W=D.join(W,Je),K=K.children.get(Je),!K){y.push({srcDir:R,dstDir:ve,linkType:Ne,realLocatorHash:H});break}}let B=ci.progressViaCounter(y.length),x=n.reportProgress(B),F=i.configuration.get("nmMode");try{let N=F===Ti.HARDLINKS_GLOBAL?`${YF(i.configuration)}/v1`:null;if(N&&!await L.existsPromise(N)){await L.mkdirpPromise(N);for(let P=0;P<256;P++)await L.mkdirPromise(D.join(N,P.toString(16).padStart(2,"0")))}for(let P of y)(P.linkType===lt.SOFT||!I.has(P.srcDir))&&(I.set(P.srcDir,P.dstDir),await f(V(v({},P),{globalHardlinksStore:N,nmMode:F,packageChecksum:o.get(P.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let P of y){let J=I.get(P.srcDir);P.linkType!==lt.SOFT&&P.dstDir!==J&&await h(J,P.dstDir,{nmMode:F})}await Promise.all(g),await L.mkdirPromise(a,{recursive:!0});let O=await Oje(e,u,i.cwd,{loadManifest:s});await Kje(c,O,i.cwd),await Nje(i,e,O,F)}finally{x.stop()}}async function Kje(t,e,r){for(let i of t.keys()){if(D.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=D.join(i,Fr,OF);await L.removePromise(n)}}for(let[i,n]of e){if(D.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=D.join(i,Fr,OF),o=t.get(i)||new Map;await L.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await L.removePromise(D.join(s,a)),process.platform==="win32"&&await L.removePromise(D.join(s,rr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=D.join(s,a);c!==l&&(process.platform==="win32"?await(0,Mie.default)(T.fromPortablePath(l),T.fromPortablePath(u),{createPwshFile:!1}):(await L.removePromise(u),await HF(l,u),D.contains(r,await L.realpathPromise(l))!==null&&await L.chmodPromise(l,493)))}}}var jF=class extends fl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Jie(e)}},Jie=class extends Nu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new ir({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),i=bie(e,this.opts.project.cwd,r),{tree:n,errors:s}=td(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=w.parseLocator(g.locator),h=w.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=D.join(this.opts.project.cwd,xt.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=D.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=D.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 Uje={hooks:{cleanGlobalArtifacts:async t=>{let e=YF(t);await L.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Mi.WORKSPACES,Mi.DEPENDENCIES,Mi.NONE],default:Mi.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:ge.STRING,values:[Ti.CLASSIC,Ti.HARDLINKS_LOCAL,Ti.HARDLINKS_GLOBAL],default:Ti.CLASSIC}},linkers:[KF,jF]},Hje=Uje;var WR={};et(WR,{default:()=>zJe,npmConfigUtils:()=>Jt,npmHttpUtils:()=>Bt,npmPublishUtils:()=>Bd});var Xie=te(cr());var Mt="npm:";var Bt={};et(Bt,{AuthType:()=>Zi,customPackageError:()=>Gje,del:()=>Wje,get:()=>Gn,getIdentUrl:()=>xa,handleInvalidAuthenticationError:()=>Sa,post:()=>qje,put:()=>Jje});var zie=te(up()),Vie=te(require("url"));var Jt={};et(Jt,{RegistryType:()=>Da,getAuthConfiguration:()=>JF,getDefaultRegistry:()=>cB,getPublishRegistry:()=>Yje,getRegistryConfiguration:()=>Wie,getScopeConfiguration:()=>qF,getScopeRegistry:()=>Bo,normalizeRegistry:()=>hl});var Da;(function(r){r.FETCH_REGISTRY="npmRegistryServer",r.PUBLISH_REGISTRY="npmPublishRegistry"})(Da||(Da={}));function hl(t){return t.replace(/\/$/,"")}function Yje(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?hl(t.publishConfig.registry):t.name?Bo(t.name.scope,{configuration:e,type:Da.PUBLISH_REGISTRY}):cB({configuration:e,type:Da.PUBLISH_REGISTRY})}function Bo(t,{configuration:e,type:r=Da.FETCH_REGISTRY}){let i=qF(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}):hl(n)}function cB({configuration:t,type:e=Da.FETCH_REGISTRY}){let r=t.get(e);return hl(r!==null?r:t.get(Da.FETCH_REGISTRY))}function Wie(t,{configuration:e}){let r=e.get("npmRegistries"),i=hl(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 qF(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function JF(t,{configuration:e,ident:r}){let i=r&&qF(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Wie(t,{configuration:e})||e}var Zi;(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"})(Zi||(Zi={}));async function Sa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new _e(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await jje(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function Gje(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function xa(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Gn(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Rr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Bo(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 uB(s,{authType:n,configuration:e,ident:i});c&&(r=V(v({},r),{authorization:c}));try{return await Rt.get(t.charAt(0)==="/"?`${s}${t}`:t,v({configuration:e,headers:r},o))}catch(u){throw await Sa(u,{registry:s,configuration:e,headers:r}),u}}async function qje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Rr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await uB(a,{authType:o,configuration:i,ident:s});g&&(n=V(v({},n),{authorization:g}));try{return await Rt.post(a+t,e,v({configuration:i,headers:n},l))}catch(f){if(!zF(f))throw await Sa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await WF(),p=v(v({},n),VF(h));try{return await Rt.post(`${a}${t}`,e,v({configuration:i,headers:p},l))}catch(m){throw await Sa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Jje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Rr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await uB(a,{authType:o,configuration:i,ident:s});g&&(n=V(v({},n),{authorization:g}));try{return await Rt.put(a+t,e,v({configuration:i,headers:n},l))}catch(f){if(!zF(f))throw await Sa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await WF(),p=v(v({},n),VF(h));try{return await Rt.put(`${a}${t}`,e,v({configuration:i,headers:p},l))}catch(m){throw await Sa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Wje(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=Rr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Bo(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await uB(o,{authType:s,configuration:r,ident:n});u&&(i=V(v({},i),{authorization:u}));try{return await Rt.del(o+t,v({configuration:r,headers:i},a))}catch(g){if(!zF(g))throw await Sa(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await WF(),h=v(v({},i),VF(f));try{return await Rt.del(`${o}${t}`,v({configuration:r,headers:h},a))}catch(p){throw await Sa(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function uB(t,{authType:e=2,configuration:r,ident:i}){let n=JF(t,{configuration:r,ident:i}),s=zje(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 _e(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function zje(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 jje(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Rt.get(new Vie.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function WF(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,zie.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function zF(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 VF(t){return{["npm-otp"]:t}}var XF=class{supports(e,r){if(!e.reference.startsWith(Mt))return!1;let{selector:i,params:n}=w.parseRange(e.reference);return!(!Xie.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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=w.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 Gn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await hr.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var ZF=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Mt)||!w.tryParseDescriptor(e.range.slice(Mt.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=w.parseDescriptor(e.range.slice(Mt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=w.parseDescriptor(e.range.slice(Mt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=w.parseDescriptor(e.range.slice(Mt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var _F=te(cr()),Zie=te(require("url"));var qn=class{supports(e,r){if(!e.reference.startsWith(Mt))return!1;let i=new Zie.URL(e.reference);return!(!_F.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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Gn(qn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Gn(qn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Bo(e.scope,{configuration:i}),s=qn.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=_F.default.clean(e.reference.slice(Mt.length));if(r===null)throw new _e(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${xa(e)}/-/${e.name}-${r}.tgz`}};var $F=te(cr());var gB=w.makeIdent(null,"node-gyp"),Vje=/\b(node-gyp|prebuild-install)\b/,eR=class{supportsDescriptor(e,r){return e.range.startsWith(Mt)?!!vt.validRange(e.range.slice(Mt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Mt))return!1;let{selector:i}=w.parseRange(e.reference);return!!$F.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=vt.validRange(e.range.slice(Mt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Mt.length)}`);let s=await Gn(xa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return de.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=w.makeLocator(e,`${Mt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return qn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:w.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=vt.validRange(e.range.slice(Mt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Mt.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=w.parseRange(s,{requireProtocol:Mt}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>w.makeLocator(e,s))}async resolve(e,r){let{selector:i}=w.parseRange(e.reference),n=$F.default.clean(i);if(n===null)throw new _e(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Gn(xa(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new _e(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new ze;if(o.load(s.versions[n]),!o.dependencies.has(gB.identHash)&&!o.peerDependencies.has(gB.identHash)){for(let a of o.scripts.values())if(a.match(Vje)){o.dependencies.set(gB.identHash,w.makeDescriptor(gB,"latest")),r.report.reportWarning(z.NODE_GYP_INJECTED,`${w.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${w.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),V(v({},e),{version:n,languageName:"node",linkType:lt.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var tR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Mt)||!Zc.test(e.range.slice(Mt.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(Mt.length),s=await Gn(xa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new _e(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=w.makeLocator(e,`${Mt}${a}`),c=s.versions[a].dist.tarball;return qn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[w.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Bd={};et(Bd,{makePublishBody:()=>JJe});var jR={};et(jR,{default:()=>xJe,packUtils:()=>Do});var Do={};et(Do,{genPackList:()=>NB,genPackStream:()=>YR,genPackageManifest:()=>bse,hasPackScripts:()=>UR,prepareForPack:()=>HR});var KR=te(Yi()),wse=te(Bse()),Qse=te(require("zlib")),CJe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],mJe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function UR(t){return!!(Qt.hasWorkspaceScript(t,"prepack")||Qt.hasWorkspaceScript(t,"postpack"))}async function HR(t,{report:e},r){await Qt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await Qt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function YR(t,e){var s,o;typeof e=="undefined"&&(e=await NB(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(D.normalize(a));for(let a of t.manifest.bin.values())r.add(D.normalize(a));let i=wse.default.pack();process.nextTick(async()=>{for(let a of e){let l=D.normalize(a),c=D.resolve(t.cwd,l),u=D.join("package",l),g=await L.lstatPromise(c),f={name:u,mtime:new Date(hr.safeTime*1e3)},h=r.has(l)?493:420,p,m,I=new Promise((B,x)=>{p=B,m=x}),y=B=>{B?m(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await bse(t),null,2)):B=await L.readFilePromise(c),i.entry(V(v({},f),{mode:h,type:"file"}),B,y)}else g.isSymbolicLink()?i.entry(V(v({},f),{mode:h,type:"symlink",linkname:await L.readlinkPromise(c)}),y):y(new Error(`Unsupported file type ${g.mode} for ${T.fromPortablePath(l)}`));await I}i.finalize()});let n=(0,Qse.createGzip)();return i.pipe(n),n}async function bse(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function NB(t){var g,f,h,p,m,I,y,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of mJe)i.reject.push(x);for(let x of CJe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let F=D.relative(t.cwd,x),N=D.resolve(we.root,F);i.reject.push(N)};n(D.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(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let F=D.relative(t.cwd,x.cwd);F!==""&&!F.match(/^(\.\.)?\//)&&i.reject.push(`/${F}`)}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=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(B=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(D.resolve(we.root,o)),a!=null&&s.accept.push(D.resolve(we.root,a)),typeof l=="string"&&s.accept.push(D.resolve(we.root,l));for(let x of c.values())s.accept.push(D.resolve(we.root,x));if(l instanceof Map)for(let[x,F]of l.entries())s.accept.push(D.resolve(we.root,x)),typeof F=="string"&&s.accept.push(D.resolve(we.root,F));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)Dse(s.accept,x,{cwd:we.root})}return await IJe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function IJe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Ls(t),o=[[we.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!xse(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==we.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await Sse(s,a,".npmignore"):g?await Sse(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;xse(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([D.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(D.relative(we.root,a))}return n.sort()}async function Sse(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(D.join(e,r),"utf8");for(let s of n.split(/\n/g))Dse(i.reject,s,{cwd:e});return i}function EJe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=D.resolve(e,t)),r&&(t=`!${t}`),t}function Dse(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(EJe(i,{cwd:r}))}function xse(t,{globalList:e,ignoreLists:r}){if(LB(t,e.accept))return!1;if(LB(t,e.reject))return!0;if(r!==null)for(let i of r){if(LB(t,i.accept))return!1;if(LB(t,i.reject))return!0}return!1}function LB(t,e){let r=e,i=[];for(let n=0;n{await HR(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await NB(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await YR(i,c),g=L.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${Ae.pretty(e,s,Ae.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};Id.paths=[["pack"]],Id.usage=he.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 vse=Id;function yJe(t,{workspace:e}){let r=t.replace("%s",BJe(e)).replace("%v",wJe(e));return T.toPortablePath(r)}function BJe(t){return t.manifest.name!==null?w.slugifyIdent(t.manifest.name):"package"}function wJe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var QJe=["dependencies","devDependencies","peerDependencies"],bJe="workspace:",DJe=(t,e)=>{var i;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 n of QJe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=w.parseRange(s.range);if(a.protocol===bJe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new _e(z.WORKSPACE_NOT_FOUND,`${w.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;w.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][w.stringifyIdent(s)]=l}}},SJe={hooks:{beforeWorkspacePacking:DJe},commands:[vse]},xJe=SJe;var Kse=te(require("crypto")),Use=te(Ose()),Hse=te(require("url"));async function JJe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=w.stringifyIdent(o),c=(0,Kse.createHash)("sha1").update(e).digest("hex"),u=Use.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Do.genPackageManifest(t),f=`${l}-${a}.tgz`,h=new Hse.URL(`${l}/-/${f}`,n);return{_id:l,_attachments:{[f]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:V(v({},g),{_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:h.toString()}})}}}var zR={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Yse={npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},WJe={configuration:V(v(v({},zR),Yse),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:v(v({},zR),Yse)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:hl,valueDefinition:{description:"",type:ge.SHAPE,properties:v({},zR)}}}),fetchers:[XF,qn],resolvers:[ZF,eR,tR]},zJe=WJe;var _R={};et(_R,{default:()=>iWe});Pn();var Ss;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ss||(Ss={}));var Wn;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Wn||(Wn={}));var MB=[Wn.Info,Wn.Low,Wn.Moderate,Wn.High,Wn.Critical];function jse(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 VJe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function XJe(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=jse(t,l),g=jse(t,c);return VJe(g,u)}function Gse(t){let e={};for(let r of t)e[w.stringifyIdent(r)]=w.parseRange(r.range).selector;return e}function qse(t){if(typeof t=="undefined")return new Set;let e=MB.indexOf(t),r=MB.slice(e);return new Set(r)}function ZJe(t,e){let r=qse(e),i={};for(let n of r)i[n]=t[n];return i}function Jse(t,e){var i;let r=ZJe(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function Wse(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=qse(e);n=n.filter(o=>s.has(o.severity))}for(let s of de.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:Ae.tuple(Ae.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:Ae.tuple(Ae.Type.NO_HINT,s.title)},URL:{label:"URL",value:Ae.tuple(Ae.Type.URL,s.url)},Severity:{label:"Severity",value:Ae.tuple(Ae.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:Ae.tuple(Ae.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:Ae.tuple(Ae.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:Ae.tuple(Ae.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:Ae.tuple(Ae.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function zse(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ss.All,Ss.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ss.All,Ss.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Gse([...o,...l].filter(c=>w.parseRange(c.range).protocol===null))}function Vse(t,e,{all:r}){var s;let i=XJe(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[w.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Gse(o.dependencies.values()),dev:i.has(w.convertLocatorToDescriptor(o).descriptorHash)};return n}var wd=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=j.String("--environment",Ss.All,{description:"Which environments to cover",validator:ni(Ss)});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=j.String("--severity",Wn.Info,{description:"Minimal severity requested for packages to be displayed",validator:ni(Wn)})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=zse(r,i,{all:this.all,environment:this.environment}),s=Vse(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=Jt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await uo.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Bt.post("/-/npm/v1/security/audits/quick",o,{authType:Bt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Jse(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Un.emitTree(Wse(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};wd.paths=[["npm","audit"]],wd.usage=he.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 ${MB.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 Xse=wd;var Zse=te(require("path")),VR=te(cr()),XR=te(require("util")),Qd=class extends ye{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await xe.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 x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${Zse.default.join(x.cwd,"package.json")}`);c=w.makeDescriptor(x.manifest.name,"unknown")}else c=w.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=ZR(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),f=Object.keys(g.versions).sort(VR.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=vt.validRange(c.range);if(m){let x=VR.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(v(v({},g),I),{version:p,versions:f}),B;if(i!==null){B={};for(let x of i){let F=y[x];if(typeof F!="undefined")B[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${w.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),B=y;a.reportJson(B),this.json||n.push(B)}});XR.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,XR.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};Qd.paths=[["npm","info"]],Qd.usage=he.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch 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. 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 informations.\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 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 _se=Qd;function ZR(t){if(Array.isArray(t)){let e=[];for(let r of t)r=ZR(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=ZR(t[r]);i&&(e[r]=i)}return e}else return t||null}var $se=te(up()),bd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await $Je({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await _Je(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};bd.paths=[["npm","login"]],bd.usage=he.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 eoe=bd;async function TB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Jt.getScopeRegistry(t,{configuration:r,type:Jt.RegistryType.PUBLISH_REGISTRY}):t?Jt.getScopeRegistry(t,{configuration:r}):e?Jt.getPublishRegistry((await yu(r,i)).manifest,{configuration:r}):Jt.getDefaultRegistry({configuration:r})}async function _Je(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(v({},l),{[o]:V(v({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await le.updateHomeConfiguration(s)}async function $Je({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(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.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,$se.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 Vu=new Set(["npmAuthIdent","npmAuthToken"]),Dd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=j.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await le.find(this.context.cwd,this.context.plugins),o=w.makeIdent((l=this.scope)!=null?l:null,"pkg");return!Jt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await eWe(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await toe("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish});await toe("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Dd.paths=[["npm","logout"]],Dd.usage=he.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 roe=Dd;function tWe(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Vu].every(s=>!i.has(s)))return!1;for(let s of Vu)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=v({},r);for(let s of Vu)delete n[s];return t[e]=n,!0}async function eWe(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?v({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))tWe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await le.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function toe(t,e){return await le.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Vu].every(l=>!o.has(l)))return r;for(let l of Vu)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:V(v({},i),{[e]:void 0});let a={};for(let l of Vu)a[l]=void 0;return V(v({},i),{[e]:v(v({},s),a)})}})}var Sd=class extends ye{constructor(){super(...arguments);this.access=j.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=j.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=j.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("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=Jt.getPublishRegistry(i.manifest,{configuration:e});return(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Bt.get(Bt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.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 Qt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Do.prepareForPack(i,{report:l},async()=>{let g=await Do.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await Do.genPackStream(i,g),h=await de.bufferStream(f),p=await Bd.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o});await Bt.put(Bt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Sd.paths=[["npm","publish"]],Sd.usage=he.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 ioe=Sd;var soe=te(cr());var xd=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=w.parseIdent(this.package);else{if(!i)throw new Ze(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${D.join(i.cwd,xt.manifest)}`);n=i.manifest.name}let s=await kd(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:Ae.tuple(Ae.Type.RESOLUTION,{descriptor:w.makeDescriptor(n,l),locator:w.makeLocator(n,c)})}))};return Un.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};xd.paths=[["npm","tag","list"]],xd.usage=he.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 noe=xd;async function kd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var vd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseDescriptor(this.package,!0),s=n.range;if(!soe.default.valid(s))throw new me(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=Jt.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 xe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await kd(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};vd.paths=[["npm","tag","add"]],vd.usage=he.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 ooe=vd;var Pd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseIdent(this.package),s=Jt.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await kd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Pd.paths=[["npm","tag","remove"]],Pd.usage=he.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 aoe=Pd;var Fd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Jt.getScopeRegistry(this.scope,{configuration:e,type:Jt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Jt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Jt.getPublishRegistry((await yu(e,this.context.cwd)).manifest,{configuration:e}):r=Jt.getDefaultRegistry({configuration:e}),(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?w.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(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Fd.paths=[["npm","whoami"]],Fd.usage=he.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 Aoe=Fd;var rWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Xse,_se,eoe,roe,ioe,ooe,noe,aoe,Aoe]},iWe=rWe;var oN={};et(oN,{default:()=>IWe,patchUtils:()=>$R});var $R={};et($R,{applyPatchFile:()=>HB,diffFolders:()=>iN,extractPackageToDisk:()=>rN,extractPatchFlags:()=>doe,isParentRequired:()=>tN,loadPatchFiles:()=>Md,makeDescriptor:()=>dWe,makeLocator:()=>eN,parseDescriptor:()=>Nd,parseLocator:()=>Ld,parsePatchFile:()=>KB});var Rd=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var nWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Xu(t){return D.relative(we.root,D.resolve(we.root,T.toPortablePath(t)))}function sWe(t){let e=t.trim().match(nWe);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 oWe=420,aWe=493,Ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Ar||(Ar={}));var loe=()=>({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}),AWe=t=>({header:sWe(t),parts:[]}),lWe={["@"]:"header",["-"]:Ar.Deletion,["+"]:Ar.Insertion,[" "]:Ar.Context,["\\"]:"pragma",undefined:Ar.Context};function uWe(t){let e=[],r=loe(),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=loe()}for(let l=0;l0?"patch":"mode change",B=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Xu(u),toPath:Xu(g)}),B=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:Xu(x),mode:OB(l),hash:f})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:Xu(x),mode:OB(c),hash:h})}break;case"patch":case"mode change":B=m||s;break;default:de.assertNever(y);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Xu(B),oldMode:OB(o),newMode:OB(a)}),B&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:Xu(B),hunks:I,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 OB(t){let e=parseInt(t,8)&511;if(e!==oWe&&e!==aWe)throw new Error(`Unexpected file mode string: ${t}`);return e}function KB(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),gWe(uWe(e))}function cWe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Ar.Context:r+=n.length,e+=n.length;break;case Ar.Deletion:e+=n.length;break;case Ar.Insertion:r+=n.length;break;default:de.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)} @@)`)}}var UB=315532800;async function Zu(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 HB(t,{baseFs:e=new Ft,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!vt.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 Zu(e,D.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 Zu(e,D.dirname(n.fromPath),async()=>{await Zu(e,D.dirname(n.toPath),async()=>{await Zu(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(D.dirname(n.path),{chmod:493,utimes:[UB,UB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,UB,UB)}break;case"patch":await Zu(e,n.path,async()=>{await fWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(coe(n.newMode)!==coe(o))continue;await Zu(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function coe(t){return(t&64)>0}function uoe(t){return t.replace(/\s+$/,"")}function hWe(t,e){return uoe(t)===uoe(e)}async function fWe({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),I=0,y=0,B=null;for(;I<=m;){if(I<=h&&(y=f-I,B=goe(g,o,y),B!==null)){I=-I;break}if(I<=p&&(y=f+I,B=goe(g,o,y),B!==null))break;I+=1}if(B===null)throw new Rd(t.indexOf(g),g);a.push(B),l+=I,c=y+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:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function goe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Ar.Context:case Ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!hWe(o,s))return null;r+=1}n.type===Ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var pWe=/^builtin<([^>]+)>$/;function foe(t,e){let{source:r,selector:i,params:n}=w.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>T.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?w.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 Nd(t){let i=foe(t.range,w.parseDescriptor),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceDescriptor:e})}function Ld(t){let i=foe(t.reference,w.parseLocator),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceLocator:e})}function hoe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:w.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return w.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:v(v(v({},a),l),o)})}function dWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,patchPaths:i},w.stringifyDescriptor))}function eN(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},w.stringifyLocator))}function poe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(pWe);return s!==null?r(s[1]):D.isAbsolute(i)?t(i):e(i)}function doe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function tN(t){return poe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Md(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=doe(o),l=await poe({onAbsolute:async()=>await L.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(D.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(v({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function rN(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 Br,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await L.mktempPromise(),c=D.join(l,"source"),u=D.join(l,"user"),g=D.join(l,".yarn-patch.json");return await Promise.all([L.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),L.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),L.writeJsonPromise(g,{locator:w.stringifyLocator(t),version:i.version})]),L.detachTemp(l),u}async function iN(t,e){let r=T.fromPortablePath(t).replace(/\\/g,"/"),i=T.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Lr.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:T.toPortablePath(process.cwd()),env:V(v({},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)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Coe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Ar.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var nN=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,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.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});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Ld(e),a=await Md(i,o,r),l=await L.mktempPromise(),c=D.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=w.getIdentVendorPath(e),f=await gi(),h=new Qr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await h.mkdirpPromise(g),await de.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 I=new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),y=new yt(D.resolve(we.root,g),{baseFs:I});try{await HB(KB(p),{baseFs:y,version:s})}catch(B){if(!(B instanceof Rd))throw B;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${w.prettyLocator(r.project.configuration,e)}: ${B.message}${F}`,O=P=>{!x||Coe(B.hunk,{configuration:r.project.configuration,report:P})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:O});continue}else throw new _e(z.PATCH_HUNK_FAILED,N,O)}I.saveAndClose()}return new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var CWe=2,sN=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}=Nd(e);return n.every(s=>!tN(s))?e:w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Nd(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}=Nd(e),a=await Md(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=Di.makeHash(`${CWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[eN(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Ld(e),n=await r.resolver.resolve(i,r);return v(v({},n),e)}};var Td=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=D.resolve(this.context.cwd,T.toPortablePath(this.patchFolder)),s=D.join(n,"../source"),o=D.join(n,"../.yarn-patch.json");if(!L.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await iN(s,n),l=await L.readJsonPromise(o),c=w.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("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=D.join(u,w.slugifyLocator(c));await L.mkdirPromise(u,{recursive:!0}),await L.writeFilePromise(g,a);let f=D.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:w.stringifyIdent(c),description:l.version}},reference:`patch:${w.stringifyLocator(c)}#${f}`}),await r.persist()}};Td.paths=[["patch-commit"]],Td.usage=he.Usage({description:"generate a patch out of a directory",details:"\n 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 Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var moe=Td;var Od=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let s=w.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:w.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`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=>` +- ${w.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await rN(s,{cache:n,project:r});o.reportJson({locator:w.stringifyLocator(s),path:T.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${w.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,T.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${T.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Od.paths=[["patch"]],Od.usage=he.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var Ioe=Od;var mWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[moe,Ioe],fetchers:[nN],resolvers:[sN]},IWe=mWe;var jy=()=>({modules:new Map([["@yarnpkg/cli",ap],["@yarnpkg/core",Th],["@yarnpkg/fslib",kg],["@yarnpkg/libzip",Of],["@yarnpkg/parsers",Jf],["@yarnpkg/shell",zf],["clipanion",a6(Jg)],["semver",EWe],["typanion",Tl],["yup",yWe],["@yarnpkg/plugin-essentials",FP],["@yarnpkg/plugin-compat",MP],["@yarnpkg/plugin-dlx",TP],["@yarnpkg/plugin-file",JP],["@yarnpkg/plugin-git",iF],["@yarnpkg/plugin-github",sF],["@yarnpkg/plugin-http",AF],["@yarnpkg/plugin-init",gF],["@yarnpkg/plugin-link",CF],["@yarnpkg/plugin-nm",GF],["@yarnpkg/plugin-npm",WR],["@yarnpkg/plugin-npm-cli",_R],["@yarnpkg/plugin-pack",jR],["@yarnpkg/plugin-patch",oN],["@yarnpkg/plugin-pnp",FF]]),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"])});fy({binaryVersion:Er||"",pluginConfiguration:jy()});})(); +/*! + * 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.yml b/.yarnrc.yml new file mode 100644 index 00000000..ea6f3657 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,23 @@ +enableColors: true + +enableInlineBuilds: true + +enableProgressBars: true + +nodeLinker: node-modules + +npmPublishAccess: public + +npmPublishRegistry: "https://registry.npmjs.org" + +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs + spec: "@yarnpkg/plugin-interactive-tools" + - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs + spec: "@yarnpkg/plugin-workspace-tools" + - path: .yarn/plugins/@yarnpkg/plugin-version.cjs + spec: "@yarnpkg/plugin-version" + - path: .yarn/plugins/@ojkelly/plugin-build.cjs + spec: "https://yarn.build/latest" + +yarnPath: .yarn/releases/yarn-3.0.2.cjs diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e91883a3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:alpine + +WORKDIR /app + +COPY . ./ + +RUN yarn install +RUN yarn build +#RUN yarn lint +#RUN yarn test diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..0d381b2e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 00000000..a910d714 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# Data Fabric SDK + +The SDK provides collection of classes and methods to interact with Data Fabric Service. + +- [#MARK Flow](#mark-flow) +- [Install the SDK](#install-the-sdk) + - [Build to see changes](#build-to-see-changes) + - [Test the SDK](#test-the-sdk) + - [Running Unit Test Suite](#running-unit-test-suite) + - [Running a module test](#running-a-module-test) + - [Running the Integration Test Suite (require access to cord)](#running-the-integration-test-suite-require-access-to-cord) + - [Running the Integration Test Suite for a module (require access to cord)](#running-the-integration-test-suite-for-a-module-require-access-to-cord) + - [Example](#example) + +## Install the SDK + +Install the SDK by running the following commands: + +```bash +npm install @cord.network/api +``` + +Or with `yarn`: + +```bash +yarn add @cord.network/api +``` + +### Build to see changes + +Clone this repo and navigate into it. + +``` +yarn +``` + +Note that **before you see your changes from the SDK, you have to build it**, by executing a `build`: + +``` +yarn run build +``` + +### Test the SDK + +Note that **before you see your changes from the SDK, you have to build it**, by executing a `build`: + +#### Running Unit Test Suite + +``` +yarn test +``` + +#### Running a module test + +``` +yarn test ./packages/core/src/mark/Mark.spec.ts +``` + +#### Running the Integration Test Suite (require access to cord) + +``` +yarn test:integration +``` + +#### Running the Integration Test Suite for a module (require access to cord) + +``` +yarn test:integration:run ./packages/core/src/__integrationtests__/Mark.spec.ts +``` diff --git a/demo/res/cred-schema.json b/demo/res/cred-schema.json new file mode 100644 index 00000000..5f45a84c --- /dev/null +++ b/demo/res/cred-schema.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "name": "Basic Credential", + "properties": { + "name": { + "type": "string" + }, + "country": { + "type": "string" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/demo/res/entity.json b/demo/res/entity.json new file mode 100644 index 00000000..c1652eb3 --- /dev/null +++ b/demo/res/entity.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "name": "Basic Entity Demo", + "properties": { + "name": { + "type": "string" + }, + "country": { + "type": "string" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/demo/res/schema.json b/demo/res/schema.json new file mode 100644 index 00000000..2722e8c6 --- /dev/null +++ b/demo/res/schema.json @@ -0,0 +1,22 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "name": "Basic Demo", + "properties": { + "name": { + "type": "string" + }, + "age": { + "type": "integer" + }, + "gender": { + "type": "string" + }, + "country": { + "type": "string" + }, + "credit": { + "type": "integer" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/demo/res/space.json b/demo/res/space.json new file mode 100644 index 00000000..39ee2c1d --- /dev/null +++ b/demo/res/space.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "name": "Basic Space Demo", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "type": "object" +} \ No newline at end of file diff --git a/demo/src/demo.ts b/demo/src/demo.ts new file mode 100644 index 00000000..fd1f1285 --- /dev/null +++ b/demo/src/demo.ts @@ -0,0 +1,273 @@ +import * as cord from '@cord.network/api' +import { UUID } from '@cord.network/utils' +import * as utils from './utils' +import * as json from 'multiformats/codecs/json' +import { blake2b256 as hasher } from '@multiformats/blake2/blake2b' +import { CID } from 'multiformats/cid' + +async function main() { + await cord.init({ address: 'ws://127.0.0.1:9944' }) + + // Step 1: Setup Org Identity + console.log(`\n🏛 Creating Identities\n`) + //3x4DHc1rxVAEqKWSx1DAAA8wZxLB4VhiRbMV997niBckUwSi + const entityIdentity = cord.Identity.buildFromURI('//Bob', { + signingKeyPairType: 'sr25519', + }) + const employeeIdentity = cord.Identity.buildFromURI('//Dave', { + signingKeyPairType: 'ed25519', + }) + const holderIdentity = cord.Identity.buildFromURI('//Alice', { + signingKeyPairType: 'sr25519', + }) + const verifierIdentity = cord.Identity.buildFromURI('//Charlie', { + signingKeyPairType: 'ed25519', + }) + console.log( + `🔑 Entity Controller Address (${entityIdentity.signingKeyType}): ${entityIdentity.address}` + ) + console.log( + `🔑 Employee Address (${employeeIdentity.signingKeyType}): ${employeeIdentity.address}` + ) + console.log( + `🔑 Holder Org Address (${holderIdentity.signingKeyType}): ${holderIdentity.address}` + ) + console.log( + `🔑 Verifier Org Address (${verifierIdentity.signingKeyType}): ${verifierIdentity.address}\n` + ) + console.log('✅ Identities created!') + + // Step 2: Create a new Schema + console.log(`\n\n✉️ Adding a new Schema \n`) + let newSchemaContent = require('../res/schema.json') + let newSchemaName = newSchemaContent.name + ':' + UUID.generate() + newSchemaContent.name = newSchemaName + + let newSchema = cord.Schema.fromSchemaProperties( + newSchemaContent, + employeeIdentity.address + ) + + let bytes = json.encode(newSchema) + let encoded_hash = await hasher.digest(bytes) + const schemaCid = CID.create(1, 0xb220, encoded_hash) + + let schemaCreationExtrinsic = await newSchema.store(schemaCid.toString()) + + console.log(`📧 Schema Details `) + console.dir(newSchema, { depth: null, colors: true }) + console.log(`CID: `, schemaCid.toString()) + console.log('\n⛓ Anchoring Schema to the chain...') + console.log(`🔑 Creator: ${employeeIdentity.address} `) + console.log(`🔑 Controller: ${entityIdentity.address} `) + + try { + await cord.ChainUtils.signAndSubmitTx( + schemaCreationExtrinsic, + entityIdentity, + { + resolveOn: cord.ChainUtils.IS_IN_BLOCK, + } + ) + console.log('✅ Schema created!') + } catch (e: any) { + console.log(e.errorCode, '-', e.message) + } + + // Step 2: Create a new Stream + console.log(`\n✉️ Adding a new Stream`, '\n') + let content = { + name: 'Alice', + age: 29, + gender: 'Female', + country: 'India', + credit: 1000, + } + let schemaStream = cord.Content.fromSchemaAndContent( + newSchema, + content, + employeeIdentity.address + ) + console.log(`📧 Stream Details `) + console.dir(schemaStream, { depth: null, colors: true }) + + let newStreamContent = cord.ContentStream.fromStreamContent( + schemaStream, + employeeIdentity + ) + console.log(`\n📧 Hashed Stream `) + console.dir(newStreamContent, { depth: null, colors: true }) + + bytes = json.encode(newStreamContent) + encoded_hash = await hasher.digest(bytes) + const streamCid = CID.create(1, 0xb220, encoded_hash) + + let newStream = cord.Stream.fromContentStreamProperties( + newStreamContent, + streamCid.toString() + ) + + let streamCreationExtrinsic = await newStream.store() + console.log(`\n📧 Stream On-Chain Details`) + console.dir(newStream, { depth: null, colors: true }) + + console.log('\n⛓ Anchoring Stream to the chain...') + console.log(`🔑 Creator: ${employeeIdentity.address} `) + console.log(`🔑 Controller: ${entityIdentity.address} `) + + try { + await cord.ChainUtils.signAndSubmitTx( + streamCreationExtrinsic, + entityIdentity, + { + resolveOn: cord.ChainUtils.IS_IN_BLOCK, + } + ) + console.log('✅ Stream created!') + } catch (e: any) { + console.log(e.errorCode, '-', e.message) + } + + // Step 3: Create a new Credential and Link to the Stream + console.log(`\n\n✉️ Adding a new Credential Schema \n`) + let credSchema = require('../res/cred-schema.json') + credSchema.name = credSchema.name + ':' + UUID.generate() + + let credSchemaStream = cord.Schema.fromSchemaProperties( + credSchema, + employeeIdentity.address + ) + + bytes = json.encode(credSchemaStream) + encoded_hash = await hasher.digest(bytes) + const credSchemaCid = CID.create(1, 0xb220, encoded_hash) + + let credSchemaCreationExtrinsic = await credSchemaStream.store( + credSchemaCid.toString() + ) + console.log('\n⛓ Anchoring Credential Schema to the chain...') + + try { + await cord.ChainUtils.signAndSubmitTx( + credSchemaCreationExtrinsic, + entityIdentity, + { + resolveOn: cord.ChainUtils.IS_IN_BLOCK, + } + ) + console.log('✅ Schema created!') + } catch (e: any) { + console.log(e.errorCode, '-', e.message) + } + + console.log(`\n✉️ Adding a new Credential`, '\n') + let credStream = { + name: newStreamContent.content.contents.name, + country: newStreamContent.content.contents.country, + } + + let credStreamContent = cord.Content.fromSchemaAndContent( + credSchemaStream, + credStream, + employeeIdentity.address + ) + + let credContentStream = cord.ContentStream.fromStreamContent( + credStreamContent, + employeeIdentity, + { + holder: holderIdentity.address, + link: newStream.id, + } + ) + console.log(`\n📧 Hashed Stream Details`) + console.dir(credContentStream, { depth: null, colors: true }) + + bytes = json.encode(credContentStream) + encoded_hash = await hasher.digest(bytes) + const credStreamCid = CID.create(1, 0xb220, encoded_hash) + + let credStreamTx = cord.Stream.fromContentStreamProperties( + credContentStream, + credStreamCid.toString() + ) + + let credStreamCreationExtrinsic = await credStreamTx.store() + console.log(`\n📧 Credential On-Chain Details`) + console.dir(credStreamTx, { depth: null, colors: true }) + + try { + await cord.ChainUtils.signAndSubmitTx( + credStreamCreationExtrinsic, + entityIdentity, + { + resolveOn: cord.ChainUtils.IS_IN_BLOCK, + } + ) + console.log('✅ Credential created!') + } catch (e: any) { + console.log(e.errorCode, '-', e.message) + } + + // Step 7: Credential exchange via messaging + console.log(`\n\n📩 Credential Exchange - Selective Disclosure (Verifier)`) + console.log(`🔑 Verifier Address: ${verifierIdentity.address}`) + const purpose = 'Account Opening Request' + const validUntil = Date.now() + 864000000 + const relatedData = true + const { session, message: message } = + cord.Exchange.Request.newRequestBuilder() + .requestPresentation({ + schemaId: newSchema.id, + properties: ['name'], + }) + .finalize( + purpose, + verifierIdentity, + holderIdentity.getPublicIdentity(), + validUntil, + relatedData + ) + + console.log(`\n📧 Selective Disclosure Request`) + console.dir(message, { depth: null, colors: true }) + + let credential: cord.Credential + credential = cord.Credential.fromStreamProperties( + credContentStream, + credStreamTx + ) + const presentation = cord.Exchange.Share.createPresentation( + holderIdentity, + message, + verifierIdentity.getPublicIdentity(), + [credential], + { + showAttributes: message.body.content[0].requiredProperties, + signer: holderIdentity, + request: message.body.request, + // purpose: request.body.purpose, + // validUntil: request.body.validUntil, + } + ) + + const { verified } = await cord.Exchange.Verify.verifyPresentation( + presentation, + session + ) + + console.log(`\n📧 Received Credential `) + console.dir(presentation, { depth: null, colors: true }) + console.log('🔍 All valid? ', verified) + + await utils.waitForEnter('\n⏎ Press Enter to continue..') +} +main() + .then(() => console.log('\nBye! 👋 👋 👋 ')) + .finally(cord.disconnect) + +process.on('SIGINT', async () => { + console.log('\nBye! 👋 👋 👋 \n') + cord.disconnect() + process.exit(0) +}) diff --git a/demo/src/utils.ts b/demo/src/utils.ts new file mode 100644 index 00000000..a626c3dd --- /dev/null +++ b/demo/src/utils.ts @@ -0,0 +1,82 @@ +import * as cord from '@cord.network/api' + +import type { KeyringPair } from '@polkadot/keyring/types' + +const AUTH_SEED = + '0x0000000000000000000000000000000000000000000000000000000000000000' +const ENC_SEED = + '0x0000000000000000000000000000000000000000000000000000000000000001' +const ATT_SEED = + '0x0000000000000000000000000000000000000000000000000000000000000002' +const DEL_SEED = + '0x0000000000000000000000000000000000000000000000000000000000000003' + +export function generate_ed25519_authentication_key(): KeyringPair { + return cord.Identity.buildFromSeedString(AUTH_SEED, { + signingKeyPairType: 'ed25519', + }).signKeyringPair +} +export function get_ed25519_authentication_key_id(): string { + return '0xed52d866f75a5e57641b6ca68a7618312564de787cda3d0664d15471ec1d12b5' +} + +export function generate_sr25519_authentication_key(): KeyringPair { + return cord.Identity.buildFromSeedString(AUTH_SEED, { + signingKeyPairType: 'sr25519', + }).signKeyringPair +} +export function get_sr25519_authentication_key_id(): string { + return '0x1eb4134f8acf477337de6b208c1044b19b9ac09e20e4c6f6c1561d1cef6cad8b' +} + +export function generate_encryption_key(): nacl.BoxKeyPair { + return cord.Identity.buildFromSeedString(ENC_SEED, { + signingKeyPairType: 'ed25519', + }).boxKeyPair +} +export function get_encryption_key_id(): string { + return '0xd8752aed376a12f17ee8c5e06aa19df1cea571da1c9241fc50c330504513b350' +} + +export function generate_ed25519_anchor_key(): KeyringPair { + return cord.Identity.buildFromSeedString(ATT_SEED, { + signingKeyPairType: 'ed25519', + }).signKeyringPair +} +export function get_ed25519_anchor_key_id(): string { + return '0xee643cd1b9567e60b913ef6d7b99e117277413736955051b891b07fa2cff1ca2' +} + +export function generate_sr25519_anchor_key(): KeyringPair { + return cord.Identity.buildFromSeedString(ATT_SEED, { + signingKeyPairType: 'sr25519', + }).signKeyringPair +} +export function get_sr25519_anchor_key_id(): string { + return '0x8ab41dc8ddfecb44ca18658b0a34becdcc0580096855c9f7cbb8575b02356286' +} + +export function generate_ed25519_delegation_key(): KeyringPair { + return cord.Identity.buildFromSeedString(DEL_SEED, { + signingKeyPairType: 'ed25519', + }).signKeyringPair +} +export function get_ed25519_delegation_key_id(): string { + return '0xe8633ac00f7cf860d6310624c721e4229d7f661de9afd885cd2d422fd15b7669' +} + +export function generate_sr25519_delegation_key(): KeyringPair { + return cord.Identity.buildFromSeedString(DEL_SEED, { + signingKeyPairType: 'sr25519', + }).signKeyringPair +} +export function get_sr25519_delegation_key_id(): string { + return '0x81dc5bf133b998d615b70563ee94e92296e1219f8235b008b38a2ddb40168a35' +} + +export async function waitForEnter(message?: string) { + const waitForEnter = require('wait-for-enter') + message = message || 'Press Enter to continue: ' + console.log(message) + await waitForEnter() +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..abfd28bd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +# allows running tests and integration tests in a dockerized environment +# `docker-compose run sdk` will run integration tests using the latest +# cord-node image. The src/ directory is mounted, so rebuilding +# is not required to integrate changes in this directory. + +version: '3.2' + +services: + cord-node: + image: dhiway/cord:develop + command: '--dev --ws-port 9944 --ws-external' + + platform-sdk: + build: . + image: local/platform-sdk + volumes: + - ./src:/app/src + environment: + DEFAULT_WS_ADDRESS: ws://cord-node:9944 + command: 'yarn test:integration' + depends_on: + - cord-node diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 00000000..26f8cf41 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,40 @@ +module.exports = { + preset: 'ts-jest/presets/js-with-ts', + testEnvironment: 'node', + clearMocks: true, + runner: 'groups', + testTimeout: 10000, + setupFilesAfterEnv: ['../testingTools/setup.js'], + transformIgnorePatterns:['/node_modules/(?!@polkadot|@babel/runtime/helpers/esm/)'], + coverageThreshold: { + global: { + branches: 70, + functions: 80, + lines: 80, + statements: 80, + }, + }, + collectCoverageFrom: [ + '**/*/src/**/*.ts', + '!**/index.ts', + '!**/__integrationtests__/**', + '!**/__mocks__/**', + '!**/__tests__/**', + '!**/lib/**', + '!**/test/**', + '!**/cord/*', + '!**/chainApiConnection/*', + '!**/types/**/*', + '!**/SDKErrors.ts' + ], + rootDir: 'packages', + coverageDirectory: 'coverage', + moduleDirectories: [ + "node_modules", + "packages/*/src", + "packages/**" + ], + "modulePathIgnorePatterns": [ + "/cord-utils/src/chainApiConnection/__mocks__/" + ], +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..09e26548 --- /dev/null +++ b/package.json @@ -0,0 +1,74 @@ +{ + "repository": "https://github.com/dhiway/cord-sdk", + "private": true, + "workspaces": [ + "packages/*" + ], + "scripts": { + "check": "tsc -p tsconfig.json --noEmit", + "build": "yarn workspaces foreach -pt --no-private run build", + "build:docs": "typedoc --theme default --out docs/api && touch docs/.nojekyll", + "bundle": "yarn workspace @cord.network/api run bundle", + "clean": "yarn workspaces foreach -p --no-private run clean", + "clean:docs": "rm -rf docs/api", + "demo": "yarn ts-node demo/src/demo.ts --trace-warnings", + "start": "yarn ts-node demo/src/start.ts", + "version": "yarn workspaces foreach version", + "prepublish": "yarn workspaces foreach -p --no-private exec cp -f ../../LICENSE .", + "publish": "yarn workspaces foreach -pt --no-private npm publish", + "lint": "eslint packages --format=codeframe", + "lint:fix": "yarn lint --fix", + "style": "prettier -l packages", + "style:fix": "yarn style --write", + "test": "jest --coverage --group=unit --detectOpenHandles", + "test:ci": "yarn test --ci", + "test:integration:run": "jest --group=integration -w 3 --silent --detectOpenHandles", + "test:integration": "{ lsof -i :9944 > /dev/null && yarn test:integration:run; } || echo 'Can not connect to chain. Is it running?'; exit 1;", + "test:watch": "yarn test --watch" + }, + "husky": { + "hooks": { + "pre-push": "yarn lint && yarn style", + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" + } + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ] + }, + "devDependencies": { + "@commitlint/cli": "^9.0.1", + "@commitlint/config-conventional": "^9.0.1", + "@types/jest": "^27.0.1", + "@typescript-eslint/eslint-plugin": "^5.3.0", + "@typescript-eslint/parser": "^5.3.0", + "eslint": "^7.5.0", + "eslint-config-airbnb-base": "14.2.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-jsdoc": "^36.1.0", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-license-header": "^0.2.1", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-tsc": "^2.0.0", + "husky": "^7.0.0", + "jest": "^27.2.0", + "jest-docblock": "^27.0.6", + "jest-runner": "^27.2.0", + "jest-runner-groups": "^2.1.0", + "prettier": "^2.0.5", + "ts-jest": "^27.0.5", + "ts-node": "^9.1.1", + "typedoc": "^0.19", + "typedoc-plugin-external-module-name": "^4.0.6", + "typescript": "^4.2.2", + "wait-for-enter": "^1.0.0" + }, + "version": "0.5.2-1", + "packageManager": "yarn@2.4.2", + "dependencies": { + "@multiformats/blake2": "^1.0.5", + "multiformats": "^9.4.7" + } +} diff --git a/packages/api/package.json b/packages/api/package.json new file mode 100644 index 00000000..4fe5fbaf --- /dev/null +++ b/packages/api/package.json @@ -0,0 +1,45 @@ +{ + "name": "@cord.network/api", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*", + "dist/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json", + "bundle": "rimraf ./dist && webpack --config webpack.config.js" + }, + "repository": "github:dhiway/cord-js", + "engines": { + "node": ">=14.0" + }, + "author": "", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "buffer": "^6.0.3", + "crypto-browserify": "^3.12.0", + "process": "^0.11.10", + "rimraf": "^3.0.2", + "stream-browserify": "^3.0.0", + "terser-webpack-plugin": "^5.1.1", + "typescript": "^4.2.2", + "url": "^0.11.0", + "util": "^0.12.4", + "webpack": "^5.27.0", + "webpack-cli": "^4.5.0" + }, + "dependencies": { + "@cord.network/exchange": "workspace:*", + "@cord.network/messaging": "workspace:*", + "@cord.network/modules": "workspace:*", + "@cord.network/network": "workspace:*", + "@cord.network/types": "workspace:*", + "@cord.network/utils": "workspace:*" + } +} diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts new file mode 100644 index 00000000..3b0f5081 --- /dev/null +++ b/packages/api/src/index.ts @@ -0,0 +1,9 @@ +export * from '@cord.network/modules' +export { Message } from '@cord.network/messaging' +export * as Messaging from '@cord.network/messaging' +export { ChainUtils } from '@cord.network/network' +export * as ChainHelpers from '@cord.network/network' +export * as Utils from '@cord.network/utils' +export * as Exchange from '@cord.network/exchange' +export { Request, Share } from '@cord.network/exchange' +export * from '@cord.network/types' diff --git a/packages/api/tsconfig.build.json b/packages/api/tsconfig.build.json new file mode 100644 index 00000000..e6b64c40 --- /dev/null +++ b/packages/api/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ] +} \ No newline at end of file diff --git a/packages/api/webpack.config.js b/packages/api/webpack.config.js new file mode 100644 index 00000000..7c16d452 --- /dev/null +++ b/packages/api/webpack.config.js @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const path = require('path') +const TerserPlugin = require('terser-webpack-plugin') +const webpack = require('webpack') + +module.exports = { + mode: 'production', + // build two different bundles from the transpiled js + entry: { + 'sdk-js': './lib/index.js', + 'sdk-js.min': './lib/index.js', + }, + output: { + filename: '[name].umd.js', + path: path.resolve(__dirname, 'dist/'), + libraryTarget: 'umd', + library: 'cord', + umdNamedDefine: true, + }, + resolve: { + extensions: ['.ts', '.js', '.d.ts', '.mjs', '.json'], + symlinks: false, + // Explicit fallbacks to include these in bundle + alias: { + buffer: 'buffer', + process: 'process', + }, + fallback: { + buffer: require.resolve('buffer'), + crypto: require.resolve('crypto-browserify'), + stream: require.resolve('stream-browserify'), + }, + }, + stats: { + errorDetails: true, + }, + optimization: { + minimize: true, + // only minimize the *.min* bundle output + minimizer: [new TerserPlugin({ include: /\.min\.umd\.js$/ })], + }, + plugins: [ + new webpack.ProvidePlugin({ + process: 'process/browser', + Buffer: ['buffer', 'Buffer'], + }), + ], +} diff --git a/packages/config/package.json b/packages/config/package.json new file mode 100644 index 00000000..b4e41140 --- /dev/null +++ b/packages/config/package.json @@ -0,0 +1,30 @@ +{ + "name": "@cord.network/config", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-sdk", + "engines": { + "node": ">=14.0" + }, + "author": "Dhiway", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "rimraf": "^3.0.2", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/utils": "workspace:*", + "typescript-logging": "^0.6.4" + } +} diff --git a/packages/config/src/ConfigService.spec.ts b/packages/config/src/ConfigService.spec.ts new file mode 100644 index 00000000..d3d49692 --- /dev/null +++ b/packages/config/src/ConfigService.spec.ts @@ -0,0 +1,89 @@ +/** + * @group unit/ConfigService + */ + +/* eslint-disable dot-notation */ +import { LogLevel, Logger } from 'typescript-logging' +import { SDKErrors } from '@cord.network/utils' +import * as ConfigService from './ConfigService' + +import '../../../testingTools/jestErrorCodeMatcher' + +describe('Log Configuration', () => { + let testLogger: Logger + beforeEach(() => { + testLogger = ConfigService.LoggingFactory.getLogger('testLogger') + }) + + it('Tests the default Log Level', () => { + if (process.env.DEBUG === 'true') { + expect(testLogger.getLogLevel()).toEqual(LogLevel.Debug) + } else expect(testLogger.getLogLevel()).toEqual(LogLevel.Error) + }) + + it('modifies the Log Level of all Loggers to the desired Level', () => { + const initialLevel = testLogger.getLogLevel() + ConfigService.modifyLogLevel(LogLevel.Info) + expect(testLogger.getLogLevel()).toEqual(LogLevel.Info) + expect( + ConfigService.LoggingFactory.getLogger('test1').getLogLevel() + ).toEqual(LogLevel.Info) + + ConfigService.modifyLogLevel(-100) + expect(testLogger.getLogLevel()).toEqual(0) + ConfigService.modifyLogLevel(initialLevel) + expect(testLogger.getLogLevel()).toEqual(initialLevel) + }) +}) + +describe('Configuration Service', () => { + it('has configuration Object with default values', () => { + expect(ConfigService.get('logLevel')).toEqual(LogLevel.Error) + expect(() => ConfigService.get('address')).toThrowErrorWithCode( + SDKErrors.ErrorCode.ERROR_WS_ADDRESS_NOT_SET + ) + }) + describe('set function for host address, logLevel and any custom configuration prop', () => { + it('host address', () => { + ConfigService.set({ address: 'host' }) + expect(ConfigService.get('address')).toEqual('host') + }) + it('logLevel setting', () => { + ConfigService.set({ logLevel: LogLevel.Warn }) + expect(ConfigService.get('logLevel')).toEqual(LogLevel.Warn) + }) + it('custom config prop', () => { + ConfigService.set({ testProp: 'test' }) + expect(ConfigService.get('testProp')).toEqual('test') + }) + }) + describe('get function for host address, logLevel and any other injected configuration prop', () => { + it('returns address property', () => { + ConfigService.set({ address: 'host' }) + expect(ConfigService.get('address')).toEqual('host') + }) + it('throws if address not set', () => { + ConfigService.set({ address: '' }) + expect(() => ConfigService.get('address')).toThrowErrorWithCode( + SDKErrors.ErrorCode.ERROR_WS_ADDRESS_NOT_SET + ) + ConfigService.set({ address: undefined }) + expect(() => ConfigService.get('address')).toThrowErrorWithCode( + SDKErrors.ErrorCode.ERROR_WS_ADDRESS_NOT_SET + ) + }) + it('returns logLevel property', () => { + ConfigService.set({ logLevel: LogLevel.Info }) + expect(ConfigService.get('logLevel')).toEqual(LogLevel.Info) + }) + it('gets custom configuration prop', () => { + ConfigService.set({ testProp: 'testing' }) + expect(ConfigService.get('testProp')).toEqual('testing') + }) + it('throws error if target prop does not exist or is undefined', () => { + expect(() => ConfigService.get('testingError')).toThrow( + 'GENERIC NOT CONFIGURED ERROR FOR KEY: "testingError"' + ) + }) + }) +}) diff --git a/packages/config/src/ConfigService.ts b/packages/config/src/ConfigService.ts new file mode 100644 index 00000000..245f630f --- /dev/null +++ b/packages/config/src/ConfigService.ts @@ -0,0 +1,92 @@ +/** + * The ConfigService is used for setting up the node address, + * the logging level as well as storing custom configuration options. + * + * @packageDocumentation + * @module ConfigService + */ + +import { + LFService, + LoggerFactoryOptions, + LogGroupRule, + LogLevel, + getLogControl, + LogGroupControlSettings, +} from 'typescript-logging' +import { SDKErrors } from '@cord.network/utils' + +const DEFAULT_DEBUG_LEVEL = + process.env.DEBUG && process.env.DEBUG === 'true' + ? LogLevel.Debug + : LogLevel.Error + +export type configOpts = { + address: string + logLevel: LogLevel +} & { [key: string]: any } + +/** + * Changes all existing Loggers of our default Factory with id 0 to the intended Level. + * + * @param level The intended LogLevel. LogLevel has a range of 0 to 5. + * @returns The new set level. + */ +export function modifyLogLevel(level: LogLevel): LogLevel { + // eslint-disable-next-line no-nested-ternary + const actualLevel = level > 0 ? (level > 5 ? 5 : level) : 0 + getLogControl() + .getLoggerFactoryControl(0) + .change({ + group: 'all', + logLevel: LogLevel[actualLevel], + } as LogGroupControlSettings) + return actualLevel +} + +let configuration: configOpts = { + logLevel: DEFAULT_DEBUG_LEVEL, + address: '', +} + +function checkAddress(): void { + if (!configuration.address) { + throw SDKErrors.ERROR_WS_ADDRESS_NOT_SET() + } +} + +export function get(configOpt: K): configOpts[K] { + switch (configOpt) { + case 'address': + checkAddress() + break + default: + } + if (typeof configuration[configOpt] === 'undefined') + throw new Error(`GENERIC NOT CONFIGURED ERROR FOR KEY: "${configOpt}"`) + return configuration[configOpt] +} + +function setLogLevel(logLevel: LogLevel | undefined): void { + if (logLevel || logLevel === 0) { + modifyLogLevel(logLevel) + } +} + +export function set>(opts: K): void { + configuration = { ...configuration, ...opts } + setLogLevel(configuration.logLevel) +} + +// Create options instance and specify 1 LogGroupRule: +// * LogLevel Error on default, env DEBUG = 'true' changes Level to Debug.throws +const options = new LoggerFactoryOptions().addLogGroupRule( + new LogGroupRule(new RegExp('.+'), get('logLevel')) +) +// Create a named loggerfactory and pass in the options and export the factory. +// Named is since version 0.2.+ (it's recommended for future usage) +// eslint-disable-next-line import/prefer-default-export +export const LoggingFactory = LFService.createNamedLoggerFactory( + 'LoggerFactory', + options +) diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts new file mode 100644 index 00000000..3e971b8a --- /dev/null +++ b/packages/config/src/index.ts @@ -0,0 +1 @@ +export * as ConfigService from './ConfigService' diff --git a/packages/config/tsconfig.build.json b/packages/config/tsconfig.build.json new file mode 100644 index 00000000..a6715687 --- /dev/null +++ b/packages/config/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + "exclude": [ + "node_modules", + "**/*.spec.ts", + ] +} \ No newline at end of file diff --git a/packages/exchange/package.json b/packages/exchange/package.json new file mode 100644 index 00000000..c4706ef7 --- /dev/null +++ b/packages/exchange/package.json @@ -0,0 +1,34 @@ +{ + "name": "@cord.network/exchange", + "version": "0.5.2-1", + "description": "Exchange API", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-sdk", + "engines": { + "node": ">=14.0" + }, + "author": "Dhiway", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "rimraf": "^3.0.2", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/config": "workspace:*", + "@cord.network/messaging": "workspace:*", + "@cord.network/modules": "workspace:*", + "@cord.network/network": "workspace:*", + "@cord.network/types": "workspace:*", + "@cord.network/utils": "workspace:*" + } +} diff --git a/packages/exchange/src/Request.ts b/packages/exchange/src/Request.ts new file mode 100644 index 00000000..8afd33ce --- /dev/null +++ b/packages/exchange/src/Request.ts @@ -0,0 +1,137 @@ +/** + * @packageDocumentation + * @module Request + */ + +import { + // Credential, + Schema, + SDKErrors, + Identity, + SchemaUtils, +} from '@cord.network/modules' +// import { ConfigService } from '@cord.network/config' +import type { + IPublicIdentity, + IMessage, + // ICredential, + // IContentStream, + // IMessage, + IRequestStreamForCredential, +} from '@cord.network/types' +import { Message } from '@cord.network/messaging' +import { UUID, Crypto } from '@cord.network/utils' + +export interface IPresentationReq { + properties: string[] + schemaId?: Schema['id'] + proofs?: boolean + requestUpdatedAfter?: Date +} + +export interface IPartialRequest { + schemaId: Schema['id'] + properties: string[] +} + +export interface IRequestSession { + requestedProperties: IPartialRequest[] +} + +/** + * A helper class to initiate a verification by creating a presentation request which is built + * on a specific [[MType]] and attributes of the [[Stream]] the verifier requires to see. + */ +export class PresentationRequestBuilder { + private partialReq: IPartialRequest[] + constructor() { + this.partialReq = [] + } + + /** + * Initiates a verification by creating a presentation request for a specific [[Schema]]. + * Note that you are required to call [[finalize]] on the request to conclude it. + * + * @param p The parameter object. + * @param p.schemaId The ID of the [[Schema]]. + * @param p.properties A list of properties of the [[Credential]]s requested. + * @param p.proofs An optional boolean representing whether the verifier requests to see the proofs of the issuers which signed the [[Credentials]]s. + * The default value for this is the current date. + * @returns A [[PresentationRequestBuilder]] on which you need to call [[finalize]] to complete the presentation request. + */ + public requestPresentation({ + schemaId, + properties, + proofs, + }: IPresentationReq): PresentationRequestBuilder { + const rawProperties = properties.map((attr) => `${attr}`) + + if (typeof schemaId !== 'undefined') { + rawProperties.push('content.schemaId') + } + if (proofs === true) { + rawProperties.push('proof') + } + if (!schemaId) throw SDKErrors.ERROR_SCHEMA_ID_NOT_PROVIDED() + this.partialReq.push({ + schemaId: SchemaUtils.getSchemaId(schemaId), + properties: rawProperties, + }) + return this + } + + /** + * Concludes the presentation request. + * + * @param requester The [[Identity]] of the verifier used to sign. + * @param holder The [[IPublicIdentity]] for which the message should be encrypted (note: the message will be return unencrypted. Use Message.getEncryptedMessage to encrypt the message). + * @returns A session and a message object. + * The **session** object will be used in [[verifyPresentation]] and should be kept private by the verifier. + * The **message** object should be sent to the Holder and used in [[createPresentation]]. + */ + public finalize( + purpose: string, + requester: Identity, + holder: IPublicIdentity, + validUntil: number, + relatedData: boolean + ): { + session: IRequestSession + message: IMessage + } { + const session = { + requestedProperties: this.partialReq, + } + const message = new Message( + { + request: UUID.generate(), + type: Message.BodyType.REQUEST_CREDENTIAL, + content: this.partialReq.map((pr): IRequestStreamForCredential => { + return { + id: pr.schemaId, + requiredProperties: pr.properties, + } + }), + purpose, + validUntil, + relatedData, + }, + requester, + holder + ) + const hash = Crypto.hashStr(JSON.stringify(message)) + message.body.signature = requester.signStr(hash) + return { + session: session, + message: message, + } + } +} +/** + * Initiates a verification by creating a request on the Verifier's side. + * + * @returns A [[PresentationRequestBuilder]] based on a [[MType]] and a list of required disclosed attributes of the [[MarkedStream]]s. + */ +export function newRequestBuilder(): PresentationRequestBuilder { + return new PresentationRequestBuilder() +} diff --git a/packages/exchange/src/Share.ts b/packages/exchange/src/Share.ts new file mode 100644 index 00000000..65244346 --- /dev/null +++ b/packages/exchange/src/Share.ts @@ -0,0 +1,81 @@ +/** + * @packageDocumentation + * @module Share + */ + +import { Credential, Identity, SDKErrors } from '@cord.network/modules' +import type { + IMessage, + IPublicIdentity, + IPresentationOptions, + IPresentationSigningOptions, +} from '@cord.network/types' +import { Message } from '@cord.network/messaging' +import { Crypto } from '@cord.network/utils' + +/** + * Creates a presentation for an arbitrary amount of [[MarkedStream]]s which can be verified in [[verifyPresentation]]. + * + * @param identity The Holder [[Identity]] which owns the [[MarkedStream]]s. + * @param message The message which represents multiple [[MType]]s, [[IRequestStreamsForMTypes]]s and whether privacy + * enhancement is supported. + * @param verifier The [[IPublicIdentity]] of the verifier that requested the presentation. + * @param credentials The [[MarkedStream]]s which should be verified. + * @throws [[ERROR_PE_MISMATCH]], [[ERROR_MESSAGE_TYPE]], [[ERROR_PE_CREDENTIAL_MISSING]]. + * @returns A message which represents either an array of [[MarkedStream]]s if privacy enhancement is not supported + * or a combined presentation. Both of these options can be verified. + */ +export function createPresentation( + identity: Identity, + message: IMessage, + verifier: IPublicIdentity, + credentials: Credential[], + { + showAttributes, + hideAttributes = [], + signer, + request = message.request, + }: IPresentationOptions & Partial = {} +): Message { + // did we get the right message type? + if (message.body.type !== Message.BodyType.REQUEST_CREDENTIAL) { + throw SDKErrors.ERROR_MESSAGE_TYPE( + message.body.type, + Message.BodyType.REQUEST_CREDENTIAL + ) + } + + // create presentation for each credential + const credentialStreams = credentials.map((cred, i) => { + const presentation = cred.createPresentation({ + showAttributes, + hideAttributes, + signer, + request, + }) + + return presentation + }) + + const resMessage = new Message( + { + request: message.body.request, + type: Message.BodyType.SUBMIT_CREDENTIAL, + content: credentialStreams, + purpose: message.body.purpose, + validUntil: message.body.validUntil, + signature: message.body.signature, + }, + identity, + verifier + ) + const msgSigner = signer ? { signer } : undefined + delete resMessage.body.signature + const signature = msgSigner?.signer.sign( + Crypto.coToUInt8(JSON.stringify(resMessage)) + ) + + resMessage.body.signature = Crypto.u8aToHex(signature) + + return resMessage +} diff --git a/packages/exchange/src/Verify.ts b/packages/exchange/src/Verify.ts new file mode 100644 index 00000000..277ca6b3 --- /dev/null +++ b/packages/exchange/src/Verify.ts @@ -0,0 +1,98 @@ +/** + * @packageDocumentation + * @module Request + */ + +import { Credential, SDKErrors } from '@cord.network/modules' +import { ConfigService } from '@cord.network/config' +import type { ICredential, IContentStream, IMessage } from '@cord.network/types' +import { Message } from '@cord.network/messaging' +import { IRequestSession } from './Request' + +const log = ConfigService.LoggingFactory.getLogger('Request') + +/** +// * Initiates a verification by creating a request on the Verifier's side. +// * +// * @returns A [[PresentationRequestBuilder]] based on a [[MType]] and a list of required disclosed attributes of the [[MarkedStream]]s. +// */ +// export function newRequestBuilder(): PresentationRequestBuilder { +// return new PresentationRequestBuilder() +// } + +/** + * [ASYNC] Checks that the submitted marks fulfil the ones requested upon presentation creation. + * + * @param markedStreams The attested streams submitted by the holder. + * @param session The stored session object. + * @returns An object describing whether the verification was successful. + */ +async function verifySharedPresentation( + credStreams: Credential[], + session: IRequestSession +): Promise<{ + verified: boolean + streams: Array> +}> { + if (credStreams.length !== session.requestedProperties.length) { + log.info( + `Rejected presentation because the number of shared streams (${credStreams.length}) did not match the number of requested streams (${session.requestedProperties.length}).` + ) + return { + verified: false, + streams: [], + } + } + + const allVerified = await Promise.all( + session.requestedProperties.map(async (requested, i) => { + const ac = credStreams[i] + const providedProperties = ac.getAttributes() + const rawProperties = Array.from(providedProperties.keys()).map( + (prop) => `${prop}` + ) + rawProperties.push('content.schemaId') + rawProperties.push('content.creator') + return ( + requested.properties.every((p) => { + return rawProperties.includes(p) + }) && ac.verify() + ) + }) + ) + const verified = !allVerified.includes(false) + return { verified, streams: verified ? credStreams : [] } +} + +/** + * [ASYNC] Verifies the Holder's presentation of [[MarkedStream]]s. + * + * @param message The Holder's presentation of the [[MarkedStream]]s that should be verified, the result of [[createPresentation]]. + * @param session The Verifier's private verification session created in [[finalize]]. + * @throws [[ERROR_MESSAGE_TYPE]]. + * @returns An object containing the keys + * **verified** (which describes whether the [[MarkedStream]]s could be verified) + * and **streams** (an array of [[Stream]]s restricted on the disclosed attributes selected in [[requestPresentationForMtype]]). + */ +export async function verifyPresentation( + message: IMessage, + session: IRequestSession +): Promise<{ + verified: boolean + streams: Array> +}> { + if (message.body.type !== Message.BodyType.SUBMIT_CREDENTIAL) + throw SDKErrors.ERROR_MESSAGE_TYPE( + message.body.type, + Message.BodyType.SUBMIT_CREDENTIAL + ) + const credentialStreams: ICredential[] = message.body.content.map( + (credentials, i) => { + return credentials.credentials[i] + } + ) + const credStreams = credentialStreams.map(Credential.fromCredential) + + // currently only supporting id-ed credentials + return verifySharedPresentation(credStreams, session) +} diff --git a/packages/exchange/src/index.ts b/packages/exchange/src/index.ts new file mode 100644 index 00000000..34b2c53a --- /dev/null +++ b/packages/exchange/src/index.ts @@ -0,0 +1,9 @@ +// import * as Requestor from './actors/Requestor' +// import * as Issuer from './actors/Issuer' +import * as Share from './Share' +import * as Request from './Request' +import * as Verify from './Verify' + +import type * as types from './types' + +export { Share, Request, Verify, types } diff --git a/packages/exchange/src/types.ts b/packages/exchange/src/types.ts new file mode 100644 index 00000000..44cc8c7d --- /dev/null +++ b/packages/exchange/src/types.ts @@ -0,0 +1,8 @@ +/** + * @packageDocumentation + * @module ActorsTypes + */ + +export { IPresentationReq, IPartialRequest, IRequestSession } from './Request' +// export { RequestorStreamSession } from './Share' +// export { IStreamStatusHandle } from './Issuer' diff --git a/packages/exchange/tsconfig.build.json b/packages/exchange/tsconfig.build.json new file mode 100644 index 00000000..ab6a2e29 --- /dev/null +++ b/packages/exchange/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + + "exclude": [ + "coverage", + "**/*.spec.ts", + ] +} \ No newline at end of file diff --git a/packages/messaging/package.json b/packages/messaging/package.json new file mode 100644 index 00000000..ef0342c1 --- /dev/null +++ b/packages/messaging/package.json @@ -0,0 +1,32 @@ +{ + "name": "@cord.network/messaging", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-sdk", + "engines": { + "node": ">=14.0" + }, + "author": "Dhiway", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "rimraf": "^3.0.2", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/modules": "workspace:*", + "@cord.network/types": "workspace:*", + "@cord.network/utils": "workspace:*", + "@polkadot/util": "^7.8.2" + } +} diff --git a/packages/messaging/src/Message.ts b/packages/messaging/src/Message.ts new file mode 100644 index 00000000..5ead4f8b --- /dev/null +++ b/packages/messaging/src/Message.ts @@ -0,0 +1,238 @@ +/** + * CORD participants can communicate via a 1:1 messaging system. + * + * All messages are **encrypted** with the encryption keys of the involved identities. + * Every time an actor sends data about an [[Identity]], they have to sign the message to prove access to the corresponding private key. + * + * The [[Message]] class exposes methods to construct and verify messages. + * + * @packageDocumentation + * @module Messaging + */ + +import { Identity } from '@cord.network/modules' +import type { + IPublicIdentity, + CompressedMessageBody, + IMessage, + ISubmitCredential, + IEncryptedMessage, + MessageBody, + ISchema, +} from '@cord.network/types' +import { MessageBodyType } from '@cord.network/types' +import { Crypto, DataUtils, SDKErrors } from '@cord.network/utils' +import { + compressMessage, + decompressMessage, + errorCheckMessage, + errorCheckMessageBody, + verifyRequiredSchemaProperties, +} from './Message.utils' + +export class Message implements IMessage { + /** + * [STATIC] Lists all possible body types of [[Message]]. + */ + public static readonly BodyType = MessageBodyType + + /** + * [STATIC] Verifies that the sender of a [[Message]] is also the owner of it, e.g the holder's and sender's public keys match. + * + * @param message The [[Message]] object which needs to be decrypted. + * @param message.body The body of the [[Message]] which depends on the [[BodyType]]. + * @param message.senderAddress The sender's public SS58 address of the [[Message]]. + * @throws [[ERROR_IDENTITY_MISMATCH]] when the sender does not match the holder of the content embedded in the message, e.g. A request for mark or an mark. + * + */ + public static ensureOwnerIsSender({ body, senderAddress }: IMessage): void { + switch (body.type) { + case Message.BodyType.REQUEST_STREAM: + { + const requestStream = body + if (requestStream.content.requestStream.creator !== senderAddress) { + throw SDKErrors.ERROR_IDENTITY_MISMATCH('Stream', 'Sender') + } + } + break + case Message.BodyType.ANCHOR_STREAM: + { + const submitStream = body + //TODO - Add schema delegation checks + if (submitStream.content.stream.creator !== senderAddress) { + throw SDKErrors.ERROR_IDENTITY_MISMATCH('Stream', 'Creator') + } + } + break + case Message.BodyType.SUBMIT_CREDENTIAL: + { + const submitStreamsForSchema: ISubmitCredential = body + submitStreamsForSchema.content.forEach((stream, i) => { + if (stream.credentials[i].content.creator !== senderAddress) { + throw SDKErrors.ERROR_IDENTITY_MISMATCH('Schema', 'Holder') + } + }) + } + break + default: + } + } + + /** + * [STATIC] Verifies that neither the hash of [[Message]] nor the sender's signature on the hash have been tampered with. + * + * @param encrypted The encrypted [[Message]] object which needs to be decrypted. + * @param senderAddress The sender's public SS58 address of the [[Message]]. + * @throws [[ERROR_NONCE_HASH_INVALID]] when either the hash or the signature could not be verified against the calculations. + * + */ + public static ensureHashAndSignature( + encrypted: IEncryptedMessage, + senderAddress: IMessage['senderAddress'] + ): void { + if ( + Crypto.hashStr( + encrypted.encryptedStream + encrypted.nonce + encrypted.createdAt + ) !== encrypted.hash + ) { + throw SDKErrors.ERROR_NONCE_HASH_INVALID( + { hash: encrypted.hash, nonce: encrypted.nonce }, + 'Message' + ) + } + DataUtils.validateSignature( + encrypted.hash, + encrypted.signature, + senderAddress + ) + } + + /** + * [STATIC] Symmetrically decrypts the result of [[Message.encrypt]]. + * + * Uses [[Message.ensureHashAndSignature]] and [[Message.ensureOwnerIsSender]] internally. + * + * @param encrypted The encrypted message. + * @param receiver The [[Identity]] of the receiver. + * @throws [[ERROR_DECODING_MESSAGE]] when encrypted message couldn't be decrypted. + * @throws [[ERROR_PARSING_MESSAGE]] when the decoded message could not be parsed. + * @returns The original [[Message]]. + */ + public static decrypt( + encrypted: IEncryptedMessage, + receiver: Identity + ): IMessage { + // check validity of the message + Message.ensureHashAndSignature(encrypted, encrypted.senderAddress) + + const ea: Crypto.EncryptedAsymmetricString = { + box: encrypted.encryptedStream, + nonce: encrypted.nonce, + } + const decoded: string | false = receiver.decryptAsymmetricAsStr( + ea, + encrypted.senderPublicKey + ) + if (!decoded) { + throw SDKErrors.ERROR_DECODING_MESSAGE() + } + + try { + const messageBody: MessageBody = JSON.parse(decoded) + const decrypted: IMessage = { + ...encrypted, + body: messageBody, + } + + // checks the messasge body + errorCheckMessageBody(messageBody) + + // checks the message structure + errorCheckMessage(decrypted) + // make sure the sender is the owner of the identity + Message.ensureOwnerIsSender(decrypted) + + return decrypted + } catch (error) { + throw SDKErrors.ERROR_PARSING_MESSAGE() + } + } + + public messageId?: string + public receivedAt?: number + public body: MessageBody + public createdAt: number + public validUntil?: number + public receiverAddress: IMessage['receiverAddress'] + public senderAddress: IMessage['senderAddress'] + public senderPublicKey: IMessage['senderPublicKey'] + + /** + * Constructs a message which should be encrypted with [[Message.encrypt]] before sending to the receiver. + * + * @param body The body of the message. + * @param sender The [[PublicIdentity]] of the sender. + * @param receiver The [[PublicIdentity]] of the receiver. + */ + public constructor( + body: MessageBody | CompressedMessageBody, + sender: Identity, + receiver: IPublicIdentity + ) { + if (Array.isArray(body)) { + this.body = decompressMessage(body) + } else { + this.body = body + } + this.createdAt = Date.now() + this.receiverAddress = receiver.address + this.senderAddress = sender.address + this.senderPublicKey = sender.getBoxPublicKey() + } + + /** + * Encrypts the [[Message]] symmetrically as a string. This can be reversed with [[Message.decrypt]]. + * + * @param sender The [[Identity]] of the sender. + * @param receiver The [[PublicIdentity]] of the receiver. + * @returns The encrypted version of the original [[Message]], see [[IEncryptedMessage]]. + */ + public encrypt( + sender: Identity, + receiver: IPublicIdentity + ): IEncryptedMessage { + const encryptedMessage: Crypto.EncryptedAsymmetricString = + sender.encryptAsymmetricAsStr( + JSON.stringify(this.body), + receiver.boxPublicKeyAsHex + ) + const encryptedStream = encryptedMessage.box + const { nonce } = encryptedMessage + + const hashInput: string = encryptedStream + nonce + this.createdAt + const hash = Crypto.hashStr(hashInput) + const signature = sender.signStr(hash) + return { + receivedAt: this.receivedAt, + encryptedStream, + nonce, + createdAt: this.createdAt, + hash, + signature, + receiverAddress: this.receiverAddress, + senderAddress: this.senderAddress, + senderPublicKey: this.senderPublicKey, + } + } + + public compress(): CompressedMessageBody { + return compressMessage(this.body) + } + + public static verifyRequiredSchemaProperties( + requiredProperties: string[], + schema: ISchema + ): boolean { + return verifyRequiredSchemaProperties(requiredProperties, schema) + } +} diff --git a/packages/messaging/src/Message.utils.ts b/packages/messaging/src/Message.utils.ts new file mode 100644 index 00000000..c9e09856 --- /dev/null +++ b/packages/messaging/src/Message.utils.ts @@ -0,0 +1,270 @@ +/** + * @packageDocumentation + * @module MessageUtils + */ + +import { + StreamUtils, + CredentialUtils, + ContentUtils, + SchemaUtils, + ContentStreamUtils, +} from '@cord.network/modules' +import type { + ICredential, + CompressedCredential, + CompressedMessageBody, + MessageBody, + CompressedRequestCredentialContent, + IRequestStreamForCredential, + ISchema, + IMessage, + PartialContent, + IContent, +} from '@cord.network/types' +import { DataUtils, SDKErrors } from '@cord.network/utils' +import { isHex } from '@polkadot/util' + +import { Message } from './Message' + +export function errorCheckMessageBody(body: MessageBody): boolean | void { + switch (body.type) { + case Message.BodyType.REQUEST_STREAM: { + ContentStreamUtils.errorCheck(body.content.requestStream) + if (body.content.prerequisiteStreams) { + body.content.prerequisiteStreams.map( + (content: IContent | PartialContent) => + ContentUtils.errorCheck(content) + ) + } + break + } + case Message.BodyType.ANCHOR_STREAM: { + StreamUtils.errorCheck(body.content.stream) + break + } + case Message.BodyType.REJECT_STREAM: { + if (!isHex(body.content)) { + throw SDKErrors.ERROR_HASH_MALFORMED() + } + break + } + case Message.BodyType.REQUEST_CREDENTIAL: { + body.content.forEach( + (requestStreamsForSchema: IRequestStreamForCredential): void => { + DataUtils.validateId( + requestStreamsForSchema.id, + 'Invalid Schema Identifier' + ) + requestStreamsForSchema.acceptedIssuer?.map((address) => + DataUtils.validateAddress(address, 'Invalid Schema Owner Address') + ) + requestStreamsForSchema.requiredProperties?.forEach( + (requiredProps) => + typeof requiredProps !== 'string' && + new TypeError('Required properties is expected to be a string') + ) + } + ) + break + } + case Message.BodyType.SUBMIT_CREDENTIAL: { + const creds: ICredential[] = body.content.map((credentials, i) => { + return credentials[i].credentials + }) + creds.map((cred) => CredentialUtils.errorCheck(cred)) + break + } + case Message.BodyType.ACCEPT_CREDENTIAL: { + body.content.map((schemaId) => + DataUtils.validateId(schemaId, 'invalid schema hash') + ) + break + } + case Message.BodyType.REJECT_CREDENTIAL: { + body.content.map((schemaId) => + DataUtils.validateId(schemaId, 'rejected streams - invalid schema hash') + ) + break + } + + default: + throw SDKErrors.ERROR_MESSAGE_BODY_MALFORMED() + } + + return true +} + +export function errorCheckMessage(message: IMessage): boolean | void { + const { + body, + request, + createdAt, + receiverAddress, + senderAddress, + receivedAt, + senderPublicKey, + inReplyTo, + } = message + if (request && typeof request !== 'string') { + throw new TypeError('message id is expected to be a string') + } + if (createdAt && typeof createdAt !== 'number') { + throw new TypeError('created at is expected to be a number') + } + if (receivedAt && typeof receivedAt !== 'number') { + throw new TypeError('received at is expected to be a number') + } + DataUtils.validateAddress(receiverAddress, 'receiver address') + DataUtils.validateAddress(senderAddress, 'sender address') + if (!isHex(senderPublicKey)) { + throw SDKErrors.ERROR_ADDRESS_INVALID() + } + if (inReplyTo && typeof inReplyTo !== 'string') { + throw new TypeError('in reply to is expected to be a string') + } + errorCheckMessageBody(body) + return true +} + +/** + * Verifies required properties for a given [[MType]] before sending or receiving a message. + * + * @param requiredProperties The list of required properties that need to be verified against a [[MType]]. + * @param mType A [[MType]] used to verify the properties. + * @throws [[ERROR_MTYPE_HASH_NOT_PROVIDED]] when the properties do not match the provide [[MType]]. + * + * @returns Returns the properties back. + */ + +export function verifyRequiredSchemaProperties( + requiredProperties: string[], + schema: ISchema +): boolean { + SchemaUtils.errorCheck(schema as ISchema) + + const validProperties = requiredProperties.find( + (property) => !(property in schema.schema.properties) + ) + if (validProperties) { + throw SDKErrors.ERROR_SCHEMA_PROPERTIES_NOT_MATCHING() + } + + return true +} + +/** + * Compresses a [[Message]] depending on the message body type. + * + * @param body The body of the [[Message]] which depends on the [[MessageBodyType]] that needs to be compressed. + * + * @returns Returns the compressed message optimised for sending. + */ + +export function compressMessage(body: MessageBody): CompressedMessageBody { + let compressedContents: CompressedMessageBody[1] + switch (body.type) { + case Message.BodyType.REQUEST_STREAM: { + compressedContents = [ + ContentStreamUtils.compress(body.content.requestStream), + body.content.prerequisiteStreams + ? body.content.prerequisiteStreams.map((content) => + ContentUtils.compress(content) + ) + : undefined, + ] + break + } + case Message.BodyType.ANCHOR_STREAM: { + compressedContents = StreamUtils.compress(body.content.stream) + break + } + case Message.BodyType.REQUEST_CREDENTIAL: { + compressedContents = body.content.map( + (val): CompressedRequestCredentialContent => { + return [val.id, val.acceptedIssuer, val.requiredProperties] + } + ) + break + } + case Message.BodyType.SUBMIT_CREDENTIAL: { + const cordStreams: ICredential[] = body.content.map((credentials, i) => { + return credentials[i].credentials + }) + compressedContents = cordStreams.map( + (cordStream: ICredential | CompressedCredential) => + Array.isArray(cordStream) + ? cordStream + : CredentialUtils.compress(cordStream) + ) + break + } + + default: + throw SDKErrors.ERROR_MESSAGE_BODY_MALFORMED() + } + return [body.type, compressedContents] as CompressedMessageBody +} + +/** + * [STATIC] Takes a compressed [[Message]] and decompresses it depending on the message body type. + * + * @param body The body of the compressed [[Message]] which depends on the [[MessageBodyType]] that needs to be decompressed. + * + * @returns Returns the compressed message back to its original form and more human readable. + */ + +export function decompressMessage(body: CompressedMessageBody): MessageBody { + // body[0] is the [[MessageBodyType]] being sent. + // body[1] is the content order of the [[compressMessage]] for each [[MessageBodyType]]. + // Each index matches the object keys from the given [[MessageBodyType]]. + let decompressedContents: MessageBody['content'] + switch (body[0]) { + case Message.BodyType.REQUEST_STREAM: { + decompressedContents = { + requestStream: ContentStreamUtils.decompress(body[1][0]), + prerequisiteStreams: body[1][1] + ? body[1][1].map((stream) => ContentUtils.decompress(stream)) + : undefined, + } + + break + } + case Message.BodyType.ANCHOR_STREAM: { + decompressedContents = { + stream: StreamUtils.decompress(body[1]), + } + break + } + case Message.BodyType.REQUEST_CREDENTIAL: { + decompressedContents = body[1].map( + ( + val: CompressedRequestCredentialContent + ): IRequestStreamForCredential => { + return { + id: val[0], + acceptedIssuer: val[1], + requiredProperties: val[2], + } + } + ) + + break + } + // case Message.BodyType.SUBMIT_STREAM_FOR_SCHEMA: { + // decompressedContents = body[1].map( + // (cordStream: ICredential | CompressedCredential) => + // !Array.isArray(cordStream) + // ? cordStream + // : CredentialUtils.decompress(cordStream) + // ) + + // break + // } + + default: + throw SDKErrors.ERROR_MESSAGE_BODY_MALFORMED() + } + + return { type: body[0], content: decompressedContents } as MessageBody +} diff --git a/packages/messaging/src/index.ts b/packages/messaging/src/index.ts new file mode 100644 index 00000000..929bd86c --- /dev/null +++ b/packages/messaging/src/index.ts @@ -0,0 +1,2 @@ +export * from './Message' +export * from './Message.utils' diff --git a/packages/messaging/tsconfig.build.json b/packages/messaging/tsconfig.build.json new file mode 100644 index 00000000..ab6a2e29 --- /dev/null +++ b/packages/messaging/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + + "exclude": [ + "coverage", + "**/*.spec.ts", + ] +} \ No newline at end of file diff --git a/packages/modules/package.json b/packages/modules/package.json new file mode 100644 index 00000000..50d8adfc --- /dev/null +++ b/packages/modules/package.json @@ -0,0 +1,43 @@ +{ + "name": "@cord.network/modules", + "version": "0.5.2-1", + "description": "Core Modules", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-sdk", + "engines": { + "node": ">=14.0" + }, + "author": "", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "@types/uuid": "^8.0.0", + "rimraf": "^3.0.2", + "tslib": "^2.0.0", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/config": "workspace:*", + "@cord.network/network": "workspace:*", + "@cord.network/types": "workspace:*", + "@cord.network/utils": "workspace:*", + "@polkadot/api": "6.7.2", + "@polkadot/keyring": "7.8.2", + "@polkadot/types": "6.7.2", + "@polkadot/types-known": "6.7.2", + "@polkadot/util": "7.8.2", + "@polkadot/util-crypto": "7.8.2", + "ajv": "^6.12.5", + "tweetnacl": "^1.0.3", + "typescript-logging": "^0.6.4" + } +} diff --git a/packages/modules/src/balance/Balance.chain.ts b/packages/modules/src/balance/Balance.chain.ts new file mode 100644 index 00000000..c3d31292 --- /dev/null +++ b/packages/modules/src/balance/Balance.chain.ts @@ -0,0 +1,144 @@ +/** + * Balance provides the accounts and balances of the CORD protocol. + * + * * Checking Balances between accounts + * * Transfer of assets between accounts. + * + * @packageDocumentation + * @module Balance + */ + +import type { UnsubscribePromise } from '@polkadot/api/types' +import { BN } from '@polkadot/util' +import type { + Balances, + IPublicIdentity, + SubmittableExtrinsic, +} from '@cord.network/types' +import { ChainApiConnection } from '@cord.network/network' + +import BalanceUtils from './Balance.utils' + +/** + * Fetches the current balances of the account with [accountAddress]. + * Note that the balance amounts are in Femto-Cord (1e-15)and must be translated to Cord-Coin. + * + * @param accountAddress Address of the account for which to get the balances. + * @returns A promise containing the current balances of the account. + * + * @example + *
+ * + * ```javascript + * + * const address = ... + * sdk.Balance.getBalances(address) + * .then((balanceData: AccountData) => { + * console.log(`free balances is ${balanceData.free.toNumber()}`) + * }) + * ``` + */ +export async function getBalances( + accountAddress: IPublicIdentity['address'] +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + + return (await blockchain.api.query.system.account(accountAddress)).data +} + +/** + * Attaches the given [listener] for balance changes on the account with [accountAddress]. + * Note that the balance amounts are in Femto-Cord (1e-15) and must be translated to Cord-Coin. + * + * @param accountAddress Address of the account on which to listen for all balance changes. + * @param listener Listener to receive all balance change updates. + * @returns A promise containing a function that let's you unsubscribe from all balance changes. + * + * @example + *
+ * + * ```javascript + * const address = ... + * const unsubscribe = await sdk.Balance.listenToBalanceChanges(address, + * (account: IPublicIdentity['address'], balances: Balances, changes: Balances) => { + * console.log(`Balance has changed by ${changes.free.toNumber()} to ${balances.free.toNumber()}`) + * }); + * // later + * unsubscribe(); + * ``` + */ +export async function listenToBalanceChanges( + accountAddress: IPublicIdentity['address'], + listener: ( + account: IPublicIdentity['address'], + balances: Balances, + changes: Balances + ) => void +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + let previousBalances = await getBalances(accountAddress) + + return blockchain.api.query.system.account( + accountAddress, + ({ data: { free, reserved, miscFrozen, feeFrozen } }) => { + const balancesChange = { + free: free.sub(previousBalances.free), + reserved: reserved.sub(previousBalances.reserved), + miscFrozen: miscFrozen.sub(previousBalances.miscFrozen), + feeFrozen: feeFrozen.sub(previousBalances.feeFrozen), + } + + const current = { + free: new BN(free), + reserved: new BN(reserved), + miscFrozen: new BN(miscFrozen), + feeFrozen: new BN(feeFrozen), + } + previousBalances = current + + listener(accountAddress, current, balancesChange) + } + ) +} + +/** + * Transfer Cord [amount] tokens to [toAccountAddress]. + * Note that the value of the transferred currency and the balance amount reported by the chain is in Femto-Cord (1e-15), and must be translated to Cord-Coin. + * + * @param accountAddressTo Address of the receiver account. + * @param amount Amount of Units to transfer. + * @param exponent Magnitude of the amount. Default magnitude of Femto-Cord. + * @returns Promise containing unsigned SubmittableExtrinsic. + * + * @example + *
+ * + * ```javascript + * const identity = ... + * const address = ... + * const amount: BN = new BN(42) + * const blockchain = await sdk.getConnectionOrConnect() + * sdk.Balance.makeTransfer(address, amount, 0) // + * .then(tx => ChainUtils.signAndSendTx(tx, identity)) + * .then(() => console.log('Successfully transferred ${amount.toNumber()} tokens')) + * .catch(err => { + * console.log('Transfer failed') + * }) + * ``` + */ +export async function makeTransfer( + accountAddressTo: IPublicIdentity['address'], + amount: BN, + exponent = -12 +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const cleanExponent = + (exponent >= 0 ? 1 : -1) * Math.floor(Math.abs(exponent)) + const transfer = blockchain.api.tx.balances.transfer( + accountAddressTo, + cleanExponent === -12 + ? amount + : BalanceUtils.convertToTxUnit(amount, cleanExponent) + ) + return transfer +} diff --git a/packages/modules/src/balance/Balance.utils.ts b/packages/modules/src/balance/Balance.utils.ts new file mode 100644 index 00000000..65850742 --- /dev/null +++ b/packages/modules/src/balance/Balance.utils.ts @@ -0,0 +1,41 @@ +/** + * @packageDocumentation + * @module BalanceUtils + */ + +import { BN } from '@polkadot/util' +import { formatBalance } from '@polkadot/util' +import type { BalanceOptions } from '@cord.network/types' + +export const WAY_UNIT = new BN(1) + +export function formatWayBalance( + amount: BN, + additionalOptions?: BalanceOptions +): string { + const options = { + decimals: 12, + withSiFull: true, + withUnit: 'WAY', + ...additionalOptions, + } + return formatBalance(amount, options) +} + +export function convertToTxUnit(balance: BN, power: number): BN { + return new BN(balance).mul(new BN(10).pow(new BN(12 + power))) +} + +export function asFemtoWay(balance: BN): BN { + return convertToTxUnit(balance, 0) +} + +export const TRANSACTION_FEE = convertToTxUnit(new BN(1), 0) + +export default { + WAY_UNIT, + TRANSACTION_FEE, + formatWayBalance, + asFemtoWay, + convertToTxUnit, +} diff --git a/packages/modules/src/balance/index.ts b/packages/modules/src/balance/index.ts new file mode 100644 index 00000000..70d2f0af --- /dev/null +++ b/packages/modules/src/balance/index.ts @@ -0,0 +1,5 @@ +import BalanceUtils from './Balance.utils' +import * as Balance from './Balance.chain' + +export { Balance, BalanceUtils } +export default Balance diff --git a/packages/modules/src/content/Content.ts b/packages/modules/src/content/Content.ts new file mode 100644 index 00000000..3ba5118b --- /dev/null +++ b/packages/modules/src/content/Content.ts @@ -0,0 +1,163 @@ +/** + * Content streams are the core building block of CORD SDK. Once created, a content stream can be used to create a [[JournalStream]] or [[MarkStream]] or [[LinkStream]]. + * + * A content stream object has: + * * contents - among others, the pure content of a stream, for example `"isOver18": yes`; + * * a [[Schema]] that represents its data structure. + * + * @packageDocumentation + * @module Content + */ + +import type { + IContent, + CompressedContent, + IPublicIdentity, + CompressedPartialContent, + PartialContent, +} from '@cord.network/types' +import { SDKErrors } from '@cord.network/utils' +import { Schema as ISchema } from '../schema/Schema' +import * as SchemaUtils from '../schema/Schema.utils' +import * as ContentUtils from './Content.utils' + +function verifyContent( + contents: IContent['contents'], + schema: ISchema['schema'] +): boolean { + return SchemaUtils.verifyContentProperties(contents, schema) +} + +export class Content implements IContent { + /** + * Instantiates a new Content stream from the given [[IContent]] and [[Schema]]. + * + * @param input IContent to instantiate the new stream from. + * @param schema ISchema['schema'] to verify input's contents. + * @throws [[ERROR_CONTENT_UNVERIFIABLE]] when input's contents could not be verified with the provided schema. + * + * @returns An instantiated Content stream. + */ + public static fromContent( + input: IContent, + schema: ISchema['schema'] + ): Content { + if (!verifyContent(input.contents, schema)) { + throw SDKErrors.ERROR_CONTENT_UNVERIFIABLE() + } + return new Content(input) + } + + /** + * [STATIC] Builds a [[Content]] stream from a [[Schema]] which has nested [[Schema]]s within the schema. + * + * @param schema A [[Schema]] object that has nested [[Schema]]s. + * @param nestedSchemas The array of [[Schema]]s, which are used inside the main [[Schema]]. + * @param contents The data inside the [[Content]]. + * + * @returns A [[Content]] stream. + */ + + public static fromNestedTypeContent( + schema: ISchema, + nestedSchemas: Array, + contents: IContent['contents'], + creator: IPublicIdentity['address'] + ): Content { + if ( + !SchemaUtils.validateNestedSchemas(schema.schema, nestedSchemas, contents) + ) { + throw SDKErrors.ERROR_NESTED_CONTENT_UNVERIFIABLE() + } + return new Content({ + schemaId: SchemaUtils.getSchemaId(schema.id), + contents: contents, + creator: creator, + }) + } + + /** + * Instantiates a new Content stream from the given [[ISchema]], IContent['contents'] and IPublicIdentity['address']. + * + * @param schema [[ISchema]] from which the Content stream will be built. + * @param contents IContent['contents'] to be used as the data of the instantiated Content stream. + * @throws [[ERROR_STREAM_UNVERIFIABLE]] when streamInput's contents could not be verified with the schema of the provided mtypeInput. + * + * @returns An instantiated [[Content]] stream. + */ + public static fromSchemaAndContent( + schema: ISchema, + contents: IContent['contents'], + creator: IPublicIdentity['address'] + ): Content { + if (schema.schema) { + if (!verifyContent(contents, schema.schema)) { + throw SDKErrors.ERROR_CONTENT_UNVERIFIABLE() + } + } + return new Content({ + schemaId: SchemaUtils.getSchemaId(schema.id), + creator: creator, + contents: contents, + }) + } + + /** + * [STATIC] Custom Type Guard to determine input being of type IContent using the ContentUtils errorCheck. + * + * @param input The potentially only partial IContent. + * + * @returns Boolean whether input is of type IContent. + */ + static isIContent(input: unknown): input is IContent { + try { + ContentUtils.errorCheck(input as IContent) + } catch (error) { + return false + } + return true + } + + public schemaId: IContent['schemaId'] + public contents: IContent['contents'] + public creator: IContent['creator'] + + public constructor(input: IContent) { + ContentUtils.errorCheck(input) + this.schemaId = input.schemaId + this.contents = input.contents + this.creator = input.creator + } + + /** + * Compresses the [[Content]] stream object to a [[CompressedContent]]. + * + * @returns An array that contains the same properties of an [[Content]]. + */ + + public compress(): CompressedContent { + return ContentUtils.compress(this) + } + + /** + * Decompresses the [[IContent]] from storage and/or message. + * + * @param content A [[CompressedContent]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when an [[CompressedContent]] is not an Array or it's length is unequal 3. + * @returns An [[IContent]] object that has the same properties as the [[CompressedContent]]. + */ + public static decompress(content: CompressedContent): IContent + /** + * Decompresses the Partial [[IContent] from storage and/or message. + * + * @param content An [[CompressedPartialContent]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when an [[CompressedPartialContent]] is not an Array or it's length is unequal 3. + * @returns An [[PartialContent]] object that has the same properties as the [[CompressedPartialContent]]. + */ + public static decompress(content: CompressedPartialContent): PartialContent + public static decompress( + compressedContent: CompressedContent | CompressedPartialContent + ): IContent | PartialContent { + return ContentUtils.decompress(compressedContent) + } +} diff --git a/packages/modules/src/content/Content.utils.ts b/packages/modules/src/content/Content.utils.ts new file mode 100644 index 00000000..e800f68f --- /dev/null +++ b/packages/modules/src/content/Content.utils.ts @@ -0,0 +1,252 @@ +/** + * @packageDocumentation + * @module ContentUtils + */ + +import { hexToBn } from '@polkadot/util' +import type { + IContent, + CompressedContent, + PartialContent, + CompressedPartialContent, +} from '@cord.network/types' +import { jsonabc, DataUtils, Crypto, SDKErrors } from '@cord.network/utils' +import { getIdWithPrefix } from '../schema/Schema.utils' + +const VC_VOCAB = 'https://www.w3.org/2018/credentials#' + +/** + * Produces JSON-LD readable representations of [[IContent]]['contents']. This is done by implicitly or explicitely transforming property keys to globally unique predicates. + * Where possible these predicates are taken directly from the Verifiable Credentials vocabulary. Properties that are unique to a [[MType]] are transformed to predicates by prepending the [[MType]][schema][$id]. + * + * @param content A (partial) [[IContent]] from to build a JSON-LD representation from. The `id` property is required. + * @param expanded Return an expanded instead of a compacted represenation. While property transformation is done explicitely in the expanded format, it is otherwise done implicitly via adding JSON-LD's reserved `@context` properties while leaving [[IContent]][contents] property keys untouched. + * @returns An object which can be serialized into valid JSON-LD representing an [[IContent]]'s ['contents']. + * @throws [[ERROR_SCHEMA_ID_NOT_PROVIDED]] in case the stream's ['id'] property is undefined. + */ +function JsonLDcontents( + content: PartialContent, + expanded = true +): Record { + const { schemaId, contents } = content + if (!schemaId) SDKErrors.ERROR_SCHEMA_ID_NOT_PROVIDED() + const vocabulary = `${getIdWithPrefix(schemaId)}#` + const result: Record = {} + //TODO: enable this after adding DID + // if (creator) result['@id'] = Did.getIdentifierFromAddress(creator) + if (!expanded) { + return { + ...result, + '@context': { '@vocab': vocabulary }, + ...contents, + } + } + Object.entries(contents || {}).forEach(([key, value]) => { + result[vocabulary + key] = value + }) + return result +} + +export function toJsonLD( + content: PartialContent, + expanded = true +): Record { + const credentialSubject = JsonLDcontents(content, expanded) + const prefix = expanded ? VC_VOCAB : '' + const result = { + [`${prefix}credentialSubject`]: credentialSubject, + } + result[`${prefix}credentialSchema`] = { + '@id': getIdWithPrefix(content.schemaId), + } + if (!expanded) result['@context'] = { '@vocab': VC_VOCAB } + return result +} + +function makeStatementsJsonLD(content: PartialContent): string[] { + const normalized = JsonLDcontents(content, true) + return Object.entries(normalized).map(([key, value]) => + JSON.stringify({ [key]: value }) + ) +} + +/** + * Produces salted hashes of individual statements comprising a (partial) [[IContent]] to enable selective disclosure of contents. Can also be used to reproduce hashes for the purpose of validation. + * + * @param content Full or partial [[IContent]] to produce statement hashes from. + * @param options Object containing optional parameters. + * @param options.canonicalisation Canonicalisation routine that produces an array of statement strings from the [IContent]. Default produces individual `{"key":"value"}` JSON representations where keys are transformed to expanded JSON-LD. + * @param options.nonces Optional map of nonces as produced by this function. + * @param options.nonceGenerator Nonce generator as defined by [[hashStatements]] to be used if no `nonces` are given. Default produces random UUIDs (v4). + * @param options.hasher The hasher to be used. Required but defaults to 256 bit blake2 over `${nonce}${statement}`. + * @returns An array of salted `hashes` and a `nonceMap` where keys correspond to unsalted statement hashes. + * @throws [[ERROR_STREAM_NONCE_MAP_MALFORMED]] if the nonceMap or the nonceGenerator was non-exhaustive for any statement. + */ +export function hashContents( + content: PartialContent, + options: Crypto.HashingOptions & { + canonicalisation?: (content: PartialContent) => string[] + } = {} +): { + hashes: string[] + nonceMap: Record +} { + // apply defaults + const defaults = { canonicalisation: makeStatementsJsonLD } + const canonicalisation = options.canonicalisation || defaults.canonicalisation + // use canonicalisation algorithm to make hashable statement strings + const statements = canonicalisation(content) + // iterate over statements to produce salted hashes + const processed = Crypto.hashStatements(statements, options) + // produce array of salted hashes to add to credential + const hashes = processed + .map(({ saltedHash }) => saltedHash) + .sort((a, b) => hexToBn(a).cmp(hexToBn(b))) + // produce nonce map, where each nonce is keyed with the unsalted hash + const nonceMap = {} + processed.forEach(({ digest, nonce, statement }) => { + // throw if we can't map a digest to a nonce - this should not happen if the nonce map is complete and the credential has not been tampered with + if (!nonce) throw SDKErrors.ERROR_CONTENT_NONCE_MAP_MALFORMED(statement) + nonceMap[digest] = nonce + }, {}) + return { hashes, nonceMap } +} + +/** + * Used to verify the hash list based proof over the set of disclosed attributes in a [[Stream]]. + * + * @param content Full or partial [[IContent]] to verify proof against. + * @param proof Proof consisting of a map that matches nonces to statement digests and the resulting hashes. + * @param proof.nonces A map where a statement digest as produces by options.hasher is mapped to a nonce. + * @param proof.hashes Array containing hashes which are signed into the credential. Should result from feeding statement digests and nonces in proof.nonce to options.hasher. + * @param options Object containing optional parameters. + * @param options.canonicalisation Canonicalisation routine that produces an array of statement strings from the [IContent]. Default produces individual `{"key":"value"}` JSON representations where keys are transformed to expanded JSON-LD. + * @param options.hasher The hasher to be used. Required but defaults to 256 bit blake2 over `${nonce}${statement}`. + * @returns `verified` is a boolean indicating whether the proof is valid. `errors` is an array of all errors in case it is not. + */ +export function verifyDisclosedAttributes( + content: PartialContent, + proof: { + nonces: Record + hashes: string[] + }, + options: Pick & { + canonicalisation?: (content: PartialContent) => string[] + } = {} +): { verified: boolean; errors: SDKErrors.SDKError[] } { + // apply defaults + const defaults = { canonicalisation: makeStatementsJsonLD } + const canonicalisation = options.canonicalisation || defaults.canonicalisation + const { nonces } = proof + // use canonicalisation algorithm to make hashable statement strings + const statements = canonicalisation(content) + // iterate over statements to produce salted hashes + const hashed = Crypto.hashStatements(statements, { ...options, nonces }) + // check resulting hashes + const digestsInProof = Object.keys(nonces) + return hashed.reduce<{ verified: boolean; errors: SDKErrors.SDKError[] }>( + (status, { saltedHash, statement, digest, nonce }) => { + // check if the statement digest was contained in the proof and mapped it to a nonce + if (!digestsInProof.includes(digest) || !nonce) { + status.errors.push(SDKErrors.ERROR_NO_PROOF_FOR_STATEMENT(statement)) + return { ...status, verified: false } + } + // check if the hash is whitelisted in the proof + if (!proof.hashes.includes(saltedHash)) { + status.errors.push( + SDKErrors.ERROR_INVALID_PROOF_FOR_STATEMENT(statement) + ) + return { ...status, verified: false } + } + return status + }, + { verified: true, errors: [] } + ) +} + +/** + * Checks whether the input meets all the required criteria of an [[IContent]] object. + * Throws on invalid input. + * + * @param input The potentially only partial IContent. + * @throws [[ERROR_SCHEMA_ID_NOT_PROVIDED]] when input's id do not exist. + * @throws [[ERROR_CONTENT_STREAM_MALFORMED]] when any of the input's contents[key] is not of type 'number', 'boolean' or 'string'. + * + */ +export function errorCheck(input: IContent | PartialContent): void { + if (!input.schemaId) { + throw SDKErrors.ERROR_SCHEMA_ID_NOT_PROVIDED() + } + if (input.creator) { + DataUtils.validateAddress(input.creator, 'Content Creator') + } + if (input.contents !== undefined) { + Object.entries(input.contents).forEach(([key, value]) => { + if ( + !key || + typeof key !== 'string' || + !['string', 'number', 'boolean', 'object'].includes(typeof value) + ) { + throw SDKErrors.ERROR_CONTENT_STREAM_MALFORMED() + } + }) + } + DataUtils.validateId(input.schemaId, 'Stream Schema') +} + +/** + * Compresses the [[IContent]] for storage and/or messaging. + * + * @param content An [[IContent]] object that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of a [[CompressedStream]]. + */ +export function compress(content: IContent): CompressedContent +/** + * Compresses the [[PartialStream]] for storage and/or messaging. + * + * @param stream A [[PartialStream]] object that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of a [[CompressedPartialStream]]. + */ +export function compress(content: PartialContent): CompressedPartialContent +export function compress( + content: IContent | PartialContent +): CompressedContent | CompressedPartialContent { + errorCheck(content) + let sortedContents + if (content.contents) { + sortedContents = jsonabc.sortObj(content.contents) + } + return [content.schemaId, content.creator, sortedContents] +} + +/** + * Decompresses the [[IContent]] from storage and/or message. + * + * @param content A [[CompressedContent]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when a [[CompressedContent]] is not an Array or it's length is unequal 3. + * @returns An [[IContent]] object that has the same properties as the [[CompressedStream]]. + */ +export function decompress(content: CompressedContent): IContent +/** + * Decompresses the Partial [[IContent]] from storage and/or message. + * + * @param content A [[CompressedPartialContent]] array that is reverted back into an object. + * @throws When a [[CompressedPartialContent]] is not an Array or it's length is unequal 3. + * @throws [[ERROR_DECOMPRESSION_ARRAY]]. + * @returns A [[PartialContent]] object that has the same properties as the [[CompressedPartialStream]]. + */ +export function decompress(content: CompressedPartialContent): PartialContent +export function decompress( + content: CompressedContent | CompressedPartialContent +): IContent | PartialContent { + if (!Array.isArray(content) || content.length !== 3) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('Stream') + } + return { + schemaId: content[0], + creator: content[1], + contents: content[2], + } +} diff --git a/packages/modules/src/content/index.ts b/packages/modules/src/content/index.ts new file mode 100644 index 00000000..7d6cfdc0 --- /dev/null +++ b/packages/modules/src/content/index.ts @@ -0,0 +1,2 @@ +export { Content } from './Content' +export * as ContentUtils from './Content.utils' diff --git a/packages/modules/src/contentstream/ContentStream.ts b/packages/modules/src/contentstream/ContentStream.ts new file mode 100644 index 00000000..897d9ffc --- /dev/null +++ b/packages/modules/src/contentstream/ContentStream.ts @@ -0,0 +1,309 @@ +/** + * A ContentStream represents [[Content]] which needs to be validated. + * + * @packageDocumentation + * @module ContentStream + */ + +import type { + IContentStream, + CompressedContentStream, + Hash, + IContent, + ICredential, +} from '@cord.network/types' +import { Crypto, SDKErrors } from '@cord.network/utils' +import * as ContentUtils from '../content/Content.utils' +import { Credential } from '../credential/Credential' +import Identity from '../identity/Identity' +import * as ContentStreamUtils from './ContentStream.utils' + +function verifyHolderSignature(content: IContentStream): boolean { + return Crypto.verify( + content.contentHash, + content.creatorSignature, + content.creator + ) +} + +function getHashRoot(leaves: Uint8Array[]): Uint8Array { + const result = Crypto.u8aConcat(...leaves) + return Crypto.hash(result) +} + +export type Options = { + proofs?: Credential[] + holder?: IContentStream['holder'] + link?: IContentStream['link'] +} +export class ContentStream implements IContentStream { + /** + * [STATIC] Builds an instance of [[ContentStream]], from a simple object with the same properties. + * Used for deserialization. + * + */ + public static fromRequest(content: IContentStream): ContentStream { + return new ContentStream(content) + } + + /** + * [STATIC] Builds a new instance of [[ContentStream]], from a complete set of required parameters. + * + * @param content An `IContentStream` object the request for mark is built for. + * @param identity The Holder's [[Identity]]. + * @param option Container for different options that can be passed to this method. + * @param option.proofs Array of [[Credential]] objects. + * @throws [[ERROR_IDENTITY_MISMATCH]] when streamInput's holder address does not match the supplied identity's address. + * @returns A new [[ContentStream]] object. + * @example ```javascript + * const input = ContentStream.fromStreamAndIdentity(content, alice); + * ``` + */ + public static fromStreamContent( + content: IContent, + creator: Identity, + { proofs, holder, link }: Options = {} + ): ContentStream { + if (content.creator !== creator.address) { + throw SDKErrors.ERROR_IDENTITY_MISMATCH() + } + + const { hashes: contentHashes, nonceMap: contentNonceMap } = + ContentUtils.hashContents(content) + + const contentHash = ContentStream.calculateRootHash({ + proofs, + contentHashes, + }) + + return new ContentStream({ + content, + contentHashes, + contentNonceMap, + proofs: proofs || [], + link, + creatorSignature: ContentStream.sign(creator, contentHash), + holder, + creator: creator.address, + contentHash, + id: ContentStreamUtils.getIdForContent(contentHash), + }) + } + + /** + * [STATIC] Custom Type Guard to determine input being of type IContentStream.. + * + * @param input - A potentially only partial [[]]. + * + * @returns Boolean whether input is of type IContentStream. + */ + public static isIContentStream(input: unknown): input is IContentStream { + try { + ContentStreamUtils.errorCheck(input as IContentStream) + } catch (error) { + return false + } + return true + } + + public content: IContent + public contentHashes: string[] + public contentNonceMap: Record + public proofs: Credential[] + public link: IContentStream['link'] + public creatorSignature: string + public holder: IContentStream['holder'] + public creator: IContentStream['creator'] + public contentHash: Hash + public id: string + + /** + * Builds a new [[ContentStream]] instance. + * + * @param requestForMarkInput - The base object from which to create the input. + * @example ```javascript + * // create a new request for mark + * const reqForAtt = new ContentStream(requestForMarkInput); + * ``` + */ + public constructor(requestForContentStream: IContentStream) { + ContentStreamUtils.errorCheck(requestForContentStream) + this.id = requestForContentStream.id + this.creator = requestForContentStream.creator + this.holder = requestForContentStream.holder + this.content = requestForContentStream.content + this.contentHashes = requestForContentStream.contentHashes + this.contentNonceMap = requestForContentStream.contentNonceMap + if ( + requestForContentStream.proofs && + Array.isArray(requestForContentStream.proofs) && + requestForContentStream.proofs.length + ) { + this.proofs = requestForContentStream.proofs.map((proof) => + Credential.fromCredential(proof) + ) + } else { + this.proofs = [] + } + this.creatorSignature = requestForContentStream.creatorSignature + this.contentHash = requestForContentStream.contentHash + this.link = requestForContentStream.link + this.verifySignature() + this.verifyData() + } + + /** + * Removes [[Content] properties from the [[ContentStream]] object, provides anonymity and security when building the [[createPresentation]] method. + * + * @param properties - Properties to remove from the [[Stream]] object. + * @throws [[ERROR_STREAM_HASHTREE_MISMATCH]] when a property which should be deleted wasn't found. + * @example ```javascript + * const rawStream = { + * name: 'Alice', + * age: 29, + * }; + * const stream = Stream.fromMTypeAndStreamContents(mtype, rawStream, alice); + * const reqForAtt = ContentStream.fromStreamAndIdentity({ + * stream, + * identity: alice, + * }); + * reqForAtt.removeStreamProperties(['name']); + * // reqForAtt does not contain `name` in its streamHashTree and its stream marks anymore. + * ``` + */ + public removeContentProperties(properties: string[]): void { + properties.forEach((key) => { + delete this.content.contents[key] + }) + this.contentNonceMap = ContentUtils.hashContents(this.content, { + nonces: this.contentNonceMap, + }).nonceMap + } + + /** + * Verifies the data of the [[ContentStream]] object; used to check that the data was not tampered with, by checking the data against hashes. + * + * @param input - The [[ContentStream]] for which to verify data. + * @returns Whether the data is valid. + * @throws [[ERROR_STREAM_NONCE_MAP_MALFORMED]] when any key of the stream marks could not be found in the streamHashTree. + * @throws [[ERROR_ROOT_HASH_UNVERIFIABLE]] or [[ERROR_SIGNATURE_UNVERIFIABLE]] when either the rootHash or the signature are not verifiable respectively. + * @example ```javascript + * const reqForAtt = ContentStream.fromStreamAndIdentity(stream, alice); + * ContentStream.verifyData(reqForAtt); // returns true if the data is correct + * ``` + */ + public static verifyData(input: IContentStream): boolean { + // check stream hash + if (!ContentStream.verifyRootHash(input)) { + throw SDKErrors.ERROR_ROOT_HASH_UNVERIFIABLE() + } + // check signature + if (!ContentStream.verifySignature(input)) { + throw SDKErrors.ERROR_SIGNATURE_UNVERIFIABLE() + } + + // verify properties against selective disclosure proof + const verificationResult = ContentUtils.verifyDisclosedAttributes( + input.content, + { + nonces: input.contentNonceMap, + hashes: input.contentHashes, + } + ) + // TODO: how do we want to deal with multiple errors during stream verification? + if (!verificationResult.verified) + throw ( + verificationResult.errors[0] || SDKErrors.ERROR_CONTENT_UNVERIFIABLE() + ) + + // check proofs + Credential.validateProofs(input.proofs) + + return true + } + + public verifyData(): boolean { + return ContentStream.verifyData(this) + } + + /** + * Verifies the signature of the [[ContentStream]] object. + * + * @param input - [[ContentStream]] . + * @returns Whether the signature is correct. + * @example ```javascript + * const reqForAtt = ContentStream.fromStreamAndIdentity({ + * stream, + * identity: alice, + * }); + * ContentStream.verifySignature(reqForAtt); // returns `true` if the signature is correct + * ``` + */ + public static verifySignature(input: IContentStream): boolean { + return verifyHolderSignature(input) + } + + public verifySignature(): boolean { + return ContentStream.verifySignature(this) + } + + public static verifyRootHash(input: IContentStream): boolean { + return input.contentHash === ContentStream.calculateRootHash(input) + } + + public verifyRootHash(): boolean { + return ContentStream.verifyRootHash(this) + } + + private static sign(identity: Identity, rootHash: Hash): string { + return identity.signStr(rootHash) + } + + private static getHashLeaves( + contentHashes: Hash[], + proofs: ICredential[] + ): Uint8Array[] { + const result: Uint8Array[] = [] + contentHashes.forEach((item) => { + result.push(Crypto.coToUInt8(item)) + }) + if (proofs) { + proofs.forEach((proof) => { + result.push(Crypto.coToUInt8(proof.content.id)) + }) + } + return result + } + + /** + * Compresses an [[ContentStream]] object. + * + * @returns An array that contains the same properties of an [[ContentStream]]. + */ + public compress(): CompressedContentStream { + return ContentStreamUtils.compress(this) + } + + /** + * [STATIC] Builds an [[ContentStream]] from the decompressed array. + * + * @param reqForAtt The [[CompressedContentStream]] that should get decompressed. + * @returns A new [[ContentStream]] object. + */ + public static decompress( + requestForStream: CompressedContentStream + ): ContentStream { + const decompressedContentStream = + ContentStreamUtils.decompress(requestForStream) + return ContentStream.fromRequest(decompressedContentStream) + } + + private static calculateRootHash(mark: Partial): Hash { + const hashes: Uint8Array[] = ContentStream.getHashLeaves( + mark.contentHashes || [], + mark.proofs || [] + ) + const root: Uint8Array = getHashRoot(hashes) + return Crypto.u8aToHex(root) + } +} diff --git a/packages/modules/src/contentstream/ContentStream.utils.ts b/packages/modules/src/contentstream/ContentStream.utils.ts new file mode 100644 index 00000000..d658621f --- /dev/null +++ b/packages/modules/src/contentstream/ContentStream.utils.ts @@ -0,0 +1,140 @@ +/** + * @packageDocumentation + * @module ContentStreamUtils + */ + +import type { + ICredential, + CompressedCredential, + CompressedContentStream, + IContentStream, +} from '@cord.network/types' +import { Crypto, DataUtils, SDKErrors } from '@cord.network/utils' +import * as CredentialUtils from '../credential/Credential.utils' +import * as ContentUtils from '../content/Content.utils' +import { ContentStream } from './ContentStream' + +/** + * Checks whether the input meets all the required criteria of an IContentStream object. + * Throws on invalid input. + * + * @param input - A potentially only partial [[IContentStream]]. + * + */ +export function errorCheck(input: IContentStream): void { + if (!input.content) { + throw SDKErrors.ERROR_MARK_STREAM_NOT_PROVIDED() + } else { + ContentUtils.errorCheck(input.content) + } + if (!input.proofs && !Array.isArray(input.proofs)) { + throw SDKErrors.ERROR_PROOFS_NOT_PROVIDED() + } + if (!input.contentNonceMap) { + throw SDKErrors.ERROR_STREAM_NONCE_MAP_NOT_PROVIDED() + } + if ( + typeof input.contentNonceMap !== 'object' || + Object.entries(input.contentNonceMap).some( + ([digest, nonce]) => + !digest || + !DataUtils.validateHash(digest, 'statement digest') || + typeof nonce !== 'string' || + !nonce + ) + ) { + throw SDKErrors.ERROR_STREAM_NONCE_MAP_MALFORMED() + } + ContentStream.verifyData(input as IContentStream) +} + +/** + * Compresses [[CordMark]]s which are made up from an [[Mark]] and [[ContentStream]] for storage and/or message. + * + * @param leg An array of [[Mark]] and [[ContentStream]] objects. + * + * @returns An ordered array of [[CordMark]]s. + */ + +export function compressProof(leg: ICredential[]): CompressedCredential[] { + return leg.map(CredentialUtils.compress) +} + +/** + * Decompresses [[CordMark]]s which are an [[Mark]] and [[ContentStream]] from storage and/or message. + * + * @param leg A compressed [[Mark]] and [[ContentStream]] array that is reverted back into an object. + * + * @returns An object that has the same properties as an [[CordMark]]. + */ + +function decompressProof(leg: CompressedCredential[]): ICredential[] { + return leg.map(CredentialUtils.decompress) +} + +/** + * Compresses a [[ContentStream]] for storage and/or messaging. + * + * @param contentStream A [[ContentStream]] object that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of a [[ContentStream]]. + */ + +export function compress( + contentStream: IContentStream +): CompressedContentStream { + errorCheck(contentStream) + return [ + ContentUtils.compress(contentStream.content), + contentStream.contentHashes, + contentStream.contentNonceMap, + contentStream.creatorSignature, + contentStream.holder, + contentStream.creator, + contentStream.link, + compressProof(contentStream.proofs), + contentStream.contentHash, + contentStream.id, + ] +} + +/** + * Decompresses a [[ContentStream]] from storage and/or message. + * + * @param contentStream A compressed [[ContentStream]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when reqForAtt is not an Array and it's length is not equal to the defined length of 8. + * + * @returns An object that has the same properties as a [[ContentStream]]. + */ + +export function decompress( + contentStream: CompressedContentStream +): IContentStream { + if (!Array.isArray(contentStream) || contentStream.length !== 10) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('Request for Stream Content') + } + return { + content: ContentUtils.decompress(contentStream[0]), + contentHashes: contentStream[1], + contentNonceMap: contentStream[2], + creatorSignature: contentStream[3], + holder: contentStream[4], + creator: contentStream[5], + link: contentStream[6], + proofs: decompressProof(contentStream[7]), + contentHash: contentStream[8], + id: contentStream[9], + } +} + +export function getIdForContent(hash: string, holder?: string): string { + const hashVal = { + hash, + holder, + } + return getIdWithPrefix(Crypto.hashObjectAsStr(hashVal)) +} + +export function getIdWithPrefix(hash: string): string { + return `cord:stream:${hash}` +} diff --git a/packages/modules/src/contentstream/index.ts b/packages/modules/src/contentstream/index.ts new file mode 100644 index 00000000..4c0bb212 --- /dev/null +++ b/packages/modules/src/contentstream/index.ts @@ -0,0 +1,2 @@ +export { ContentStream } from './ContentStream' +export * as ContentStreamUtils from './ContentStream.utils' diff --git a/packages/modules/src/cordconfig/CordConfig.ts b/packages/modules/src/cordconfig/CordConfig.ts new file mode 100644 index 00000000..4297b0af --- /dev/null +++ b/packages/modules/src/cordconfig/CordConfig.ts @@ -0,0 +1,37 @@ +/** + * CORD's core functionalities are exposed via connecting to its blockchain. + * + * To connect to the blockchain: + * ```Cord.connect('ws://localhost:9944');```. + * + * @packageDocumentation + * @module CordConfig + */ + +import { ConfigService } from '@cord.network/config' +import { ChainApiConnection, Chain } from '@cord.network/network' +import { Identity } from '../identity' + +export function connect(): Promise { + return ChainApiConnection.getConnectionOrConnect() +} + +export function config>( + configs: K +): void { + ConfigService.set(configs) +} + +/** + * Prepares crypto modules (required e.g. For identity creation) and calls Cord.config(). + * + * @param configs Arguments to pass on to Cord.config(). + * @returns Promise that must be awaited to assure crypto is ready. + */ +export async function init>( + configs?: K +): Promise { + config(configs || {}) + await Identity.cryptoWaitReady() +} +export const { disconnect } = ChainApiConnection diff --git a/packages/modules/src/cordconfig/index.ts b/packages/modules/src/cordconfig/index.ts new file mode 100644 index 00000000..dec882cd --- /dev/null +++ b/packages/modules/src/cordconfig/index.ts @@ -0,0 +1 @@ +export * from './CordConfig' diff --git a/packages/modules/src/credential/Credential.ts b/packages/modules/src/credential/Credential.ts new file mode 100644 index 00000000..c7c3ba2f --- /dev/null +++ b/packages/modules/src/credential/Credential.ts @@ -0,0 +1,236 @@ +/** + * In CORD, an [[MarkedStream]] is a **credential**, which a Holder can store locally and share with Verifiers as they wish. + * + * Once a [[RequestForMark]] has been made, the [[Stream]] can be built and the Issuer submits it wrapped in an [[MarkedStream]] object. + * This [[MarkedStream]] also contains the original request for mark. + * RequestForMark also exposes a [[createPresentation]] method, that can be used by the holder to hide some specific information from the verifier for more privacy. + * + * @packageDocumentation + * @module ContentStream + */ + +import type { + ICredential, + CompressedCredential, + IStream, + IContentStream, + IPresentationOptions, + IPresentationSigningOptions, +} from '@cord.network/types' +import { SDKErrors } from '@cord.network/utils' +import { Stream } from '../stream/Stream' +import { ContentStream } from '../contentstream/ContentStream' +import * as CredentialUtils from './Credential.utils' +import { Presentation, SignedPresentation } from './Presentation' + +export class Credential implements ICredential { + /** + * [STATIC] Builds an instance of [[MarkedStream]], from a simple object with the same properties. + * Used for deserialization. + * + * @param markedStreamInput - The base object from which to create the attested stream. + * @returns A new instantiated [[MarkedStream]] object. + * @example ```javascript + * // create an MarkedStream object, so we can call methods on it (`serialized` is a serialized MarkedStream object) + * MarkedStream.fromMarkedStream(JSON.parse(serialized)); + * ``` + */ + public static fromCredential(credStream: ICredential): Credential { + return new Credential(credStream) + } + + /** + * [STATIC] Builds a new instance of [[MarkedStream]], from all required properties. + * + * @param request - The request for mark for the stream that was attested. + * @param mark - The mark for the stream by the issuer. + * @returns A new [[MarkedStream]] object. + * @example ```javascript + * // create an MarkedStream object after receiving the mark from the issuer + * MarkedStream.fromRequestAndMark(request, mark); + * ``` + */ + public static fromStreamProperties( + request: IContentStream, + content: IStream + ): Credential { + return new Credential({ + request, + content, + }) + } + + /** + * [STATIC] Custom Type Guard to determine input being of type IMarkedStream using the MarkedStreamUtils errorCheck. + * + * @param input The potentially only partial IMarkedStream. + * + * @returns Boolean whether input is of type IMarkedStream. + */ + public static isICredential(input: unknown): input is ICredential { + try { + CredentialUtils.errorCheck(input as ICredential) + } catch (error) { + return false + } + return true + } + + public request: ContentStream + public content: Stream + + /** + * Builds a new [[MarkedStream]] instance. + * + * @param markedStreamInput - The base object with all required input, from which to create the attested stream. + * @example ```javascript + * // Create an `MarkedStream` upon successful `Stream` creation: + * const credential = new MarkedStream(markedStreamInput); + * ``` + */ + public constructor(credStream: ICredential) { + CredentialUtils.errorCheck(credStream) + this.request = ContentStream.fromRequest(credStream.request) + this.content = Stream.fromStream(credStream.content) + } + + /** + * (ASYNC) Verifies whether the attested stream is valid. It is valid if: + * * the data is valid (see [[verifyData]]); + * and + * * the [[Stream]] object for this attested stream is valid (see [[Stream.checkValidity]], where the **chain** is queried). + * + * Upon presentation of an attested stream, a verifier would call this [[verify]] function. + * + * @param markedStream - The attested stream to check for validity. + * @returns A promise containing whether this attested stream is valid. + * @example ```javascript + * markedStream.verify().then((isVerified) => { + * // `isVerified` is true if the mark is verified, false otherwise + * }); + * ``` + */ + public static async verify(credStream: ICredential): Promise { + return ( + Credential.verifyData(credStream) && + Stream.checkValidity(credStream.content) + ) + } + + public async verify(): Promise { + return Credential.verify(this) + } + + /** + * Verifies whether the data of the given attested stream is valid. It is valid if: + * * the [[RequestForMark]] object associated with this attested stream has valid data (see [[RequestForMark.verifyData]]); + * and + * * the hash of the [[RequestForMark]] object for the attested stream, and the hash of the [[Stream]] for the attested stream are the same. + * + * @param markedStream - The attested stream to verify. + * @returns Whether the attested stream's data is valid. + * @example ```javascript + * const verificationResult = markedStream.verifyData(); + * ``` + */ + public static verifyData(credStream: ICredential): boolean { + if (credStream.request.content.schemaId !== credStream.content.schema) + return false + return ( + credStream.request.contentHash === credStream.content.hash && + ContentStream.verifyData(credStream.request) + ) + } + + public verifyData(): boolean { + return Credential.verifyData(this) + } + + /** + * [STATIC] Verifies the data of each element of the given Array of IMarkedStreams. + * + * @param legitimations Array of IMarkedStreams to validate. + * @throws [[ERROR_LEGITIMATIONS_UNVERIFIABLE]] when one of the IMarkedStreams data is unable to be verified. + * + * @returns Boolean whether each element of the given Array of IMarkedStreams is verifiable. + */ + public static validateProofs(proofs: ICredential[]): boolean { + proofs.forEach((proof: ICredential) => { + if (!Credential.verifyData(proof)) { + throw SDKErrors.ERROR_LEGITIMATIONS_UNVERIFIABLE() + } + }) + return true + } + + /** + * Gets the hash of the stream that corresponds to this mark. + * + * @returns The hash of the stream for this mark (streamHash). + * @example ```javascript + * mark.getHash(); + * ``` + */ + public getHash(): string { + return this.content.hash + } + + public getId(): string { + return this.content.id + } + + public getAttributes(): Set { + // TODO: move this to stream or contents + return new Set(Object.keys(this.request.content.contents)) + } + + /** + * Creates a public presentation which can be sent to a verifier. + * + * @param publicAttributes All properties of the stream which have been requested by the verifier and therefore must be publicly presented. + * If kept empty, we hide all attributes inside the stream for the presentation. + * + * @returns A deep copy of the MarkedStream with all but `publicAttributes` removed. + */ + + public createPresentation({ + showAttributes, + hideAttributes = [], + signer, + request, + }: IPresentationOptions & Partial = {}): + | Presentation + | SignedPresentation { + const allAttributes = Array.from(this.getAttributes()) + const excludedProperties = showAttributes + ? allAttributes.filter((i) => !showAttributes.includes(i)) + : [] + excludedProperties.push(...hideAttributes) + const deepCopy = new Credential(JSON.parse(JSON.stringify(this))) + // console.dir(deepCopy, { depth: null, colors: true }) + + deepCopy.request.removeContentProperties(excludedProperties) + const signingOpts = request && signer ? { request, signer } : undefined + return Presentation.fromCredentials([deepCopy], signingOpts) + } + + /** + * Compresses an [[MarkedStream]] object. + * + * @returns An array that contains the same properties of an [[MarkedStream]]. + */ + public compress(): CompressedCredential { + return CredentialUtils.compress(this) + } + + /** + * [STATIC] Builds an [[MarkedStream]] from the decompressed array. + * + * @param markedStream The [[CompressedMarkedStream]] that should get decompressed. + * @returns A new [[MarkedStream]] object. + */ + public static decompress(credStream: CompressedCredential): Credential { + const decompressedCredential = CredentialUtils.decompress(credStream) + return Credential.fromCredential(decompressedCredential) + } +} diff --git a/packages/modules/src/credential/Credential.utils.ts b/packages/modules/src/credential/Credential.utils.ts new file mode 100644 index 00000000..147a219c --- /dev/null +++ b/packages/modules/src/credential/Credential.utils.ts @@ -0,0 +1,69 @@ +/** + * @packageDocumentation + * @module MarkedStreamUtils + */ + +import type { ICredential, CompressedCredential } from '@cord.network/types' +import { SDKErrors } from '@cord.network/utils' +import * as StreamUtils from '../stream/Stream.utils' +import * as ContentStreamUtils from '../contentstream/ContentStream.utils' +import { Credential } from './Credential' + +/** + * Checks whether the input meets all the required criteria of an IMarkedStream object. + * Throws on invalid input. + * + * @param input The potentially only partial IMarkedStream. + * @throws [[ERROR_MARK_NOT_PROVIDED]] or [[ERROR_RFA_NOT_PROVIDED]] when input's mark and request respectively do not exist. + * @throws [[ERROR_STREAM_UNVERIFIABLE]] when input's data could not be verified. + * + */ +export function errorCheck(input: ICredential): void { + if (input.content) { + StreamUtils.errorCheck(input.content) + } else throw SDKErrors.ERROR_MARK_NOT_PROVIDED() + + if (input.request) { + ContentStreamUtils.errorCheck(input.request) + } else throw SDKErrors.ERROR_RFA_NOT_PROVIDED() + + if (!Credential.verifyData(input as ICredential)) { + throw SDKErrors.ERROR_STREAM_UNVERIFIABLE() + } +} + +/** + * Compresses an [[MarkedStream]] object into an array for storage and/or messaging. + * + * @param markedStream An [[MarkedStream]] that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of an [[MarkedStream]] that comprises of an [[Mark]] and [[RequestForMark]] arrays. + */ + +export function compress(stream: ICredential): CompressedCredential { + errorCheck(stream) + + return [ + ContentStreamUtils.compress(stream.request), + StreamUtils.compress(stream.content), + ] +} + +/** + * Decompresses an [[MarkedStream]] array from storage and/or message into an object. + * + * @param markedStream A compressed [[Mark]] and [[RequestForMark]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when markedStream is not an Array or it's length is unequal 2. + * + * @returns An object that has the same properties as an [[MarkedStream]]. + */ + +export function decompress(stream: CompressedCredential): ICredential { + if (!Array.isArray(stream) || stream.length !== 2) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('Cord Mark') + } + return { + request: ContentStreamUtils.decompress(stream[0]), + content: StreamUtils.decompress(stream[1]), + } +} diff --git a/packages/modules/src/credential/Presentation.ts b/packages/modules/src/credential/Presentation.ts new file mode 100644 index 00000000..30a1fd2e --- /dev/null +++ b/packages/modules/src/credential/Presentation.ts @@ -0,0 +1,113 @@ +import { Crypto, DataUtils } from '@cord.network/utils' +import type { + ICredential, + IContentStream, + IIdentity, + IPresentation, + IPresentationSigningOptions, +} from '@cord.network/types' +import { Credential } from './Credential' + +function ensureCredentialOwnership( + credentials: ICredential[] +): IContentStream['holder'] { + const holders = credentials.reduce((owns, credential) => { + owns.add(credential.request.holder!) + return owns + }, new Set()) + if (holders.size !== 1) { + throw new Error( + 'all credentials in a presentation must be owned by one holder' + ) + } + const holder = holders.values().next().value + DataUtils.validateAddress(holder, 'credential holder') + return holder +} + +export type SignedPresentation = Presentation & + Pick, 'request' | 'signature'> + +export class Presentation implements IPresentation { + public credentials: Credential[] + public request?: string + // public purpose?: string + public signature?: string + // public validUntil?: number + + constructor({ + credentials, + // request, + // purpose, + signature, + }: // validUntil, + IPresentation) { + ensureCredentialOwnership(credentials) + this.credentials = credentials.map((i) => new Credential(i)) + // this.request = request + // this.purpose = purpose + this.signature = signature + // this.validUntil = validUntil + } + + public static fromPresentations( + presentations: IPresentation[], + signingOpts?: IPresentationSigningOptions + ): Presentation { + const credentials = ([] as ICredential[]).concat( + ...presentations.map((i) => i.credentials) + ) + const presentation = new Presentation({ + credentials, + }) + if (!signingOpts) return presentation + presentation.sign(signingOpts) + return presentation + } + + public static fromCredentials( + credentials: ICredential[], + options?: IPresentationSigningOptions + ): Presentation { + const presentation = new Presentation({ credentials }) + if (options) { + presentation.sign(options) + } + return presentation + } + + public sign({ + request, + signer, + }: IPresentationSigningOptions): SignedPresentation { + this.request = request + delete this.signature + const signature = signer.sign(Crypto.coToUInt8(JSON.stringify(this))) + this.signature = Crypto.u8aToHex(signature) + return this as SignedPresentation + } + + public isSigned(): this is SignedPresentation { + return !!this.signature + } + + public verifySignature(): boolean { + if (!this.isSigned()) return false + const claimsOwner = ensureCredentialOwnership(this.credentials) + const { signature, ...document } = this + return Crypto.verify(JSON.stringify(document), signature, claimsOwner!) + } + + public verifyData(): boolean { + if (this.isSigned() && !this.verifySignature()) return false + return this.credentials.every((cred) => cred.verifyData()) + } + + public async verify(): Promise { + if (this.isSigned() && !this.verifySignature()) return false + const results = await Promise.all( + this.credentials.map((cred) => cred.verify()) + ) + return results.every((r) => !!r) + } +} diff --git a/packages/modules/src/credential/index.ts b/packages/modules/src/credential/index.ts new file mode 100644 index 00000000..f0b17586 --- /dev/null +++ b/packages/modules/src/credential/index.ts @@ -0,0 +1,3 @@ +export { Credential } from './Credential' +export * as CredentialUtils from './Credential.utils' +export * as Presenation from './Presentation' diff --git a/packages/modules/src/did/Did.chain.ts b/packages/modules/src/did/Did.chain.ts new file mode 100644 index 00000000..2dd5bba4 --- /dev/null +++ b/packages/modules/src/did/Did.chain.ts @@ -0,0 +1,70 @@ +/** + * @packageDocumentation + * @module DID + */ + +import { Option } from '@polkadot/types' +import type { IPublicIdentity, SubmittableExtrinsic } from '@cord.network/types' +import { ChainApiConnection } from '@cord.network/network' +import type { IDid } from './Did' +import { + decodeDid, + getAddressFromIdentifier, + getIdentifierFromAddress, + IEncodedDidRecord, +} from './Did.utils' + +/** + * @param identifier + * @internal + */ +export async function queryByIdentifier( + identifier: IDid['identifier'] +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const address = getAddressFromIdentifier(identifier) + const decoded = decodeDid( + identifier, + await blockchain.api.query.did.dIDs>(address) + ) + return decoded +} + +/** + * @param address + * @internal + */ +export async function queryByAddress( + address: IPublicIdentity['address'] +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const identifier = getIdentifierFromAddress(address) + const decoded = decodeDid( + identifier, + await blockchain.api.query.did.dIDs>(address) + ) + return decoded +} + +/** + * @internal + */ +export async function remove(): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const tx: SubmittableExtrinsic = blockchain.api.tx.did.remove() + return tx +} + +/** + * @param did + * @internal + */ +export async function store(did: IDid): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const tx: SubmittableExtrinsic = blockchain.api.tx.did.add( + did.publicBoxKey, + did.publicSigningKey, + did.documentStore + ) + return tx +} diff --git a/packages/modules/src/did/Did.ts b/packages/modules/src/did/Did.ts new file mode 100644 index 00000000..da8838cf --- /dev/null +++ b/packages/modules/src/did/Did.ts @@ -0,0 +1,252 @@ +/** + * A Decentralized Identifier (DID) is a new type of identifier that is globally unique, resolvable with high availability, and cryptographically verifiable. + * Although it's not mandatory in CORD, users can optionally create a DID and anchor it to the CORD blockchain. + * + * Official DID specification: [[https://w3c-ccg.github.io/did-primer/]]. + * + * The [[Did]] class exposes methods to build, store and query decentralized identifiers. + * + * @packageDocumentation + * @module DID + * @preferred + */ + +import { AnyJson } from '@polkadot/types/types' +import type { IPublicIdentity, SubmittableExtrinsic } from '@cord.network/types' +import { ConfigService } from '@cord.network/config' +import Identity from '../identity/Identity' +import { queryByAddress, queryByIdentifier, remove, store } from './Did.chain' +import { + createDefaultDidDocument, + getAddressFromIdentifier, + getIdentifierFromAddress, + signDidDocument, + verifyDidDocumentSignature, +} from './Did.utils' + +const log = ConfigService.LoggingFactory.getLogger('DID') + +export const IDENTIFIER_PREFIX = 'did:cord:' +export const SERVICE_DWAY_MESSAGING = 'DwayMessagingService' +export const KEY_TYPE_SIGNATURE = 'Ed25519VerificationKey2018' +export const KEY_TYPE_ENCRYPTION = 'X25519Salsa20Poly1305Key2018' +export const KEY_TYPE_AUTHENTICATION = 'Ed25519SignatureAuthentication2018' +export const CONTEXT = 'https://w3id.org/did/v1' + +export interface IDid { + /** + * The DID identifier under which this DID object is stored on-chain. + */ + identifier: string + /** + * The public box key of the associated identity. + */ + publicBoxKey: string + /** + * The public signing key of the associated identity. + */ + publicSigningKey: string + /** + * The document store reference, usually a URL. + */ + documentStore: string | null +} +export interface IDidDocumentCore { + // id and context are the only mandatory properties, described as "MUST"s in the w3c spec https://w3c.github.io/did-core/ + id: string + '@context': string +} + +export interface IDidDocumentPublicKey { + id: string + type: string + controller: string + publicKeyHex: string +} + +export interface IDidDocumentProperties { + authentication: Array + publicKey: IDidDocumentPublicKey[] + service: IDidService[] +} + +export interface IDidService { + type: string + serviceEndpoint: string | AnyJson + id?: string + [key: string]: AnyJson +} + +export interface IDidDocument + extends IDidDocumentCore, + Partial {} + +export interface IDidDocumentSigned extends IDidDocument { + signature: string +} + +export default class Did implements IDid { + public readonly identifier: string + public readonly publicBoxKey: string + public readonly publicSigningKey: string + public readonly documentStore: string | null + + private constructor( + identifier: string, + publicBoxKey: string, + publicSigningKey: string, + documentStore: string | null = null + ) { + this.identifier = identifier + this.publicBoxKey = publicBoxKey + this.publicSigningKey = publicSigningKey + this.documentStore = documentStore + } + + /** + * [STATIC] Builds a [[Did]] object from the given [[Identity]]. + * + * @param identity The identity used to build the [[Did]] object. + * @param documentStore The storage location of the associated DID Document; usually a URL. + * @returns The [[Did]] object. + */ + public static fromIdentity(identity: Identity, documentStore?: string): Did { + const identifier = getIdentifierFromAddress(identity.address) + return new Did( + identifier, + identity.getBoxPublicKey(), + identity.signPublicKeyAsHex, + documentStore + ) + } + + /** + * [ASYNC] Stores the [[Did]] object on-chain. + * + * @returns A promise containing the unsigned SubmittableExtrinsic (transaction status). + */ + public async store(): Promise { + log.debug(`Create tx for 'did.add'`) + return store(this) + } + + /** + * [STATIC] Queries the [[Did]] object from the chain using the [identifier]. + * + * @param identifier A CORD DID identifier, e.g. "did:cord:5CtPYoDuQQF...". + * @returns A promise containing the [[Did]] or [null]. + */ + public static queryByIdentifier(identifier: string): Promise { + return queryByIdentifier(identifier) + } + + /** + * [STATIC] Queries the [[Did]] object from the chain using the [address]. + * + * @param address The address associated to this [[Did]]. + * @returns A promise containing the [[Did]] or [null]. + */ + public static queryByAddress(address: string): Promise { + return queryByAddress(address) + } + + /** + * [STATIC] Removes the [[Did]] object attached to a given [[Identity]] from the chain. + * + * @returns A promise containing an unsigned SubmittableExtrinsic (submittable transaction). + */ + public static async remove(): Promise { + log.debug(`Create tx for 'did.remove'`) + return remove() + } + + /** + * [STATIC] Gets the complete CORD DID from an [address] (in CORD, the method-specific ID is an address). Reverse of [[getAddressFromIdentifier]]. + * + * @param address An address, e.g. "5CtPYoDuQQF...". + * @returns The associated CORD DID identifier, e.g. "did:cord:5CtPYoDuQQF...". + */ + public static getIdentifierFromAddress( + address: IPublicIdentity['address'] + ): IDid['identifier'] { + return getIdentifierFromAddress(address) + } + + /** + * [STATIC] Gets the [address] from a complete CORD DID (in CORD, the method-specific ID is an address). Reverse of [[getIdentifierFromAddress]]. + * + * @param identifier A CORD DID identifier, e.g. "did:cord:5CtPYoDuQQF...". + * @returns The associated address, e.g. "5CtPYoDuQQF...". + */ + public static getAddressFromIdentifier( + identifier: IDid['identifier'] + ): IPublicIdentity['address'] { + return getAddressFromIdentifier(identifier) + } + + /** + * [STATIC] Signs (the hash of) a DID Document. + * + * @param didDocument A DID Document, e.g. Created via [[createDefaultDidDocument]]. + * @param identity [[Identity]] representing the DID subject for this DID Document, and used for signature. + * @returns The signed DID Document. + */ + public static signDidDocument( + didDocument: IDidDocument, + identity: Identity + ): IDidDocumentSigned { + return signDidDocument(didDocument, identity) + } + + /** + * [STATIC] Verifies the signature of a DID Document, to check whether the data has been tampered with. + * + * @param didDocument A signed DID Document. + * @param identifier A CORD DID identifier, e.g. "did:cord:5CtPYoDuQQF...". + * @returns Whether the DID Document's signature is valid. + */ + public static verifyDidDocumentSignature( + didDocument: IDidDocumentSigned, + identifier: string + ): boolean { + return verifyDidDocumentSignature(didDocument, identifier) + } + + /** + * Builds the default DID Document from this [[Did]] object. + * + * @param cordServiceEndpoint A URI pointing to the service endpoint. + * @returns The default DID Document. + */ + public createDefaultDidDocument(cordServiceEndpoint?: string): IDidDocument { + return createDefaultDidDocument( + this.identifier, + this.publicBoxKey, + this.publicSigningKey, + cordServiceEndpoint + ) + } + + /** + * [STATIC] Builds a default DID Document. + * + * @param identifier A CORD DID identifier, e.g. "did:cord:5CtPYoDuQQF...". + * @param publicBoxKey The public encryption key of the DID subject of this CORD DID identifier. + * @param publicSigningKey The public signing key of the DID subject of this CORD DID identifier. + * @param cordServiceEndpoint A URI pointing to the service endpoint. + * @returns The default DID Document. + */ + public static createDefaultDidDocument( + identifier: string, + publicBoxKey: string, + publicSigningKey: string, + cordServiceEndpoint?: string + ): IDidDocument { + return createDefaultDidDocument( + identifier, + publicBoxKey, + publicSigningKey, + cordServiceEndpoint + ) + } +} diff --git a/packages/modules/src/did/Did.utils.ts b/packages/modules/src/did/Did.utils.ts new file mode 100644 index 00000000..f9ab6e8f --- /dev/null +++ b/packages/modules/src/did/Did.utils.ts @@ -0,0 +1,165 @@ +/** + * @packageDocumentation + * @module DIDUtils + */ + +import type { Option, Struct, u8, Vec } from '@polkadot/types' +import type { IPublicIdentity } from '@cord.network/types' +import { Crypto, DecoderUtils, SDKErrors } from '@cord.network/utils' +import type { Hash } from '@polkadot/types/interfaces' +import { hexToString } from '@polkadot/util' +import Identity from '../identity/Identity' +import { + CONTEXT, + IDENTIFIER_PREFIX, + IDid, + IDidDocument, + IDidDocumentSigned, + KEY_TYPE_AUTHENTICATION, + KEY_TYPE_ENCRYPTION, + KEY_TYPE_SIGNATURE, + SERVICE_DWAY_MESSAGING, +} from './Did' + +export interface IEncodedDidRecord extends Struct { + readonly signKey: Hash + readonly boxKey: Hash + readonly docRef: Option> +} + +export function decodeDid( + identifier: string, + encoded: Option +): IDid | null { + DecoderUtils.assertCodecIsType(encoded, ['Option']) + if (encoded.isSome) { + const did = encoded.unwrap() + const documentStore = did.docRef.isSome + ? hexToString(did.docRef.unwrap().toHex()) + : null + return { + identifier, + publicSigningKey: did.signKey.toHex(), + publicBoxKey: did.boxKey.toHex(), + documentStore, + } + } + + return null +} + +export function getIdentifierFromAddress( + address: IPublicIdentity['address'] +): IDid['identifier'] { + return address.startsWith(IDENTIFIER_PREFIX) + ? address + : IDENTIFIER_PREFIX + address +} + +/** + * Fetches the root of this delegation node. + * + * @param identifier IDid identifier to derive it's address from. + * @throws When the identifier is not prefixed with the defined Cord IDENTIFIER_PREFIX. + * @throws [[ERROR_INVALID_DID_PREFIX]]. + * + * @returns The Address derived from the IDid Identifier. + */ +export function getAddressFromIdentifier( + identifier: IDid['identifier'] +): IPublicIdentity['address'] { + if (!identifier.startsWith(IDENTIFIER_PREFIX)) { + throw SDKErrors.ERROR_INVALID_DID_PREFIX(identifier) + } + return identifier.substr(IDENTIFIER_PREFIX.length) +} + +export function createDefaultDidDocument( + identifier: string, + publicBoxKey: string, + publicSigningKey: string, + cordServiceEndpoint?: string +): IDidDocument { + return { + id: identifier, + '@context': CONTEXT, + authentication: [ + { + type: KEY_TYPE_AUTHENTICATION, + publicKey: [`${identifier}#key-1`], + }, + ], + publicKey: [ + { + id: `${identifier}#key-1`, + type: KEY_TYPE_SIGNATURE, + controller: identifier, + publicKeyHex: publicSigningKey, + }, + { + id: `${identifier}#key-2`, + type: KEY_TYPE_ENCRYPTION, + controller: identifier, + publicKeyHex: publicBoxKey, + }, + ], + service: cordServiceEndpoint + ? [ + { + type: SERVICE_DWAY_MESSAGING, + serviceEndpoint: cordServiceEndpoint, + }, + ] + : [], + } +} + +/** + * Verifies the signature of a [[IDidDocumentSigned]]. + * + * @param didDocument [[IDidDocumentSigned]] to verify it's signature. + * @param identifier IDid identifier to match the IDidDocumentSigned id and to verify the signature with. + * @throws When didDocument and it's signature as well as the identifier are missing. + * @throws When identifier does not match didDocument's id. + * @throws [[ERROR_DID_IDENTIFIER_MISMATCH]]. + * + * @returns The Address derived from the IDid Identifier. + */ +export function verifyDidDocumentSignature( + didDocument: IDidDocumentSigned, + identifier: IDid['identifier'] +): boolean { + if (!didDocument || !didDocument.signature || !identifier) { + throw new Error( + `Missing data for verification (either didDocument, didDocumentHash, signature, or address is missing):\n + didDocument:\n + ${didDocument}\n + signature:\n + ${didDocument.signature}\n + address:\n + ${identifier}\n + ` + ) + } + const { id } = didDocument + if (identifier !== id) { + throw SDKErrors.ERROR_DID_IDENTIFIER_MISMATCH(identifier, id) + } + const { signature, ...unsignedDidDocument } = didDocument + return Crypto.verify( + Crypto.hashObjectAsStr(unsignedDidDocument), + signature, + getAddressFromIdentifier(identifier) + ) +} + +export function signDidDocument( + didDocument: IDidDocument, + identity: Identity +): IDidDocumentSigned { + const didDocumentHash = Crypto.hashObjectAsStr(didDocument) + return { + ...didDocument, + signature: identity.signStr(didDocumentHash), + } +} diff --git a/packages/modules/src/did/index.ts b/packages/modules/src/did/index.ts new file mode 100644 index 00000000..9ca5b85c --- /dev/null +++ b/packages/modules/src/did/index.ts @@ -0,0 +1,9 @@ +import Did, { + IDid, + IDidDocument, + IDidDocumentPublicKey, + IDidDocumentSigned, +} from './Did' + +export { Did, IDid, IDidDocument, IDidDocumentPublicKey, IDidDocumentSigned } +export default Did diff --git a/packages/modules/src/identity/Identity.spec.ts b/packages/modules/src/identity/Identity.spec.ts new file mode 100644 index 00000000..a2ad1a57 --- /dev/null +++ b/packages/modules/src/identity/Identity.spec.ts @@ -0,0 +1,145 @@ +/** + * @group unit/identity + */ + +import * as u8aUtil from '@polkadot/util/u8a' +import { Crypto } from '@cord.network/utils' +import Identity from './Identity' +import PublicIdentity from './PublicIdentity' + +describe('general', () => { + it('should fail creating identity based on invalid phrase', () => { + const phraseWithUnknownWord = + 'taxi toddler rally tonight certain tired program settle topple what execute stew' // stew instead of few + expect(() => + Identity.buildFromMnemonic(phraseWithUnknownWord) + ).toThrowError() + + const phraseTooLong = + 'taxi toddler rally tonight certain tired program settle topple what execute' + expect(() => Identity.buildFromMnemonic(phraseTooLong)).toThrowError() + }) + + it('should return instanceof PublicIdentity', () => { + const alice = Identity.buildFromURI('//Alice') + expect(alice.getPublicIdentity()).toBeInstanceOf(PublicIdentity) + }) +}) + +describe('ed25519', () => { + // https://polkadot.js.org/api/examples/promise/ + // testing to create correct demo accounts + it('should create known identities', () => { + const alice = Identity.buildFromURI('//Alice', { + signingKeyPairType: 'ed25519', + }) + + expect(alice.seedAsHex).toEqual('0x2f2f416c696365') + + expect(alice.address).toEqual( + '3wvaRWBFgEifBUN6z68fuosfPcWHismnVFv5dx5dFbdooUL8' + ) + + expect(u8aUtil.u8aToHex(alice.signKeyringPair.publicKey)).toEqual( + '0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee' + ) + }) + + it('should create different identities with random phrases', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ed25519', + }) + const bob = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ed25519', + }) + + expect(alice.signPublicKeyAsHex).not.toBeFalsy() + expect(alice.boxKeyPair.publicKey).not.toBeFalsy() + expect(alice.boxKeyPair.secretKey).not.toBeFalsy() + expect(alice.seed).not.toBeFalsy() + expect(alice.seedAsHex).not.toBeFalsy() + + expect(alice.signPublicKeyAsHex).not.toEqual(bob.signPublicKeyAsHex) + expect(alice.getBoxPublicKey()).not.toEqual(bob.getBoxPublicKey()) + expect(alice.boxKeyPair.secretKey).not.toEqual(bob.boxKeyPair.secretKey) + expect(alice.seed).not.toEqual(bob.seed) + expect(alice.seedAsHex).not.toEqual(bob.seedAsHex) + }) + + it('should restore identity based on phrase', () => { + const expectedPhrase = + 'taxi toddler rally tonight certain tired program settle topple what execute few' + const alice = Identity.buildFromMnemonic(expectedPhrase, { + signingKeyPairType: 'ed25519', + }) + + expect(alice.signPublicKeyAsHex).toEqual( + '0x89bd53e9cde92516291a674475f41cc3d66f3db97463c92252e5c5b575ab9d0c' + ) + + expect(u8aUtil.u8aToHex(alice.boxKeyPair.publicKey)).toEqual( + '0xac6f5e0780a4e38f1b2705eef3485e7a588b9ff98d7ee7222b7f1fed4d835145' + ) + expect(u8aUtil.u8aToHex(alice.boxKeyPair.secretKey)).toEqual( + '0x7329c426ed20a35f0486645f2f2b72f59db38319444c88c59c62108f50655261' + ) + }) + + it('should have different keys for signing and boxing', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ed25519', + }) + expect(Crypto.coToUInt8(alice.signPublicKeyAsHex)).not.toEqual( + alice.boxKeyPair.publicKey + ) + }) + + it('signs and verifies', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ed25519', + }) + expect(Crypto.verify('hello', alice.sign('hello'), alice.address)).toEqual( + true + ) + }) +}) + +describe('sr25519', () => { + it('should have different keys for signing and boxing', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'sr25519', + }) + expect(Crypto.coToUInt8(alice.signPublicKeyAsHex)).not.toEqual( + alice.boxKeyPair.publicKey + ) + }) + + it('signs and verifies', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'sr25519', + }) + expect(Crypto.verify('hello', alice.sign('hello'), alice.address)).toEqual( + true + ) + }) + + describe('ecdsa', () => { + it('should have different keys for signing and boxing', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ecdsa', + }) + expect(Crypto.coToUInt8(alice.signPublicKeyAsHex)).not.toEqual( + alice.boxKeyPair.publicKey + ) + }) + + it('signs and verifies', () => { + const alice = Identity.buildFromMnemonic(Identity.generateMnemonic(), { + signingKeyPairType: 'ecdsa', + }) + expect( + Crypto.verify('hello', alice.sign('hello'), alice.address) + ).toEqual(true) + }) + }) +}) diff --git a/packages/modules/src/identity/Identity.ts b/packages/modules/src/identity/Identity.ts new file mode 100644 index 00000000..b43c2a12 --- /dev/null +++ b/packages/modules/src/identity/Identity.ts @@ -0,0 +1,443 @@ +/** + * Identities are a core building block of the CORD SDK. + * An Identity object represent an **entity** - be it a person, an organization, a machine or some other entity. + * + * An Identity object can be built via a seed phrase or other. It has a signature keypair, an associated public address, and an encryption ("boxing") keypair. These are needed to: + * * create a signed [[Stream]], an [[Mark]] or other (and verify these later). + * * encrypt messages between participants. + * + * Note: A [[PublicIdentity]] object exposes only public information such as the public address, but doesn't expose any secrets such as private keys. + * + * @packageDocumentation + * @module Identity + */ + +import { Keyring } from '@polkadot/keyring' +import type { KeyringPair } from '@polkadot/keyring/types' +import type { Index } from '@polkadot/types/interfaces' +import type { KeypairType } from '@polkadot/util-crypto/types' +import { + cryptoIsReady, + cryptoWaitReady, + mnemonicToMiniSecret, +} from '@polkadot/util-crypto' +import { + mnemonicGenerate as generate, + mnemonicValidate as validate, +} from '@polkadot/util-crypto/mnemonic' +import { hexToU8a } from '@polkadot/util/hex' +import * as u8aUtil from '@polkadot/util/u8a' +// see node_modules/@polkadot/util-crypto/nacl/keypair/fromSeed.js +// as util-crypto is providing a wrapper only for signing keypair +// and not for box keypair, we use TweetNaCl directly +import nacl from 'tweetnacl' +import { Crypto, SDKErrors } from '@cord.network/utils' +import type { IIdentity, SubmittableExtrinsic } from '@cord.network/types' +import { AnyNumber } from '@polkadot/types/types' +import PublicIdentity from './PublicIdentity' + +type BoxPublicKey = + | PublicIdentity['boxPublicKeyAsHex'] + | Identity['boxKeyPair']['publicKey'] + +export default class Identity implements IIdentity { + private static ADDITIONAL_ENTROPY_FOR_HASHING = new Uint8Array([1, 2, 3]) + + /** + * [STATIC][ASYNC] Wait for intialization of cryptography modules. Identity creation will error for some key types if this is not called at least once beforehand. + * + * @returns A promise which resolves once crypto modules are initialized. + */ + public static cryptoWaitReady(): Promise { + return cryptoWaitReady() + } + + /** + * [STATIC] Indicates (synchronously) whether crypto modules have been initialized. This will rarely be needed; prefer awaiting the resolution of cryptoWaitReady() instead. + * + * @returns A boolean indicating whether crypto modules have been initialized. + */ + public static get cryptoIsReady(): boolean { + return cryptoIsReady() + } + + /** + * [STATIC] Generates Mnemonic phrase used to create identities from phrase seed. + * + * @returns Randomly generated [BIP39](https://www.npmjs.com/package/bip39) mnemonic phrase (Secret phrase). + * @example ```javascript + * Identity.generateMnemonic(); + * // returns: "coast ugly state lunch repeat step armed goose together pottery bind mention" + * ``` + */ + public static generateMnemonic(): string { + return generate() + } + + /** + * [STATIC] Builds an identity object from a mnemonic string. + * + * @param phraseArg - [BIP39](https://www.npmjs.com/package/bip39) Mnemonic word phrase (Secret phrase). + * @param options Optional parameters. + * @param options.signingKeyPairType The signature key type to be used for this identity. Default is `sr25519`. + * @throws [[ERROR_MNEMONIC_PHRASE_MALFORMED]] when phraseArg contains fewer than 12 correctly separated mnemonic words. + * @throws [[ERROR_MNEMONIC_PHRASE_INVALID]] when phraseArg could not be validated. + * @returns An [[Identity]]. + * @example ```javascript + * const mnemonic = Identity.generateMnemonic(); + * // mnemonic: "coast ugly state lunch repeat step armed goose together pottery bind mention" + * + * Identity.buildFromMnemonic(mnemonic); + * ``` + */ + public static buildFromMnemonic( + phraseArg: string, + options: { signingKeyPairType?: KeypairType } = {} + ): Identity { + let phrase = phraseArg + if (phrase) { + if (phrase.trim().split(/\s+/g).length < 12) { + // https://www.npmjs.com/package/bip39 + throw SDKErrors.ERROR_MNEMONIC_PHRASE_MALFORMED() + } + } else { + phrase = generate() + } + + if (!validate(phrase)) { + throw SDKErrors.ERROR_MNEMONIC_PHRASE_INVALID() + } + + const seed = mnemonicToMiniSecret(phrase) + return Identity.buildFromSeed(seed, options) + } + + /** + * [STATIC] Builds an [[Identity]], generated from a seed hex string. + * + * @param seedArg - Seed as hex string (Starting with 0x). + * @param options Optional parameters. + * @param options.signingKeyPairType The signature key type to be used for this identity. Default is `sr25519`. + * @returns An [[Identity]]. + * @example ```javascript + * const seed = + * '0x6ce9fd060c70165c0fc8da25810d249106d5df100aa980e0d9a11409d6b35261'; + * Identity.buildFromSeedString(seed); + * ``` + */ + public static buildFromSeedString( + seedArg: string, + options: { signingKeyPairType?: KeypairType } = {} + ): Identity { + const asU8a = hexToU8a(seedArg) + return Identity.buildFromSeed(asU8a, options) + } + + private static createKeyring(type: KeypairType = 'sr25519'): Keyring { + return new Keyring({ + type, + // CORD has registered the ss58 prefix 29 + ss58Format: 29, + }) + } + + /** + * [STATIC] Builds a new [[Identity]], generated from a seed (Secret Seed). + * + * @param seed - A seed as an Uint8Array with 24 arbitrary numbers. + * @param options Optional parameters. + * @param options.signingKeyPairType The signature key type to be used for this identity. Default is `sr25519`. + * @returns An [[Identity]]. + * @example ```javascript + * // prettier-ignore + * const seed = new Uint8Array([108, 233, 253, 6, 12, 112, 22, 92, + * 15, 200, 218, 37, 129, 13, 36, 145, + * 6, 213, 223, 16, 10, 169, 128, 224, + * 217, 161, 20, 9, 214, 179, 82, 97 + * ]); + * Identity.buildFromSeed(seed); + * ``` + */ + public static buildFromSeed( + seed: Uint8Array, + options: { signingKeyPairType?: KeypairType } = {} + ): Identity { + const keyring = Identity.createKeyring(options.signingKeyPairType) + const keyringPair = keyring.addFromSeed(seed) + return new Identity(seed, keyringPair) + } + + /** + * [STATIC] Builds a new [[Identity]], generated from a uniform resource identifier (URIs). + * + * @param uri - Standard identifiers. + * @param options Optional parameters. + * @param options.signingKeyPairType The signature key type to be used for this identity. Default is `sr25519`. + * @returns An [[Identity]]. + * @example ```javascript + * Identity.buildFromURI('//Bob'); + * ``` + */ + public static buildFromURI( + uri: string, + options: { signingKeyPairType?: KeypairType } = {} + ): Identity { + const keyring = Identity.createKeyring(options.signingKeyPairType) + const derived = keyring.createFromUri(uri) + const seed = u8aUtil.u8aToU8a(uri) + return new Identity(seed, derived) + } + + public readonly seed: Uint8Array + public readonly seedAsHex: string + public readonly signPublicKeyAsHex: string + public readonly signKeyringPair: KeyringPair + public readonly boxKeyPair: nacl.BoxKeyPair + public serviceAddress?: string + + protected constructor(seed: Uint8Array, signKeyringPair: KeyringPair) { + // NB: use different secret keys for each key pair in order to avoid + // compromising both key pairs at the same time if one key becomes public + // Maybe use BIP32 and BIP44 + const seedAsHex = u8aUtil.u8aToHex(seed) + + const boxKeyPair = Identity.createBoxKeyPair(seed) + + this.seed = seed + this.seedAsHex = seedAsHex + + this.signKeyringPair = signKeyringPair + this.signPublicKeyAsHex = u8aUtil.u8aToHex(signKeyringPair.publicKey) + + this.boxKeyPair = boxKeyPair + } + + public get signingKeyType(): KeypairType { + return this.signKeyringPair.type + } + + /** + * Returns the [[PublicIdentity]] (identity's address and public key) of the Identity. + * Can be given to third-parties to communicate and process signatures. + * + * @returns The [[PublicIdentity]], corresponding to the [[Identity]]. + * @example ```javascript + * const mnemonic = Identity.generateMnemonic(); + * const alice = Cord.Identity.buildFromMnemonic(mnemonic); + * alice.getPublicIdentity(); + * ``` + */ + public getPublicIdentity(): PublicIdentity { + return new PublicIdentity( + this.signKeyringPair.address, + u8aUtil.u8aToHex(this.boxKeyPair.publicKey), + this.serviceAddress + ) + } + + /** + * Get the address of the identity on the blockchain. + * + * @returns The on chain address. + */ + public get address(): string { + return this.signKeyringPair.address + } + + /** + * Get the public encryption key. + * + * @returns The public part of the encryption key. + */ + public getBoxPublicKey(): string { + return u8aUtil.u8aToHex(this.boxKeyPair.publicKey) + } + + /** + * Signs data with an [[Identity]] object's key. + * + * @param cryptoInput - The data to be signed. + * @returns The signed data. + * @example ```javascript + * const mnemonic = Identity.generateMnemonic(); + * const alice = Identity.buildFromMnemonic(mnemonic); + * const data = 'This is a test'; + * alice.sign(data); + * // (output) Uint8Array [ + * // 205, 120, 29, 236, 152, 144, 114, 133, 65, ... + * // ] + * ``` + */ + public sign(cryptoInput: Crypto.CryptoInput): Uint8Array { + return Crypto.sign(cryptoInput, this.signKeyringPair) + } + + /** + * Signs data with an [[Identity]] object's key and returns it as string. + * + * @param cryptoInput - The data to be signed. + * @returns The signed data. + * @example ```javascript + * identity.signStr(data); + * ``` + */ + public signStr(cryptoInput: Crypto.CryptoInput): string { + return Crypto.signStr(cryptoInput, this.signKeyringPair) + } + + /** + * Encrypts data asymmetrically and returns it as string. + * + * @param cryptoInput - The data to be encrypted. + * @param boxPublicKey - The public key of the receiver of the encrypted data. + * @returns The encrypted data. + * @example ```javascript + * const alice = Identity.buildFromMnemonic('car dog ...'); + * const bob = new PublicIdentity('523....', '0xab1234...'); + * + * const messageStr = 'This is a test'; + * alice.encryptAsymmetricAsStr(messageStr, bob.boxPublicKeyAsHex); + * // (output) EncryptedAsymmetricString { + * // box: '0xd0b556c4438270901662ff2d3e9359f244f211a225d66dcf74b64f814a92', + * // nonce: '0xe4c82d261d1f8fc8a0cf0bbd524530afcc5b201541827580' + * // } + * ``` + */ + public encryptAsymmetricAsStr( + cryptoInput: Crypto.CryptoInput, + boxPublicKey: BoxPublicKey + ): Crypto.EncryptedAsymmetricString { + return Crypto.encryptAsymmetricAsStr( + cryptoInput, + boxPublicKey, + this.boxKeyPair.secretKey + ) + } + + /** + * Decrypts data asymmetrical and returns it as string. + * + * @param encrypted - The encrypted data. + * @param boxPublicKey - The public key of the sender of the encrypted data. + * @returns The decrypted data. + * @example ```javascript + * const alice = new PublicIdentity('74be...', '0xeb98765...'); + * const bob = Identity.buildFromMnemonic('house cat ...'); + * + * const encryptedData = { + * box: '0xd0b556c4438270901662ff2d3e9359f244f211a225d66dcf74b64f814a92', + * nonce: '0xe4c82d261d1f8fc8a0cf0bbd524530afcc5b201541827580', + * }; + * + * bob.decryptAsymmetricAsStr(encryptedData, alice.boxPublicKeyAsHex); + * // (output) "This is a test" + * ``` + */ + public decryptAsymmetricAsStr( + encrypted: Crypto.EncryptedAsymmetric | Crypto.EncryptedAsymmetricString, + boxPublicKey: BoxPublicKey + ): string | false { + return Crypto.decryptAsymmetricAsStr( + encrypted, + boxPublicKey, + this.boxKeyPair.secretKey + ) + } + + /** + * Encrypts data asymmetrically and returns it as a byte array. + * + * @param input - The data to be encrypted. + * @param boxPublicKey - The public key of the receiver of the encrypted data. + * @returns The encrypted data. + * @example ```javascript + * const alice = Identity.buildFromMnemonic('car dog ...'); + * const bob = new PublicIdentity('523....', '0xab1234...'); + * + * const message = 'This is a test'; + * const data = stringToU8a(message); + * alice.encryptAsymmetric(data, bob.boxPublicKeyAsHex); + * // (output) EncryptedAsymmetric { + * // box: Uint8Array [ 56, 27, 2, 254, ... ], + * // nonce: Uint8Array [ 76, 23, 145, 216, ...] + * // } + * ``` + */ + public encryptAsymmetric( + input: Crypto.CryptoInput, + boxPublicKey: BoxPublicKey + ): Crypto.EncryptedAsymmetric { + return Crypto.encryptAsymmetric( + input, + boxPublicKey, + this.boxKeyPair.secretKey + ) + } + + /** + * Decrypts data asymmetrical and returns it as a byte array. + * + * @param encrypted - The encrypted data. + * @param boxPublicKey - The public key of the sender of the encrypted data. + * @returns The decrypted data. + * @example ```javascript + * const alice = new PublicIdentity('74be...', '0xeb98765...'); + * const bob = Identity.buildFromMnemonic('house cat ...'); + * + * const encryptedData = { + * box: '0xd0b556c4438270901662ff2d3e9359f244f211a225d66dcf74b64f814a92', + * nonce: '0xe4c82d261d1f8fc8a0cf0bbd524530afcc5b201541827580', + * }; + * + * bob.decryptAsymmetric(encryptedData, alice.boxPublicKeyAsHex); + * // (output) "This is a test" + * ``` + */ + public decryptAsymmetric( + encrypted: Crypto.EncryptedAsymmetric | Crypto.EncryptedAsymmetricString, + boxPublicKey: BoxPublicKey + ): false | Uint8Array { + return Crypto.decryptAsymmetric( + encrypted, + boxPublicKey, + this.boxKeyPair.secretKey + ) + } + + /** + * Signs a submittable extrinsic (transaction), in preparation to pushing it to the blockchain. + * + * @param submittableExtrinsic - A chain transaction. + * @param nonce - The nonce of the address operating the transaction. + * @param tip - (Optional) The amount of Femto-CORD to tip the validator. + * @returns The signed SubmittableExtrinsic. + * @example ```javascript + * const alice = Identity.buildFromMnemonic('car dog ...'); + * const tx = await blockchain.api.tx.mtype.anchor(mtype.hash); + * await blockchain.signTx(alice, tx); // calls signSubmittableExtrinsic internally + * ``` + */ + public async signSubmittableExtrinsic( + submittableExtrinsic: SubmittableExtrinsic, + nonce: AnyNumber | Index, + tip?: AnyNumber + ): Promise { + return submittableExtrinsic.signAsync(this.signKeyringPair, { + nonce, + tip, + }) + } + + // As nacl.box.keyPair.fromSeed() is not implemented here we do our own hashing in order to prohibit inferring the original seed from a secret key + // To be sure that we don't generate the same hash by accidentally using the same hash algorithm we do some padding + private static createBoxKeyPair(seed: Uint8Array): nacl.BoxKeyPair { + const paddedSeed = new Uint8Array( + seed.length + Identity.ADDITIONAL_ENTROPY_FOR_HASHING.length + ) + paddedSeed.set(seed) + paddedSeed.set(Identity.ADDITIONAL_ENTROPY_FOR_HASHING, seed.length) + + const hash = Crypto.hash(paddedSeed) + return nacl.box.keyPair.fromSecretKey(hash) + } +} diff --git a/packages/modules/src/identity/PublicIdentity.ts b/packages/modules/src/identity/PublicIdentity.ts new file mode 100644 index 00000000..1a5f6f21 --- /dev/null +++ b/packages/modules/src/identity/PublicIdentity.ts @@ -0,0 +1,227 @@ +/** + * A [[PublicIdentity]] object exposes only public information such as the public address, but doesn't expose any secrets such as private keys. + * + * @packageDocumentation + * @module PublicIdentity + */ + +import type { IPublicIdentity } from '@cord.network/types' +import Did, { + IDENTIFIER_PREFIX, + KEY_TYPE_ENCRYPTION, + SERVICE_DWAY_MESSAGING, +} from '../did/Did' +import { getAddressFromIdentifier } from '../did/Did.utils' + +export interface IURLResolver { + resolve(url: string): Promise | null> +} + +type DIDPublicKey = { + id: string + type: string + publicKeyHex: string +} + +type DIDService = { + id: string + type: string + serviceEndpoint: string +} + +type DIDDocument = { + id: string + publicKey: DIDPublicKey[] + service: DIDService[] +} + +type DIDResult = { + didDocument: DIDDocument +} + +function isDIDDocument(object: Record): object is DIDDocument { + const didDocument = object as DIDDocument + return !!didDocument.id && !!didDocument.publicKey && !!didDocument.service +} + +function isDIDResult(object: Record): object is DIDResult { + return isDIDDocument((object as DIDResult).didDocument) +} + +export default class PublicIdentity implements IPublicIdentity { + /** + * [STATIC] Creates a new Public Identity from a DID document (DID - Decentralized Identifiers: https://w3c-ccg.github.io/did-spec/). + * + * @param didDocument - Contains the public key, external ID and service endpoint. + * @returns A new [[PublicIdentity]] object. + * @example ```javascript + * const didDocument = { + * id: 'did:cord:1234567', + * authentication: [ + * { + * type: 'Ed25519SignatureAuthentication2018', + * publicKey: ['did:cord:1234567#key-1'], + * }, + * ], + * publicKey: [ + * { + * id: 'did:cord:1234567#key-1', + * type: 'Ed25519VerificationKey2018', + * controller: 'did:cord:1234567', + * publicKeyHex: '0x25346245...', + * }, + * { + * id: 'did:cord:1234567#key-2', + * type: 'X25519Salsa20Poly1305Key2018', + * controller: 'did:cord:1234567', + * publicKeyHex: '0x98765456...', + * }, + * ], + * service: [ + * { + * type: 'DwayMessagingService', + * serviceEndpoint: 'http://services.dway.io/messaging', + * }, + * ], + * }; + * PublicIdentity.fromDidDocument(didDocument); + * ``` + */ + public static fromDidDocument( + didDocument: Record + ): IPublicIdentity | null { + if (!isDIDDocument(didDocument)) { + return null + } + + try { + return new PublicIdentity( + didDocument.id.startsWith(IDENTIFIER_PREFIX) + ? getAddressFromIdentifier(didDocument.id) + : didDocument.id, + this.getJSONProperty( + didDocument, + 'publicKey', + 'type', + KEY_TYPE_ENCRYPTION, + 'publicKeyHex' + ), + this.getJSONProperty( + didDocument, + 'service', + 'type', + SERVICE_DWAY_MESSAGING, + 'serviceEndpoint' + ) + ) + } catch (e) { + return null + } + } + + /** + * [STATIC] [ASYNC] Resolves a decentralized identifier (DID) into a [[PublicIdentity]]. + * + * @param identifier - The Decentralized Identifier to be resolved. + * @param urlResolver - A URL resolver, which is used to query the did document. + * @returns A new [[PublicIdentity]] object. + * @example ```javascript + * const urlResolver = { + * resolve: (url: string) => { + * return fetch(url).then((response) => response.json()); + * }, + * }; + * const identifier = 'did:cord:1234567'; + * PublicIdentity.resolveFromDid(identifier, urlResolver); + * ``` + */ + public static async resolveFromDid( + identifier: string, + urlResolver: IURLResolver + ): Promise { + if (identifier.startsWith(IDENTIFIER_PREFIX)) { + const did = await Did.queryByIdentifier(identifier) + if (did !== null) { + const didDocument = did.documentStore + ? await urlResolver.resolve(did.documentStore) + : null + // TODO: check, if did document is complete + if (didDocument) { + return this.fromDidDocument(didDocument) + } + return new PublicIdentity( + getAddressFromIdentifier(did.identifier), + did.publicBoxKey + ) + } + } else { + const didResult = await urlResolver.resolve( + `https://uniresolver.io/1.0/identifiers/${encodeURIComponent( + identifier + )}` + ) + if (didResult && isDIDResult(didResult)) { + return this.fromDidDocument(didResult.didDocument) + } + } + return null + } + + /** + * The SS58 account address of the identity on the CORD blockchain. + */ + public readonly address: IPublicIdentity['address'] + + /** + * The public encryption key, encoded as a hexadecimal string. + */ + public readonly boxPublicKeyAsHex: IPublicIdentity['boxPublicKeyAsHex'] + + /** + * The URL where the identity can be reached at. + */ + public readonly serviceAddress?: IPublicIdentity['serviceAddress'] + + /** + * Builds a new [[PublicIdentity]] instance. + * + * @param address - A public address. + * @param boxPublicKeyAsHex - The public encryption key. + * @param serviceAddress - The address of the service used to retrieve the DID. + * @example ```javascript + * const identity = new PublicIdentity(address, boxPublicKeyAsHex, serviceAddress); + * ``` + */ + public constructor( + address: IPublicIdentity['address'], + boxPublicKeyAsHex: IPublicIdentity['boxPublicKeyAsHex'], + serviceAddress?: IPublicIdentity['serviceAddress'] + ) { + this.address = address + this.boxPublicKeyAsHex = boxPublicKeyAsHex + this.serviceAddress = serviceAddress + } + + private static getJSONProperty( + did: Record, + listProperty: string, + filterKey: string, + filterValue: string, + property: string + ): string { + if (!did[listProperty]) { + throw Error() + } + const listOfObjects: Array> = did[listProperty] + + const correctObj = listOfObjects.find((object) => { + return object[filterKey] && object[filterKey] === filterValue + }) + + if (correctObj && correctObj[property]) { + return correctObj[property] + } + + throw new Error() + } +} diff --git a/packages/modules/src/identity/index.ts b/packages/modules/src/identity/index.ts new file mode 100644 index 00000000..b91d887d --- /dev/null +++ b/packages/modules/src/identity/index.ts @@ -0,0 +1,5 @@ +import Identity from './Identity' +import PublicIdentity, { IURLResolver } from './PublicIdentity' + +export { Identity, PublicIdentity, IURLResolver } +export default Identity diff --git a/packages/modules/src/index.ts b/packages/modules/src/index.ts new file mode 100644 index 00000000..8f30404e --- /dev/null +++ b/packages/modules/src/index.ts @@ -0,0 +1,17 @@ +export { Schema, SchemaMetadata, TypeSchema, SchemaUtils } from './schema' +export { Balance, BalanceUtils } from './balance' +export { Content, ContentUtils } from './content' +export { Stream, StreamUtils } from './stream' +export { ContentStream, ContentStreamUtils } from './contentstream' +export { Credential, CredentialUtils, Presenation } from './credential' +export { Identity, IURLResolver, PublicIdentity } from './identity' +export { + Did, + IDid, + IDidDocument, + IDidDocumentPublicKey, + IDidDocumentSigned, +} from './did' + +export { connect, disconnect, config, init } from './cordconfig' +export { SDKErrors } from '@cord.network/utils' diff --git a/packages/modules/src/schema/Schema.chain.ts b/packages/modules/src/schema/Schema.chain.ts new file mode 100644 index 00000000..a574758b --- /dev/null +++ b/packages/modules/src/schema/Schema.chain.ts @@ -0,0 +1,131 @@ +/** + * @packageDocumentation + * @module Schema + */ + +import { Option, Struct, Vec, u8 } from '@polkadot/types' +import type { AccountId, BlockNumber, Hash } from '@polkadot/types/interfaces' +import type { + ISchema, + ISchemaDetails, + IPublicIdentity, + SubmittableExtrinsic, +} from '@cord.network/types' +import { DecoderUtils } from '@cord.network/utils' +import { ConfigService } from '@cord.network/config' +import { ChainApiConnection } from '@cord.network/network' +import { SchemaDetails } from './Schema' +import StreamUtils from '../stream/Stream.utils' + +const log = ConfigService.LoggingFactory.getLogger('Schema') + +/** + * Generate the extrinsic to store the provided [[ISchema]]. + * + * @param schema The schema to anchor on the chain. + * @returns The [[SubmittableExtrinsic]] for the `create` call. + */ + +export async function store( + schema: ISchema, + cid: string +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + + log.debug(() => `Create tx for 'schema'`) + const tx: SubmittableExtrinsic = blockchain.api.tx.schema.create( + schema.schema.$id, + schema.creator, + schema.hash, + cid, + schema.permissioned + ) + return tx +} +export interface AnchoredSchemaDetails extends Struct { + readonly schema_hash: Hash + readonly cid: Option> + readonly pcid: Option> + readonly creator: AccountId + readonly block: BlockNumber + readonly permissioned: boolean + readonly revoked: boolean +} + +function decodeSchema( + encodedSchema: Option, + schemaId: string +): SchemaDetails | null { + DecoderUtils.assertCodecIsType(encodedSchema, [ + 'Option', + ]) + if (encodedSchema.isSome) { + const anchoredSchema = encodedSchema.unwrap() + const schema: ISchemaDetails = { + id: schemaId, + schema_hash: anchoredSchema.schema_hash.toString(), + cid: anchoredSchema.cid + ? StreamUtils.hexToString(anchoredSchema.cid.toString()) + : null, + pcid: anchoredSchema.pcid + ? StreamUtils.hexToString(anchoredSchema.pcid.toString()) + : null, + creator: anchoredSchema.creator.toString(), + block: anchoredSchema.block.toString(), + permissioned: anchoredSchema.permissioned.valueOf(), + revoked: anchoredSchema.revoked.valueOf(), + } + return SchemaDetails.fromSchemaDetails(schema) + } + return null +} + +async function queryRaw( + schemaId: string +): Promise> { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const result = await blockchain.api.query.schema.schemas< + Option + >(schemaId) + return result +} + +/** + * @param identifier + * @internal + */ +export async function query(schemaId: string): Promise { + const encoded = await queryRaw(schemaId) + return decodeSchema(encoded, schemaId) +} + +/** + * @param identifier + * @internal + */ +export async function set_status( + streamId: string, + creator: string, + status: boolean +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + log.debug(() => `Revoking stream with ID ${streamId}`) + const tx: SubmittableExtrinsic = blockchain.api.tx.schema.set_status( + streamId, + creator, + status + ) + return tx +} + +/** + * @param id + * @internal + */ +export async function getOwner( + id: ISchema['id'] +): Promise { + const encoded = await queryRaw(id) + const queriedSchemaAccount = decodeSchema(encoded, id) + return queriedSchemaAccount!.creator +} diff --git a/packages/modules/src/schema/Schema.ts b/packages/modules/src/schema/Schema.ts new file mode 100644 index 00000000..72932b7a --- /dev/null +++ b/packages/modules/src/schema/Schema.ts @@ -0,0 +1,247 @@ +/** + * Schema. + * + * * A Schema is a description of the [[Stream]] data structure, based on [JSON Schema](http://json-schema.org/). + * * Schemas are published and stored by the creator. + * * Permissioned users can use a Schema to create a new [[Stream]]. + * + * @packageDocumentation + * @module Schema + * @preferred + */ + +import type { + IContent, + ISchema, + ISchemaDetails, + CompressedSchemaType, + SchemaWithoutId, + SubmittableExtrinsic, +} from '@cord.network/types' +import { set_status, query, store } from './Schema.chain' +import * as SchemaUtils from './Schema.utils' + +export class Schema implements ISchema { + /** + * [STATIC] [ASYNC] Queries the chain for a given stream entry, by `identifier`. + * + * @param identifier - The identifier of the stream. + * @returns A promise containing the [[StreamStream] or null. + * @example ```javascript + * Stream.query('0xd8024cdc147c4fa9221cd177').then((stream) => { + * // now we can for example revoke `stream` + * }); + * ``` + */ + public static async query(identifier: string): Promise { + return query(identifier) + } + + /** + * [STATIC] [ASYNC] Revokes a stream stream Also available as an instance method. + * @param identifier - The ID of the stream stream. + * @param status - bool value to set the status of the stream stream. + * @returns A promise containing the unsigned SubmittableExtrinsic (submittable transaction). + * @example ```javascript + * Stream.revoke('0xd8024cdc147c4fa9221cd177', true).then(() => { + * // the stream status tx was created, sign and send it! + * ChainUtils.signAndSendTx(tx, identity); + * }); + * ``` + */ + public static async set_status( + identifier: string, + creator: string, + status: boolean + ): Promise { + return set_status(identifier, creator, status) + } + + /** + * [STATIC] Clone an already existing [[Schema]] + * or initializes from an [[ISchema]] object + * which has non-initialized and non-verified Schema data. + * + * @param schemaInput The [[Schema]] which shall be cloned. + * @returns A copy of the given [[Schema]]. + */ + public static fromSchemaType(schemaInput: ISchema): Schema { + return new Schema(schemaInput) + } + + /** + * [STATIC] Creates a new [[Schema]] from an [[ISchemaType]]. + * _Note_ that you can either supply the schema without the id as + * [[SchemaWithoutId]] will automatically generate it. + * + * @param schema The JSON schema from which the [[Schema]] should be generated. + * @param creator The public SS58 address of the creator of the [[Schema]]. + * @param schema The identity of the space to which the schema is linked.. + * @returns An instance of [[Schema]]. + */ + public static fromSchemaProperties( + schema: SchemaWithoutId | ISchema['schema'], + creator: ISchema['creator'] + ): Schema { + return new Schema({ + id: SchemaUtils.getIdForSchema(SchemaUtils.getHashForSchema(schema)), + hash: SchemaUtils.getHashForSchema(schema), + creator: creator, + schema: { + $id: SchemaUtils.getSchemaId( + SchemaUtils.getIdForSchema(SchemaUtils.getHashForSchema(schema)) + ), + ...schema, + }, + permissioned: true, + revoked: false, + }) + } + + /** + * [STATIC] Custom Type Guard to determine input being of type ISchema using the SchemaUtils errorCheck. + * + * @param input The potentially only partial ISchema. + * @returns Boolean whether input is of type ISchema. + */ + static isISchema(input: unknown): input is ISchema { + try { + SchemaUtils.errorCheck(input as ISchema) + } catch (error) { + return false + } + return true + } + + public id: ISchema['id'] + public hash: ISchema['hash'] + public creator: ISchema['creator'] + public schema: ISchema['schema'] + public permissioned: ISchema['permissioned'] + public revoked: ISchema['revoked'] + + public constructor(schemaInput: ISchema) { + SchemaUtils.errorCheck(schemaInput) + this.id = schemaInput.id + this.hash = schemaInput.hash + this.creator = schemaInput.creator + this.schema = schemaInput.schema + this.permissioned = schemaInput.permissioned + this.revoked = schemaInput.revoked + } + + /** + * [ASYNC] Stores the [[Schema]] on the blockchain. + * + * @param schemaCId The IPFS CID of the schema. + * @returns A promise of a unsigned SubmittableExtrinsic. + */ + public async store(cid: string): Promise { + return store(this, cid) + } + + /** + * [ASYNC] Set status (active/revoked) a journal stream. + * + * @param status - bool value to set the status of the journal stream. + * @returns A promise containing the unsigned SubmittableExtrinsic (submittable transaction). + * @example ```javascript + * stream.set_status(false).then((tx) => { + * // the stream entry status tx was created, sign and send it! + * ChainUtils.signAndSendTx(tx, identity); + * }); + * ``` + */ + public async set_status(status: boolean): Promise { + return set_status(this.id, this.creator, status) + } + + /** + * Verifies whether a [[Stream]] follows this [[Schema]] definition. + * + * @param stream The [[Stream]] we want to check against. + * @returns Whether the [[Stream]] and the [[Schema]] align. + */ + public verifyContentStructure(content: IContent): boolean { + return SchemaUtils.verifySchema(content.contents, this.schema) + } + + /** + * [ASYNC] Check whether the [[Schema]]'s hash has been registered to the blockchain. + * + * @returns Whether the [[Schema]] hash is registered to the blockchain. + */ + public async verifyStored(): Promise { + return SchemaUtils.verifyStored(this) + } + + /** + * [ASYNC] Check whether the current owner of [[Schema]] matches the one stored on the blockchain. Returns true if: + * - The [[Schema]] is registered on-chain + * - The owner property of the [[Schema]] matches the registered owner + * If the owner property is not set this method will always return false because the blockchain always stores the + * submitter as owner. + * + * @returns Whether the owner of this [[Schema]] matches the one stored on the blockchain. + */ + public async verifyOwner(): Promise { + return SchemaUtils.verifyOwner(this) + } + + /** + * Compresses an [[Schema]] object. + * + * @returns An array that contains the same properties of an [[Schema]]. + */ + + public compress(): CompressedSchemaType { + return SchemaUtils.compress(this) + } + + /** + * [STATIC] Builds a [[Schema]] from the decompressed array. + * + * @param schema The [[CompressedSchema]] that should get decompressed. + * @returns A new [[Schema]] object. + */ + public static decompress(schema: CompressedSchemaType): Schema { + const decompressedSchemaType = SchemaUtils.decompress(schema) + return Schema.fromSchemaType(decompressedSchemaType) + } +} + +export class SchemaDetails implements ISchemaDetails { + public static fromSchemaDetails(input: ISchemaDetails): SchemaDetails { + return new SchemaDetails(input) + } + /** + * Builds a new [[Schema]] instance. + * + * @param stream - The base object from which to create the stream. + * @example ```javascript + * // create an stream, e.g. to store it on-chain + * const stream = new Schema(stream); + * ``` + */ + + public id: ISchemaDetails['id'] + public schema_hash: ISchemaDetails['schema_hash'] + public cid: ISchemaDetails['cid'] + public pcid: ISchemaDetails['pcid'] + public creator: ISchemaDetails['creator'] + public block: ISchemaDetails['block'] + public permissioned: ISchemaDetails['permissioned'] + public revoked: ISchemaDetails['revoked'] + + public constructor(details: ISchemaDetails) { + // SchemaUtils.errorCheck(details) + this.id = details.id + this.schema_hash = details.schema_hash + this.cid = details.cid + this.pcid = details.pcid + this.creator = details.creator + this.block = details.block + this.permissioned = details.permissioned + this.revoked = details.revoked + } +} diff --git a/packages/modules/src/schema/Schema.utils.ts b/packages/modules/src/schema/Schema.utils.ts new file mode 100644 index 00000000..b7057c31 --- /dev/null +++ b/packages/modules/src/schema/Schema.utils.ts @@ -0,0 +1,262 @@ +/** + * @packageDocumentation + * @module SchemaUtils + */ + +import Ajv from 'ajv' +import type { + ISchema, + IContent, + CompressedSchema, + CompressedSchemaType, +} from '@cord.network/types' +import { jsonabc, Crypto, DataUtils, SDKErrors } from '@cord.network/utils' +import { getOwner } from './Schema.chain' +import { SchemaModel, SchemaWrapperModel } from './TypeSchema' + +export function verifySchemaProperties( + object: Record, + schema: Record, + messages?: string[] +): boolean { + const ajv = new Ajv() + ajv.addMetaSchema(SchemaModel) + const result = ajv.validate(schema, object) + if (!result && ajv.errors) { + if (messages) { + ajv.errors.forEach((error: Ajv.ErrorObject) => { + if (typeof error.message === 'string') { + messages.push(error.message) + } + }) + } + } + return !!result +} + +export function verifySchema( + object: Record, + schema: Record +): boolean { + return verifySchemaProperties(object, schema) +} + +/** + * Verifies the structure of the provided IStream['contents'] with ISchema['schema']. + * + * @param streamContents IStream['contents'] to be verified against the schema. + * @param schema ISchema['schema'] to be verified against the [SchemaModel]. + * @throws [[ERROR_OBJECT_MALFORMED]] when schema does not correspond to the SchemaModel. + * + * @returns Boolean whether both streamContents and schema could be verified. + */ +export function verifyContentProperties( + contents: IContent['contents'], + schema: ISchema['schema'] +): boolean { + if (!verifySchema(schema, SchemaModel)) { + throw SDKErrors.ERROR_OBJECT_MALFORMED() + } + return verifySchema(contents, schema) +} + +export async function verifyStored(schema: ISchema): Promise { + return typeof (await getOwner(schema.id)) === 'string' +} + +export async function verifyOwner(schema: ISchema): Promise { + const creator = await getOwner(schema.id) + return creator ? creator === schema.creator : false +} + +type schemaPropsForHashing = { + $schema: ISchema['schema']['$schema'] + properties: ISchema['schema']['properties'] + name: ISchema['schema']['name'] + type: ISchema['schema']['type'] +} + +export function getHashForSchema(schema: schemaPropsForHashing): string { + const hashVal = { + $schema: schema.$schema, + properties: schema.properties, + name: schema.name, + type: schema.type, + } + return Crypto.hashObjectAsStr(hashVal) +} + +export function getIdForSchema(hash: string): string { + return getIdWithPrefix(Crypto.hashObjectAsStr(hash)) +} + +export function getIdWithPrefix(hash: string): string { + return `cord:schema:${hash}` +} + +export function getSchemaId(id: string): string { + return id.split('cord:schema:').join('') +} + +/** + * Checks whether the input meets all the required criteria of an ISchema object. + * Throws on invalid input. + * + * @param input The potentially only partial ISchema. + * @throws [[ERROR_OBJECT_MALFORMED]] when input does not correspond to either it's schema, or the SchemaWrapperModel. + * @throws [[ERROR_HASH_MALFORMED]] when the input's hash does not match the hash calculated from ISchema's schema. + * @throws [[ERROR_MTYPE_OWNER_TYPE]] when the input's owner is not of type string or null. + * + */ +export function errorCheck(input: ISchema): void { + if (!verifySchema(input, SchemaWrapperModel)) { + throw SDKErrors.ERROR_OBJECT_MALFORMED() + } + if (!input.schema || getHashForSchema(input.schema) !== input.hash) { + throw SDKErrors.ERROR_HASH_MALFORMED(input.hash, 'Schema') + } + if (getSchemaId(getIdForSchema(input.hash)) !== input.schema.$id) { + throw SDKErrors.ERROR_SCHEMA_ID_NOT_MATCHING( + getIdForSchema(input.hash), + input.schema.$id + ) + } + if ( + typeof input.creator === 'string' + ? !DataUtils.validateAddress(input.creator, 'Schema creator') + : !(input.creator === null) + ) { + throw SDKErrors.ERROR_SCHEMA_CONTROLLER_TYPE() + } +} + +/** + * Compresses a [[Schema]] for storage and/or messaging. + * + * @param typeSchema A [[Schema]] object that will be sorted and stripped for messaging or storage. + * @throws [[ERROR_COMPRESS_OBJECT]] when any of the four required properties of the typeSchema are missing. + * + * @returns An ordered array of a [[SchemaType]] schema. + */ + +export function compressSchema( + typeSchema: ISchema['schema'] +): CompressedSchema { + if ( + !typeSchema.$id || + !typeSchema.$schema || + !typeSchema.name || + !typeSchema.properties || + !typeSchema.type + ) { + throw SDKErrors.ERROR_COMPRESS_OBJECT(typeSchema, 'TypeSchema') + } + const sortedTypeSchema = jsonabc.sortObj(typeSchema) + return [ + sortedTypeSchema.$id, + sortedTypeSchema.$schema, + sortedTypeSchema.name, + sortedTypeSchema.properties, + sortedTypeSchema.type, + ] +} + +/** + * Decompresses a schema of a [[Schema]] from storage and/or message. + * + * @param typeSchema A compressed [[Schema]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when either the typeSchema is not an Array or it's length is not equal to the defined length of 5. + * + * @returns An object that has the same properties as a [[Schema]]. + */ + +export function decompressSchema( + typeSchema: CompressedSchema +): ISchema['schema'] { + if (!Array.isArray(typeSchema) || typeSchema.length !== 5) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('typeSchema') + } + return { + $id: typeSchema[0], + $schema: typeSchema[1], + name: typeSchema[2], + properties: typeSchema[3], + type: typeSchema[4], + } +} + +/** + * Compresses a [[Schema]] for storage and/or messaging. + * + * @param schema [[Schema]] object that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of a [[Schema]]. + */ + +export function compress(schema: ISchema): CompressedSchemaType { + errorCheck(schema) + return [ + schema.id, + schema.hash, + schema.creator, + schema.permissioned, + schema.revoked, + compressSchema(schema.schema), + ] +} + +/** + * Decompresses a [[Schema]] from storage and/or message. + * + * @param schema A compressed [[Schema]] array that is reverted back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when either the schema is not an Array or it's length is not equal to the defined length of 4. + * + * @returns An object that has the same properties as a [[Schema]]. + */ + +export function decompress(schema: CompressedSchemaType): ISchema { + if (!Array.isArray(schema) || schema.length !== 6) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('Schema') + } + return { + id: schema[0], + hash: schema[1], + creator: schema[2], + permissioned: schema[3], + revoked: schema[4], + schema: decompressSchema(schema[5]), + } +} + +/** + * Validates an array of [[Schema]s against a [[Stream]]. + * + * @param schema - A [[Schema]] that has nested [[Schema]]s inside. + * @param nestedSchemas - An array of [[Schema]]s. + * @param streamContents - The contents of a [[Stream]] to be validated. + * @param messages + * + * @returns Whether the contents is valid. + */ + +export function validateNestedSchemas( + schema: ISchema['schema'], + nestedSchemas: Array, + streamContents: Record, + messages?: string[] +): boolean { + const ajv = new Ajv() + ajv.addMetaSchema(SchemaModel) + const validate = ajv.addSchema(nestedSchemas).compile(schema) + const result = validate(streamContents) + if (!result && ajv.errors) { + if (messages) { + ajv.errors.forEach((error: Ajv.ErrorObject) => { + if (typeof error.message === 'string') { + messages.push(error.message) + } + }) + } + } + return !!result +} diff --git a/packages/modules/src/schema/SchemaMetadata.ts b/packages/modules/src/schema/SchemaMetadata.ts new file mode 100644 index 00000000..0302324d --- /dev/null +++ b/packages/modules/src/schema/SchemaMetadata.ts @@ -0,0 +1,33 @@ +/** + * @packageDocumentation + * @module SchemaMetadata + */ + +import type { ISchemaMetadata } from '@cord.network/types' +import { SDKErrors } from '@cord.network/utils' +import * as SchemaUtils from './Schema.utils' +import { MetadataModel } from './TypeSchema' + +export class SchemaMetadata implements ISchemaMetadata { + public id: ISchemaMetadata['id'] + public hash: ISchemaMetadata['hash'] + public link: ISchemaMetadata['link'] + public metadata: ISchemaMetadata['metadata'] + + /** + * Instantiates a new SchemaMetadata. + * + * @param metadata [[ISchemaMetadata]] that is to be instantiated. + * @throws [[ERROR_OBJECT_MALFORMED]] when metadata is not verifiable with the MetadataModel. + * @returns The verified and instantiated [[SchemaMetadata]]. + */ + public constructor(metadata: ISchemaMetadata) { + if (!SchemaUtils.verifySchema(metadata, MetadataModel)) { + throw SDKErrors.ERROR_OBJECT_MALFORMED() + } + this.metadata = metadata.metadata + this.id = metadata.id + this.hash = metadata.hash + this.link = metadata.link + } +} diff --git a/packages/modules/src/schema/TypeSchema.ts b/packages/modules/src/schema/TypeSchema.ts new file mode 100644 index 00000000..c5357dc2 --- /dev/null +++ b/packages/modules/src/schema/TypeSchema.ts @@ -0,0 +1,172 @@ +/** + * @packageDocumentation + * @module TypeSchema + */ + +export const SchemaModel = { + $id: 'http://dway.io/draft-01/schema#', + $schema: 'http://json-schema.org/draft-07/schema#', + type: 'object', + properties: { + $id: { + type: 'string', + }, + $schema: { + type: 'string', + format: 'uri', + const: 'http://json-schema.org/draft-07/schema#', + }, + name: { + type: 'string', + }, + type: { + type: 'string', + const: 'object', + }, + properties: { + type: 'object', + patternProperties: { + '^.*$': { + type: 'object', + properties: { + type: { + type: 'string', + enum: ['string', 'integer', 'number', 'boolean'], + }, + $ref: { + type: 'string', + format: 'uri', + }, + format: { + type: 'string', + enum: ['date', 'time', 'uri'], + }, + }, + additionalProperties: false, + oneOf: [ + { + required: ['type'], + }, + { + required: ['$ref'], + }, + ], + }, + }, + }, + }, + additionalProperties: false, + required: ['$id', 'name', '$schema', 'properties', 'type'], +} + +export const SchemaWrapperModel = { + $id: 'http://dway.io/draft-01/schema-wrapper#', + $schema: 'http://json-schema.org/draft-07/schema#', + type: 'object', + properties: { + schema: { + type: 'object', + properties: SchemaModel.properties, + required: SchemaModel.required, + }, + creator: { type: ['string', 'null'] }, + id: { type: 'string', format: 'uri', pattern: '^cord:schema:0x[0-9a-f]+$' }, + hash: { + type: 'string', + }, + permissioned: { type: 'boolean' }, + revoked: { type: 'boolean' }, + }, + additionalProperties: false, + required: ['schema', 'id', 'hash'], +} + +export const MetadataModel = { + $id: 'http://dway.io/draft-01/schema-metadata', + $schema: 'http://json-schema.org/draft-07/schema#', + type: 'object', + properties: { + metadata: { + type: 'object', + properties: { + name: { + type: 'object', + properties: { + default: { + type: 'string', + }, + }, + patternProperties: { + '^.*$': { + type: 'string', + }, + }, + required: ['default'], + }, + description: { + type: 'object', + properties: { + default: { + type: 'string', + }, + }, + patternProperties: { + '^.*$': { + type: 'string', + }, + }, + required: ['default'], + }, + properties: { + type: 'object', + properties: {}, + patternProperties: { + '^.*$': { + type: 'object', + properties: { + name: { + type: 'object', + properties: { + default: { + type: 'string', + }, + }, + patternProperties: { + '^.*$': { + type: 'string', + }, + }, + required: ['default'], + }, + description: { + type: 'object', + properties: { + default: { + type: 'string', + }, + }, + patternProperties: { + '^.*$': { + type: 'string', + }, + }, + required: ['default'], + }, + }, + required: ['name'], + additionalProperties: false, + }, + }, + }, + }, + required: ['name', 'properties'], + additionalProperties: false, + }, + id: { type: 'string', minLength: 1 }, + hash: { type: 'string', minLength: 1 }, + permissioned: { type: 'boolean' }, + revoked: { type: 'boolean' }, + }, + required: ['metadata', 'id', 'hash'], + additionalProperties: false, +} diff --git a/packages/modules/src/schema/index.ts b/packages/modules/src/schema/index.ts new file mode 100644 index 00000000..e55bb205 --- /dev/null +++ b/packages/modules/src/schema/index.ts @@ -0,0 +1,4 @@ +export { Schema } from './Schema' +export * as SchemaUtils from './Schema.utils' +export { SchemaMetadata } from './SchemaMetadata' +export * as TypeSchema from './TypeSchema' diff --git a/packages/modules/src/stream/Stream.chain.ts b/packages/modules/src/stream/Stream.chain.ts new file mode 100644 index 00000000..62939368 --- /dev/null +++ b/packages/modules/src/stream/Stream.chain.ts @@ -0,0 +1,121 @@ +/** + * @packageDocumentation + * @module Stream + */ +import { Option, Struct, Vec, u8 } from '@polkadot/types' +import type { + IStream, + IStreamDetails, + SubmittableExtrinsic, +} from '@cord.network/types' +import { DecoderUtils } from '@cord.network/utils' +import type { AccountId, BlockNumber, Hash } from '@polkadot/types/interfaces' +import { ConfigService } from '@cord.network/config' +import { ChainApiConnection } from '@cord.network/network' +import { StreamDetails } from './Stream' +import * as StreamUtils from './Stream.utils' + +const log = ConfigService.LoggingFactory.getLogger('Mark') + +/** + * Generate the extrinsic to store the provided [[IStream]]. + * + * @param stream The stream to anchor on the chain. + * @returns The [[SubmittableExtrinsic]] for the `create` call. + */ +export async function store(stream: IStream): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const tx: SubmittableExtrinsic = blockchain.api.tx.stream.create( + stream.id, + stream.creator, + stream.hash, + stream.cid, + stream.schema, + stream.link + ) + return tx +} +export interface AnchoredStreamDetails extends Struct { + readonly streamHash: Hash + readonly cid: Option> + readonly parent_cid: Option> + readonly link: Option + readonly schema: Option + readonly creator: AccountId + readonly block: BlockNumber + readonly revoked: boolean +} + +function decodeStream( + encodedStream: Option, + streamId: string +): StreamDetails | null { + DecoderUtils.assertCodecIsType(encodedStream, [ + 'Option', + ]) + if (encodedStream.isSome) { + const anchoredStream = encodedStream.unwrap() + const stream: IStreamDetails = { + id: streamId, + streamHash: anchoredStream.streamHash.toString(), + cid: anchoredStream.cid + ? StreamUtils.hexToString(anchoredStream.cid.toString()) + : null, + parent_cid: anchoredStream.parent_cid + ? StreamUtils.hexToString(anchoredStream.parent_cid.toString()) + : null, + schema: anchoredStream.schema.toString() || null, + link: anchoredStream.link.toString() || null, + creator: anchoredStream.creator.toString(), + block: anchoredStream.block.toString(), + revoked: anchoredStream.revoked.valueOf(), + } + + return StreamDetails.fromStreamDetails(stream) + } + return null +} + +async function queryRaw( + streamId: string +): Promise> { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + const result = await blockchain.api.query.stream.streams< + Option + >(streamId) + return result +} + +/** + * Query a stream from the chain given the stream Id. + * + * @param streamId The Id of the stream anchored. + * @returns Either the retrieved [[StreamDetails]] or null. + */ +export async function query(streamId: string): Promise { + const encoded = await queryRaw(streamId) + return decodeStream(encoded, streamId) +} + +/** + * Generate the extrinsic to set the status of a given stream. The submitter can be the owner of the stream or an authorized delegator of the schema. + * + * @param streamId The stream Is. + * @param creator The submitter + * @param status The stream status + * @returns The [[SubmittableExtrinsic]] for the `set_status` call. + */ +export async function set_status( + streamId: string, + creator: string, + status: boolean +): Promise { + const blockchain = await ChainApiConnection.getConnectionOrConnect() + log.debug(() => `Revoking stream with ID ${streamId}`) + const tx: SubmittableExtrinsic = blockchain.api.tx.stream.set_status( + streamId, + creator, + status + ) + return tx +} diff --git a/packages/modules/src/stream/Stream.ts b/packages/modules/src/stream/Stream.ts new file mode 100644 index 00000000..ec818c8f --- /dev/null +++ b/packages/modules/src/stream/Stream.ts @@ -0,0 +1,262 @@ +/** + * A [[Stream]] creates a sharable stream. [[Stream]]s are **written on the CORD chain** and are **revocable**. + * The [[Stream]] streams can be used as the base for [[Link]] streams. + * + * @packageDocumentation + * @module Stream + * @preferred + */ + +import type { SubmittableExtrinsic } from '@polkadot/api/promise/types' +import type { + // IPublicIdentity, + IStream, + IStreamDetails, + IContentStream, + CompressedStream, +} from '@cord.network/types' +import { set_status, query, store } from './Stream.chain' +import * as StreamUtils from './Stream.utils' +// import Storage from '@cord.network/storage' +// import SchemaUtils from '../schema/Schema.utils' + +export class Stream implements IStream { + /** + * [STATIC] [ASYNC] Queries the chain for a given stream entry, by `identifier`. + * + * @param identifier - The identifier of the stream. + * @returns A promise containing the [[StreamStream] or null. + * @example ```javascript + * Stream.query('0xd8024cdc147c4fa9221cd177').then((stream) => { + * // now we can for example revoke `stream` + * }); + * ``` + */ + public static async query(identifier: string): Promise { + return query(identifier) + } + + /** + * [STATIC] [ASYNC] Revokes a stream stream Also available as an instance method. + * @param identifier - The ID of the stream stream. + * @param status - bool value to set the status of the stream stream. + * @returns A promise containing the unsigned SubmittableExtrinsic (submittable transaction). + * @example ```javascript + * Stream.revoke('0xd8024cdc147c4fa9221cd177', true).then(() => { + * // the stream status tx was created, sign and send it! + * ChainUtils.signAndSendTx(tx, identity); + * }); + * ``` + */ + public static async set_status( + identifier: string, + creator: string, + status: boolean + ): Promise { + return set_status(identifier, creator, status) + } + + /** + * [STATIC] Builds an instance of [[StreamStream]], from a simple object with the same properties. + * Used for deserialization. + * + * @param input - The base object from which to create the stream stream. + * @returns A new [[Stream]] object. + * @example ```javascript + * // create a Stream stream object, so we can call methods on it (`serialized` is a serialized Stream object ) + * Stream.fromStream(JSON.parse(serialized)); + * ``` + */ + public static fromStream(input: IStream): Stream { + return new Stream(input) + } + + /** + * [STATIC] Builds a new instance of an [[Stream]], from a complete set of input required for an stream. + * + * @param content - The base request for stream. + * @param link - ID of the [[Space]] this [[Journal]] is linked to. + * @param creatorPublicIdentity - Public Identity of the creator, used to anchor the underlying stream. + * @returns A new [[Stream]] object. + * @example ```javascript + * // create a complete new stream from the `StreamStream` and all other needed properties + * Stream.fromContentAndPublicIdentity(request, issuerPublicIdentity); + * ``` + */ + public static fromContentStreamProperties( + content: IContentStream, + cid: string + ): Stream { + return new Stream({ + id: StreamUtils.getStreamId(content.id), + hash: content.contentHash, + cid: cid, + schema: content.content.schemaId, + link: content.link, + creator: content.creator, + revoked: false, + }) + } + + /** + * [STATIC] Custom Type Guard to determine input being of type IStream using the StreamUtils errorCheck. + * + * @param input The potentially only partial IStream. + * @returns Boolean whether input is of type IStream. + */ + public static isIStream(input: unknown): input is IStream { + try { + StreamUtils.errorCheck(input as IStream) + } catch (error) { + return false + } + return true + } + + public id: IStream['id'] + public hash: IStream['hash'] + public cid: IStream['cid'] + public schema: IStream['schema'] + public link: IStream['link'] + public creator: IStream['creator'] + public revoked: IStream['revoked'] + + /** + * Builds a new [[Stream]] instance. + * + * @param stream - The base object from which to create the stream. + * @example ```javascript + * // create an stream, e.g. to store it on-chain + * const stream = new Stream(stream); + * ``` + */ + public constructor(stream: IStream) { + StreamUtils.errorCheck(stream) + this.id = stream.id + this.hash = stream.hash + this.cid = stream.cid + this.schema = stream.schema + this.link = stream.link + this.creator = stream.creator + this.revoked = stream.revoked + } + + /** + * [ASYNC] Stores the stream on chain. + * @param cid - The IPFS CID of the stream stream. + * @returns A promise containing the unsigned SubmittableExtrinsic (submittable transaction). + * @example ```javascript + * // Use `store` to store an stream on chain, and to create an `StreamedStream` upon success: + * stream.store(cid).then(() => { + * // the stream store tx was successfully prepared, so now we can sign and send it and subsequently create an `StreamedStream`. + * }); + * ``` + */ + public async store(): Promise { + return store(this) + } + + /** + * [ASYNC] Set status (active/revoked) a journal stream. + * + * @param status - bool value to set the status of the journal stream. + * @returns A promise containing the unsigned SubmittableExtrinsic (submittable transaction). + * @example ```javascript + * stream.set_status(false).then((tx) => { + * // the stream entry status tx was created, sign and send it! + * ChainUtils.signAndSendTx(tx, identity); + * }); + * ``` + */ + public async set_status(status: boolean): Promise { + return set_status(this.id, this.creator, status) + } + + /** + * [STATIC] [ASYNC] Queries an stream from the chain and checks its validity. + * + * @param stream - The Stream to verify. + * @param identifier - The ID that corresponds to the stream to check. Defaults to the streamHash for the stream onto which "verify" is called. + * @returns A promise containing whether the stream is valid. + * @example ```javascript + * Stream.checkValidity(stream).then((isVerified) => { + * // `isVerified` is true if the stream is verified, false otherwise + * }); + * ``` + */ + public static async checkValidity( + stream: IStream, + identifier: string = stream.id + ): Promise { + // Query stream by stream identifier. null if no stream is found on-chain for this hash + const chainStream: StreamDetails | null = await Stream.query(identifier) + return !!( + chainStream !== null && + chainStream.creator === stream.creator && + chainStream.streamHash === stream.hash && + !chainStream.revoked + ) + } + + public async checkValidity(): Promise { + return Stream.checkValidity(this) + } + + /** + * Compresses an [[Stream]] object. + * + * @returns An array that contains the same properties of an [[Stream]]. + */ + public compress(): CompressedStream { + return StreamUtils.compress(this) + } + + /** + * [STATIC] Builds an [[Stream]] from the compressed array. + * + * @param stream The [[CompressedStream]] that should get decompressed. + * @returns A new [[Stream]] object. + */ + public static decompress(stream: CompressedStream): Stream { + const decompressedStream = StreamUtils.decompress(stream) + return Stream.fromStream(decompressedStream) + } +} + +export class StreamDetails implements IStreamDetails { + public static fromStreamDetails(input: IStreamDetails): StreamDetails { + return new StreamDetails(input) + } + /** + * Builds a new [[Stream]] instance. + * + * @param stream - The base object from which to create the stream. + * @example ```javascript + * // create an stream, e.g. to store it on-chain + * const stream = new Stream(stream); + * ``` + */ + + public id: IStreamDetails['id'] + public streamHash: IStreamDetails['streamHash'] + public cid: IStreamDetails['cid'] + public parent_cid: IStreamDetails['parent_cid'] + public schema: IStreamDetails['schema'] + public link: IStreamDetails['link'] + public creator: IStreamDetails['creator'] + public block: IStreamDetails['block'] + public revoked: IStreamDetails['revoked'] + + public constructor(details: IStreamDetails) { + // StreamUtils.errorCheck(details) + this.id = details.id + this.streamHash = details.streamHash + this.cid = details.cid + this.parent_cid = details.parent_cid + this.schema = details.schema + this.link = details.link + this.creator = details.creator + this.block = details.block + this.revoked = details.revoked + } +} diff --git a/packages/modules/src/stream/Stream.utils.ts b/packages/modules/src/stream/Stream.utils.ts new file mode 100644 index 00000000..4d42e4f2 --- /dev/null +++ b/packages/modules/src/stream/Stream.utils.ts @@ -0,0 +1,117 @@ +/** + * @packageDocumentation + * @module StreamUtils + */ + +import type { IStream, CompressedStream } from '@cord.network/types' +import { Crypto, DataUtils, SDKErrors } from '@cord.network/utils' + +/** + * Checks whether the input meets all the required criteria of an [[IStream]] object. + * Throws on invalid input. + * + * @param input The potentially only partial [[IStream]]. + * + */ +export function errorCheck(input: IStream): void { + if (!input.id) { + throw SDKErrors.ERROR_MARK_ID_NOT_PROVIDED() + } else DataUtils.validateHash(input.id, 'Stream ID') + + if (!input.hash) { + throw SDKErrors.ERROR_MARK_HASH_NOT_PROVIDED() + } else DataUtils.validateHash(input.hash, 'Stream hash') + + if (!input.schema) { + throw SDKErrors.ERROR_MARK_SCHEMA_ID_NOT_PROVIDED() + } else DataUtils.validateHash(input.schema, 'Schema link') + + //TODO: Fix this + // if (!input.link) { + // throw SDKErrors.ERROR_MARK_JOURNAL_ID_NOT_PROVIDED() + // } else DataUtils.validateHash(input.link, 'Mark link') + + if (!input.creator) { + throw SDKErrors.ERROR_MARK_CREATOR_NOT_PROVIDED() + } else DataUtils.validateAddress(input.creator, 'Stream controller') + + if (typeof input.revoked !== 'boolean') { + throw SDKErrors.ERROR_MARK_REVOCATION_BIT_MISSING() + } +} + +/** + * Compresses an [[Mark]] object into an array for storage and/or messaging. + * + * @param stream An [[Mark]] object that will be sorted and stripped for messaging or storage. + * + * @returns An ordered array of an [[Mark]]. + */ + +export function compress(stream: IStream): CompressedStream { + errorCheck(stream) + return [ + stream.id, + stream.hash, + stream.cid, + stream.schema, + stream.link, + stream.creator, + stream.revoked, + ] +} + +/** + * Decompresses an [[Mark]] from storage and/or message into an object. + * + * @param stream A compressed [[Mark]] array that is decompressed back into an object. + * @throws [[ERROR_DECOMPRESSION_ARRAY]] when the stream is not an array or its length is not equal to 5. + * + * @returns An object that has the same properties as an [[Mark]]. + */ + +export function decompress(stream: CompressedStream): IStream { + if (!Array.isArray(stream) || stream.length !== 7) { + throw SDKErrors.ERROR_DECOMPRESSION_ARRAY('Mark') + } + return { + id: stream[0], + hash: stream[1], + cid: stream[2], + schema: stream[3], + link: stream[4], + creator: stream[5], + revoked: stream[6], + } +} + +export function getIdForStream(hash: string): string { + return getIdForStream(Crypto.hashObjectAsStr(hash)) +} + +export function getIdWithPrefix(hash: string): string { + return `cord:stream:${hash}` +} + +export function getStreamId(identifier: string): string { + return identifier.split('cord:stream:').join('') +} + +/** + * Convert from hex to string + * @param hex Hex string with prefix `0x` + * @returns With string back + */ +export function hexToString(hex: string): string { + return Buffer.from(hex.substring(2), 'hex').toString() +} + +export default { + decompress, + compress, + errorCheck, + getIdForStream, + getIdWithPrefix, + getStreamId, + hexToString, +} diff --git a/packages/modules/src/stream/index.ts b/packages/modules/src/stream/index.ts new file mode 100644 index 00000000..73e13428 --- /dev/null +++ b/packages/modules/src/stream/index.ts @@ -0,0 +1,2 @@ +export { Stream } from './Stream' +export * as StreamUtils from './Stream.utils' diff --git a/packages/modules/tsconfig.build.json b/packages/modules/tsconfig.build.json new file mode 100644 index 00000000..cee3554e --- /dev/null +++ b/packages/modules/tsconfig.build.json @@ -0,0 +1,25 @@ +{ + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./lib" + }, + "include": [ + "src/**/*.ts", + "src/**/*.js" + ], + "exclude": [ + "node_modules", + "coverage", + "build", + "scripts", + "acceptance-tests", + "webpack", + "jest", + "src/setupTests.ts", + "jest.config.js", + "docs", + "**/*.spec.ts", + "src/__integrationtests__", + "**/test" + ] +} \ No newline at end of file diff --git a/packages/network/package.json b/packages/network/package.json new file mode 100644 index 00000000..ff339c9d --- /dev/null +++ b/packages/network/package.json @@ -0,0 +1,37 @@ +{ + "name": "@cord.network/network", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-js", + "engines": { + "node": ">=14.0" + }, + "author": "Dhiway", + "bugs": "https://github.com/dhiway/cord-js/issues", + "homepage": "https://github.com/dhiway/cord-js#readme", + "devDependencies": { + "rimraf": "^3.0.2", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/config": "workspace:*", + "@cord.network/type-definitions": "0.2.4-13", + "@cord.network/types": "workspace:*", + "@cord.network/utils": "workspace:*", + "@polkadot/api": "6.7.2", + "@polkadot/keyring": "7.8.2", + "@polkadot/types": "6.7.2", + "@polkadot/util": "7.8.2", + "typescript-logging": "^0.6.4" + } +} diff --git a/packages/network/src/chain/Chain.spec.ts b/packages/network/src/chain/Chain.spec.ts new file mode 100644 index 00000000..2e3d033a --- /dev/null +++ b/packages/network/src/chain/Chain.spec.ts @@ -0,0 +1,388 @@ +/** + * @group unit/blockchain + */ + +/* eslint-disable dot-notation */ +import { SDKErrors } from '@cord.network/utils' +import { Text } from '@polkadot/types' +import type { SignerPayload } from '@polkadot/types/interfaces/types' +import type { SignerPayloadJSON } from '@polkadot/types/types/extrinsic' +import { BN } from '@polkadot/util' +import { Keyring } from '@polkadot/keyring' + +import type { + IIdentity, + ISubmittableResult, + SubmittableExtrinsic, + SubscriptionPromise, +} from '@cord.network/types' + +import { getConnectionOrConnect } from '../chainApiConnection/ChainApiConnection' +import { TYPE_REGISTRY } from '../chainApiConnection/TypeRegistry' +import { Chain } from './Chain' +import { + EXTRINSIC_FAILED, + IS_ERROR, + IS_FINALIZED, + IS_USURPED, + parseSubscriptionOptions, + submitSignedTx, +} from './Chain.utils' + +jest.mock('../blockchainApiConnection/ChainApiConnection') + +describe('queries', () => { + beforeAll(() => { + const api = + require('../blockchainApiConnection/ChainApiConnection').__mocked_api + api.rpc.system.version.mockResolvedValue(new Text(TYPE_REGISTRY, '1.0.0')) + api.rpc.system.chain.mockResolvedValue(new Text(TYPE_REGISTRY, 'mockchain')) + api.rpc.system.name.mockResolvedValue(new Text(TYPE_REGISTRY, 'CORD node')) + + api.rpc.chain.subscribeNewHeads = jest.fn(async (listener) => { + listener('mockHead') + return jest.fn() + }) + }) + + it('should get stats', async () => { + const blockchain = await getConnectionOrConnect() + + await expect(blockchain.getStats()).resolves.toMatchObject({ + chain: 'mockchain', + nodeName: 'CORD node', + nodeVersion: '1.0.0', + }) + }) + + it('should listen to blocks', async () => { + const listener = jest.fn() + const blockchain = await getConnectionOrConnect() + const unsubscribe = await blockchain.listenToBlocks(listener) + expect(listener).toBeCalledWith('mockHead') + expect(unsubscribe()).toBeUndefined() + }) +}) + +describe('Tx logic', () => { + let alice: IIdentity + let bob: IIdentity + const api = + require('../blockchainApiConnection/ChainApiConnection').__mocked_api + const setDefault = + require('../blockchainApiConnection/ChainApiConnection').__setDefaultResult + const dispatchNonceRetrieval = async (address: string): Promise => { + const chain = await getConnectionOrConnect() + return chain.getNonce(address) + } + beforeAll(async () => { + const keyring = new Keyring({ + type: 'ed25519', + // CORD has registered the ss58 prefix 29 + ss58Format: 29, + }) + const alicePair = keyring.createFromUri('//Alice') + alice = { + signKeyringPair: alicePair, + address: alicePair.address, + } as IIdentity + const bobPair = keyring.createFromUri('//Bob') + bob = { + signKeyringPair: bobPair, + address: bobPair.address, + } as IIdentity + }) + + describe('getNonce', () => { + it('should increment nonce for account', async () => { + const chain = new Chain(api) + const initialNonce = await chain.getNonce(alice.address) + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + expect(chain['accountNonces'].get(alice.address)!.toNumber()).toEqual( + initialNonce.toNumber() + 1 + ) + }) + + it('should return incrementing nonces', async () => { + const promisedNonces: Array> = [] + const chain = new Chain(api) + for (let i = 0; i < 25; i += 1) { + promisedNonces.push(chain.getNonce(alice.address)) + } + const nonces = await Promise.all(promisedNonces) + expect(nonces.length).toEqual(25) + nonces.forEach((value, index) => { + expect(value.toNumber()).toEqual(index) + }) + }) + + it('should return nonces from different closures', async () => { + const promisedNonces: Array> = [] + for (let i = 0; i < 10; i += 1) { + promisedNonces.push(dispatchNonceRetrieval(alice.address)) + promisedNonces.push(dispatchNonceRetrieval(alice.address)) + } + const nonces = await Promise.all(promisedNonces) + expect(nonces.length).toEqual(20) + nonces.forEach((value, index) => { + expect(value.toNumber()).toEqual(index) + }) + }) + + it('should return separate incrementing nonces per account', async () => { + const alicePromisedNonces: Array> = [] + const bobPromisedNonces: Array> = [] + const chain = new Chain(api) + for (let i = 0; i < 50; i += 1) { + if (i % 2 === 0) { + alicePromisedNonces.push(chain.getNonce(alice.address)) + } else bobPromisedNonces.push(chain.getNonce(bob.address)) + } + const aliceNonces = await Promise.all(alicePromisedNonces) + const bobNonces = await Promise.all(bobPromisedNonces) + expect(aliceNonces.length).toEqual(25) + expect(bobNonces.length).toEqual(25) + aliceNonces.forEach((value, index) => { + expect(value.toNumber()).toEqual(index) + }) + bobNonces.forEach((value, index) => { + expect(value.toNumber()).toEqual(index) + }) + }) + + it('should return the highest read Nonce (mapped Index 1st read)', async () => { + const chain = new Chain(api) + const indexMap = jest + .spyOn(chain['accountNonces'], 'get') + .mockReturnValue(new BN(1191220)) + const nonce = await chain.getNonce(alice.address) + + expect(nonce.toNumber()).toEqual(1191220) + indexMap.mockRestore() + }) + + it('should return the highest read Nonce (mapped Index 2nd read)', async () => { + const chain = new Chain(api) + const indexMap = jest + .spyOn(chain['accountNonces'], 'get') + .mockReturnValue(new BN(11912201)) + .mockReturnValueOnce(undefined) + const nonce = await chain.getNonce(alice.address) + + expect(nonce.toNumber()).toEqual(11912201) + indexMap.mockRestore() + }) + + it('should return the highest read Nonce (chain Index > secondQuery)', async () => { + const chain = new Chain(api) + api.rpc.system.accountNextIndex.mockResolvedValue(new BN(11912202)) + + const indexMap = jest + .spyOn(chain['accountNonces'], 'get') + .mockReturnValue(new BN(11912201)) + .mockReturnValueOnce(undefined) + const nonce = await chain.getNonce(alice.address) + + expect(nonce.toNumber()).toEqual(11912202) + indexMap.mockRestore() + }) + + it('should return the highest read Nonce (chain Index, !secondQuery)', async () => { + const chain = new Chain(api) + api.rpc.system.accountNextIndex.mockResolvedValue( + chain.api.registry.createType('Index', '11912203') + ) + + const indexMap = jest + .spyOn(chain['accountNonces'], 'get') + .mockReturnValue(undefined) + const nonce = await chain.getNonce(alice.address) + + expect(nonce.toNumber()).toEqual(11912203) + indexMap.mockRestore() + }) + + it('should reject when chain returns error', async () => { + api.rpc.system.accountNextIndex.mockRejectedValue('Reason') + const chain = new Chain(api) + await expect(chain.getNonce(alice.address)).rejects.toThrow( + Error(`Chain failed to retrieve nonce for : ${alice.address}`) + ) + }) + }) + + describe('reSignTx', () => { + const submittable: SubmittableExtrinsic = { + signature: { + toHuman: jest.fn(), + }, + addSignature: jest.fn(), + nonce: { toHuman: jest.fn() }, + method: { data: 'unchanged', toHex: jest.fn() }, + } as unknown as SubmittableExtrinsic + + it('fetches updated Nonce and applies updated signature to Extrinsic', async () => { + api.createType = jest + .fn() + .mockReturnValue({ + sign: jest.fn().mockReturnValue({ signature: 'signature' }), + }) + .mockReturnValueOnce({ + toPayload: jest + .fn() + .mockReturnValue({} as unknown as SignerPayloadJSON), + } as unknown as SignerPayload) + const chain = new Chain(api) + const getNonceSpy = jest + .spyOn(chain, 'getNonce') + .mockResolvedValue(new BN(1)) + const deleteEntrySpy = jest.spyOn(chain['accountNonces'], 'delete') + const reSigned = await chain.reSignTx(alice, submittable) + expect(deleteEntrySpy).toHaveBeenCalledWith(alice.address) + expect(reSigned.method.data).toEqual(submittable.method.data) + expect(getNonceSpy).toHaveBeenCalledWith(alice.address) + expect(submittable.addSignature).toHaveBeenCalledWith( + alice.address, + expect.anything(), + expect.anything() + ) + }) + }) + + describe('utils exported function submitSignedTx', () => { + it('catches ERROR_TRANSACTION_USURPED and rejects Promise with ERROR_TRANSACTION_RECOVERABLE', async () => { + setDefault({ isUsurped: true }) + const chain = new Chain(api) + const tx = chain.api.tx.balances.transfer(bob.address, 100) + tx.signAsync(alice.signKeyringPair) + await expect( + submitSignedTx(tx, parseSubscriptionOptions()) + ).rejects.toThrow(SDKErrors.ERROR_TRANSACTION_RECOVERABLE()) + }, 20_000) + + it('catches priority error and rejects Promise with ERROR_TRANSACTION_RECOVERABLE', async () => { + setDefault() + const chain = new Chain(api) + const tx = chain.api.tx.balances.transfer(bob.address, 100) + tx.signAsync(alice.signKeyringPair) + tx.send = jest.fn().mockRejectedValue(Error('1014: Priority is too low:')) + await expect( + submitSignedTx(tx, parseSubscriptionOptions()) + ).rejects.toThrow(SDKErrors.ERROR_TRANSACTION_RECOVERABLE()) + }, 20_000) + + it('catches Already Imported error and rejects Promise with ERROR_TRANSACTION_RECOVERABLE', async () => { + setDefault() + const chain = new Chain(api) + const tx = chain.api.tx.balances.transfer(bob.address, 100) + tx.signAsync(alice.signKeyringPair) + tx.send = jest + .fn() + .mockRejectedValue(Error('Transaction Already Imported')) + await expect( + submitSignedTx(tx, parseSubscriptionOptions()) + ).rejects.toThrow(SDKErrors.ERROR_TRANSACTION_RECOVERABLE()) + }, 20_000) + + it('catches Outdated/Stale Tx error and rejects Promise with ERROR_TRANSACTION_RECOVERABLE', async () => { + setDefault() + const chain = new Chain(api) + const tx = chain.api.tx.balances.transfer(bob.address, 100) + tx.signAsync(alice.signKeyringPair) + tx.send = jest + .fn() + .mockRejectedValue( + Error('1010: Invalid Transaction: Transaction is outdated') + ) + await expect( + submitSignedTx(tx, parseSubscriptionOptions()) + ).rejects.toThrow(SDKErrors.ERROR_TRANSACTION_RECOVERABLE()) + }, 20_000) + }) + + describe('Chain class method submitSignedTx', () => { + it('Retries to send up to two times if recoverable error is caught', async () => { + setDefault({ isUsurped: true }) + const chain = new Chain(api) + const tx = chain.api.tx.balances.transfer(bob.address, 100) + tx.signAsync(alice.signKeyringPair) + const reSignSpy = jest + .spyOn(chain, 'reSignTx') + .mockImplementation(async (id, Tx) => { + return Tx + }) + await expect(chain.submitSignedTxWithReSign(tx, alice)).rejects.toThrow( + SDKErrors.ERROR_TRANSACTION_RECOVERABLE() + ) + + expect(reSignSpy).toHaveBeenCalledTimes(2) + }) + }) +}) + +describe('parseSubscriptionOptions', () => { + it('takes incomplete SubscriptionPromiseOptions and sets default values where needed', async () => { + const testfunction: SubscriptionPromise.ResultEvaluator = () => true + expect(JSON.stringify(parseSubscriptionOptions())).toEqual( + JSON.stringify({ + resolveOn: IS_FINALIZED, + rejectOn: (result: ISubmittableResult) => + IS_ERROR(result) || EXTRINSIC_FAILED(result) || IS_USURPED(result), + timeout: undefined, + }) + ) + expect( + JSON.stringify(parseSubscriptionOptions({ resolveOn: testfunction })) + ).toEqual( + JSON.stringify({ + resolveOn: testfunction, + rejectOn: (result: ISubmittableResult) => + IS_ERROR(result) || EXTRINSIC_FAILED(result) || IS_USURPED(result), + timeout: undefined, + }) + ) + expect( + JSON.stringify( + parseSubscriptionOptions({ + resolveOn: testfunction, + rejectOn: testfunction, + }) + ) + ).toEqual( + JSON.stringify({ + resolveOn: testfunction, + rejectOn: testfunction, + timeout: undefined, + }) + ) + expect( + JSON.stringify( + parseSubscriptionOptions({ + resolveOn: testfunction, + timeout: 10, + }) + ) + ).toEqual( + JSON.stringify({ + resolveOn: testfunction, + rejectOn: (result: ISubmittableResult) => + IS_ERROR(result) || EXTRINSIC_FAILED(result) || IS_USURPED(result), + timeout: 10, + }) + ) + expect( + JSON.stringify( + parseSubscriptionOptions({ + timeout: 10, + }) + ) + ).toEqual( + JSON.stringify({ + resolveOn: IS_FINALIZED, + rejectOn: (result: ISubmittableResult) => + IS_ERROR(result) || EXTRINSIC_FAILED(result) || IS_USURPED(result), + timeout: 10, + }) + ) + }) +}) diff --git a/packages/network/src/chain/Chain.ts b/packages/network/src/chain/Chain.ts new file mode 100644 index 00000000..801dd2ca --- /dev/null +++ b/packages/network/src/chain/Chain.ts @@ -0,0 +1,178 @@ +/** + * Chain bridges that connects the SDK and the CORD Chain. + * + * Communicates with the chain via WebSockets and can [[listenToBlocks]]. It exposes the [[signTx]] function that performs the necessary tx signing. + * + * @packageDocumentation + * @module Chain + */ + +import type { ApiPromise } from '@polkadot/api' +import type { Header } from '@polkadot/types/interfaces/types' +import type { AnyJson, AnyNumber, Codec } from '@polkadot/types/types' +import type { Text } from '@polkadot/types' +import type { SignerPayloadJSON } from '@polkadot/types/types/extrinsic' +import { BN } from '@polkadot/util' +import { SDKErrors } from '@cord.network/utils' +import { ConfigService } from '@cord.network/config' +import type { + IIdentity, + ISubmittableResult, + SubmittableExtrinsic, + IChainApi, + ChainStats, + SubscriptionPromise, +} from '@cord.network/types' +import { submitSignedTx } from './Chain.utils' + +const log = ConfigService.LoggingFactory.getLogger('Chain') + +// Code taken from +// https://polkadot.js.org/api/api/classes/_promise_index_.apipromise.html + +export class Chain implements IChainApi { + public static asArray(queryResult: Codec): AnyJson[] { + const json = queryResult.toJSON() + if (json instanceof Array) return json + return [] + } + + public api: ApiPromise + private accountNonces: Map + + public constructor(api: ApiPromise) { + this.api = api + this.accountNonces = new Map() + } + + public async getStats(): Promise { + const encoded: Text[] = await Promise.all([ + this.api.rpc.system.chain(), + this.api.rpc.system.name(), + this.api.rpc.system.version(), + ]) + const [chain, nodeName, nodeVersion] = encoded.map((el) => el.toString()) + return { chain, nodeName, nodeVersion } + } + + // TODO: implement unsubscribe as subscriptionId continuously increases + public async listenToBlocks( + listener: (header: Header) => void + ): Promise<() => void> { + return this.api.rpc.chain.subscribeNewHeads(listener) + } + + /** + * [ASYNC] Signs the SubmittableExtrinsic with the given identity. + * + * @param identity The [[Identity]] to sign the tx with. + * @param tx The unsigned SubmittableExtrinsic. + * @param tip The amount of Femto-CORD to tip the validator. + * @returns Signed SubmittableExtrinsic. + * + */ + public async signTx( + identity: IIdentity, + tx: SubmittableExtrinsic, + tip?: AnyNumber + ): Promise { + const nonce = await this.getNonce(identity.address) + const signed: SubmittableExtrinsic = + await identity.signSubmittableExtrinsic(tx, nonce, tip) + + return signed + } + + /** + * [ASYNC] Submits a signed SubmittableExtrinsic with imported function [[submitSignedTx]]. + * Handles recoverable errors if identity is provided by re-signing and re-sending the tx up to two times. + * Uses [[parseSubscriptionOptions]] to provide complete potentially defaulted options to the called [[submitSignedTx]]. + * + * Transaction fees will apply whenever a transaction fee makes it into a block, even if extrinsics fail to execute correctly! + * + * @param tx The SubmittableExtrinsic to be submitted. Most transactions need to be signed, this must be done beforehand. + * @param identity Optional [[Identity]] to potentially re-sign the tx with. + * @param opts Optional partial criteria for resolving/rejecting the promise. + * @returns A promise which can be used to track transaction status. + * If resolved, this promise returns the eventually resolved ISubmittableResult. + */ + async submitSignedTxWithReSign( + tx: SubmittableExtrinsic, + identity: IIdentity, + opts?: Partial + ): Promise { + const retry = async (reason: Error): Promise => { + if ( + reason.message === SDKErrors.ERROR_TRANSACTION_RECOVERABLE().message && + identity + ) { + return submitSignedTx(await this.reSignTx(identity, tx), opts) + } + throw reason + } + return submitSignedTx(tx, opts).catch(retry).catch(retry) + } + + /** + * [ASYNC] Retrieves the Nonce for Transaction signing for the specified account and increments the in accountNonces mapped Index. + * + * @param accountAddress The address of the identity that we retrieve the nonce for. + * @returns Representation of the Tx nonce for the identity. + * + */ + public async getNonce(accountAddress: string): Promise { + let nonce = this.accountNonces.get(accountAddress) + if (!nonce) { + // the account nonce is unknown, we will query it from chain + const chainNonce = await this.api.rpc.system + .accountNextIndex(accountAddress) + .catch((reason) => { + log.error( + `On-chain nonce retrieval failed for account ${accountAddress}\nwith reason: ${reason}` + ) + throw Error(`Chain failed to retrieve nonce for : ${accountAddress}`) + }) + // ensure that the nonce we queried is still up to date and no newer nonce was queried during the await above + const secondQuery = this.accountNonces.get(accountAddress) + nonce = BN.max(chainNonce, secondQuery || new BN(0)) + } + this.accountNonces.set(accountAddress, nonce.addn(1)) + return nonce + } + + /** + * [ASYNC] Re-signs the given SubmittableExtrinsic with an updated Nonce. + * + * @param identity The [[Identity]] to re-sign the Tx with. + * @param tx The tx with recoverable Error that failed. + * @returns Original Tx, injected with signature payload with updated nonce. + * + */ + public async reSignTx( + identity: IIdentity, + tx: SubmittableExtrinsic + ): Promise { + this.accountNonces.delete(identity.address) + const nonce: BN = await this.getNonce(identity.address) + const signerPayload: SignerPayloadJSON = this.api + .createType('SignerPayload', { + method: tx.method.toHex(), + nonce, + genesisHash: this.api.genesisHash, + blockHash: this.api.genesisHash, + runtimeVersion: this.api.runtimeVersion, + version: this.api.extrinsicVersion, + }) + .toPayload() + tx.addSignature( + identity.address, + this.api + .createType('ExtrinsicPayload', signerPayload, { + version: this.api.extrinsicVersion, + }) + .sign(identity.signKeyringPair).signature, + signerPayload + ) + return tx + } +} diff --git a/packages/network/src/chain/Chain.utils.ts b/packages/network/src/chain/Chain.utils.ts new file mode 100644 index 00000000..11ce2450 --- /dev/null +++ b/packages/network/src/chain/Chain.utils.ts @@ -0,0 +1,176 @@ +/** + * @packageDocumentation + * @module BlockchchainUtils + * @typedef {SubscriptionPromise.Options} Options + */ + +import { SDKErrors } from '@cord.network/utils' +import { ConfigService } from '@cord.network/config' +import type { + IIdentity, + ISubmittableResult, + ReSignOpts, + SubmittableExtrinsic, + SubscriptionPromise, +} from '@cord.network/types' +import { ErrorHandler, ExtrinsicError, ExtrinsicErrors } from '../errorhandling' +import { makeSubscriptionPromise } from './SubscriptionPromise' +import { getConnectionOrConnect } from '../chainApiConnection/ChainApiConnection' + +const log = ConfigService.LoggingFactory.getLogger('Chain') + +export const TxOutdated = 'Transaction is outdated' +export const TxPriority = 'Priority is too low:' +export const TxDuplicate = 'Transaction Already Imported' +export const RelevantSDKErrors = [ + SDKErrors.ErrorCode.ERROR_TRANSACTION_DUPLICATE, + SDKErrors.ErrorCode.ERROR_TRANSACTION_OUTDATED, + SDKErrors.ErrorCode.ERROR_TRANSACTION_PRIORITY, + SDKErrors.ErrorCode.ERROR_TRANSACTION_USURPED, +] +export const IS_RELEVANT_ERROR: SubscriptionPromise.ErrorEvaluator = ( + err: Error | SDKErrors.SDKError +) => { + return SDKErrors.isSDKError(err) && RelevantSDKErrors.includes(err.errorCode) +} +export const IS_READY: SubscriptionPromise.ResultEvaluator = (result) => + result.status.isReady +export const IS_IN_BLOCK: SubscriptionPromise.ResultEvaluator = (result) => + result.isInBlock +export const EXTRINSIC_EXECUTED: SubscriptionPromise.ResultEvaluator = ( + result +) => ErrorHandler.extrinsicSuccessful(result) +export const IS_FINALIZED: SubscriptionPromise.ResultEvaluator = (result) => + result.isFinalized +export const IS_USURPED: SubscriptionPromise.ResultEvaluator = (result) => + result.status.isUsurped && SDKErrors.ERROR_TRANSACTION_USURPED() +export const IS_ERROR: SubscriptionPromise.ResultEvaluator = (result) => { + return ( + (result.status.isDropped && Error('isDropped')) || + (result.status.isInvalid && Error('isInvalid')) || + (result.status.isFinalityTimeout && Error('isFinalityTimeout')) + ) +} +export const EXTRINSIC_FAILED: SubscriptionPromise.ResultEvaluator = (result) => + ErrorHandler.extrinsicFailed(result) && + (ErrorHandler.getExtrinsicError(result) || + new ExtrinsicError( + ExtrinsicErrors.UNKNOWN_ERROR.code, + ExtrinsicErrors.UNKNOWN_ERROR.message + )) + +/** + * Parses potentially incomplete or undefined options and returns complete [[Options]]. + * + * @param opts Potentially undefined or partial [[Options]] . + * @returns Complete [[Options]], with potentially defaulted values. + */ +export function parseSubscriptionOptions( + opts?: Partial +): SubscriptionPromise.Options { + const { + resolveOn = IS_FINALIZED, + rejectOn = (result: ISubmittableResult) => + IS_ERROR(result) || EXTRINSIC_FAILED(result) || IS_USURPED(result), + timeout, + } = { ...opts } + + return { + resolveOn, + rejectOn, + timeout, + } +} + +/** + * [ASYNC] Submits a signed SubmittableExtrinsic and attaches a callback to monitor the inclusion status of the transaction + * and possible errors in the execution of extrinsics. Returns a promise to that end which by default resolves upon + * finalization and rejects any errors occur during submission or execution of extrinsics. This behavior can be adjusted via optional parameters. + * + * Transaction fees will apply whenever a transaction fee makes it into a block, even if extrinsics fail to execute correctly! + * + * @param tx The SubmittableExtrinsic to be submitted. Most transactions need to be signed, this must be done beforehand. + * @param opts Partial optional [[SubscriptionPromise]]to be parsed: Criteria for resolving/rejecting the promise. + * @returns A promise which can be used to track transaction status. + * If resolved, this promise returns ISubmittableResult that has led to its resolution. + */ +export async function dispatchTx( + tx: SubmittableExtrinsic, + opts?: Partial +): Promise { + log.info(`Submitting ${tx.method}`) + const options = parseSubscriptionOptions(opts) + const { promise, subscription } = makeSubscriptionPromise(options) + + const unsubscribe = await tx.send(subscription) + + return promise.finally(() => unsubscribe()) +} + +/** + * Checks the TxError for relevant ones and returns these as matched SDKError for recoverability. + * + * + * @param reason Polkadot API returned error. + * @returns If matched, a SDKError, else original reason. + */ +function matchTxError(reason: Error): SDKErrors.SDKError | Error { + switch (true) { + case reason.message.includes(TxOutdated): + return SDKErrors.ERROR_TRANSACTION_OUTDATED() + case reason.message.includes(TxPriority): + return SDKErrors.ERROR_TRANSACTION_PRIORITY() + case reason.message.includes(TxDuplicate): + return SDKErrors.ERROR_TRANSACTION_DUPLICATE() + default: + return reason + } +} + +/** + * [ASYNC] Rejects a tx that can be re-signed with an [[ERROR_TRANSACTION_RECOVERABLE]]. + * + * @param tx The SubmittableExtrinsic to be submitted. Most transactions need to be signed, this must be done beforehand. + * @param opts [[SubscriptionPromise]]: Criteria for resolving/rejecting the promise. + * @returns A promise which can be used to track transaction status. + * If resolved, this promise returns ISubmittableResult that has led to its resolution. + * + */ +export async function submitSignedTx( + tx: SubmittableExtrinsic, + opts?: Partial +): Promise { + return dispatchTx(tx, opts).catch((reason: Error) => { + const error = matchTxError(reason) + if (IS_RELEVANT_ERROR(error)) { + return Promise.reject(SDKErrors.ERROR_TRANSACTION_RECOVERABLE()) + } + return Promise.reject(error) + }) +} +/** + * [ASYNC] Signs and submits the SubmittableExtrinsic with optional resolution and rejection criteria. + * + * @param tx The generated unsigned SubmittableExtrinsic to submit. + * @param identity The [[Identity]] used to sign and potentially re-sign the tx. + * @param opts Partial optional criteria for resolving/rejecting the promise. + * @param opts.reSign Optional flag for re-attempting to send recoverably failed Tx. + * @param opts.tip Optional amount of Femto-CORD to tip the validator. + * @returns Promise result of executing the extrinsic, of type ISubmittableResult. + * + */ +export async function signAndSubmitTx( + tx: SubmittableExtrinsic, + identity: IIdentity, + { + reSign = false, + tip, + ...opts + }: Partial & Partial = {} +): Promise { + const chain = await getConnectionOrConnect() + const signedTx = await chain.signTx(identity, tx, tip) + return reSign + ? chain.submitSignedTxWithReSign(signedTx, identity, opts) + : submitSignedTx(signedTx, opts) +} diff --git a/packages/network/src/chain/SubscriptionPromise.spec.ts b/packages/network/src/chain/SubscriptionPromise.spec.ts new file mode 100644 index 00000000..c46f54e4 --- /dev/null +++ b/packages/network/src/chain/SubscriptionPromise.spec.ts @@ -0,0 +1,44 @@ +/** + * @group unit/util + */ + +import { SDKErrors } from '@cord.network/utils' +import type { SubscriptionPromise } from '@cord.network/types' +import { makeSubscriptionPromise } from './SubscriptionPromise' + +const RESOLVE = 'resolve' +const REJECT = 'reject' + +const RESOLVE_ON: SubscriptionPromise.Evaluator = (value) => + value === RESOLVE + +const REJECT_ON: SubscriptionPromise.Evaluator = (value) => + value === REJECT && 'error' + +it('rejects promise on timeout', async () => { + const { promise, subscription } = makeSubscriptionPromise({ + resolveOn: RESOLVE_ON, + rejectOn: REJECT_ON, + timeout: 500, + }) + subscription('something else') + await expect(promise).rejects.toThrow(SDKErrors.ERROR_TIMEOUT()) +}) + +it('resolves the promise', async () => { + const { promise, subscription } = makeSubscriptionPromise({ + resolveOn: RESOLVE_ON, + rejectOn: REJECT_ON, + }) + subscription(RESOLVE) + await expect(promise).resolves.toEqual(RESOLVE) +}) + +it('rejects the promise', async () => { + const { promise, subscription } = makeSubscriptionPromise({ + resolveOn: RESOLVE_ON, + rejectOn: REJECT_ON, + }) + subscription(REJECT) + await expect(promise).rejects.toEqual('error') +}) diff --git a/packages/network/src/chain/SubscriptionPromise.ts b/packages/network/src/chain/SubscriptionPromise.ts new file mode 100644 index 00000000..70042998 --- /dev/null +++ b/packages/network/src/chain/SubscriptionPromise.ts @@ -0,0 +1,82 @@ +/** + * @packageDocumentation + * @module SubscriptionPromise + */ + +import type { SubscriptionPromise } from '@cord.network/types' +import { SDKErrors } from '@cord.network/utils' + +/** + * Helps building a promise associated to a subscription callback through which updates can be pushed to the promise. + * This promise is resolved with the value of latest update when a resolution criterion is met. + * It is rejected with a custom error/reason if a rejection criterion is met or on timeout (optional). Rejection takes precedent. + * + * @param terminationOptions . + * @param terminationOptions.resolveOn Resolution criterion. A function that evaluates an incoming update from the subscription. + * If it returns a truthy value, the promise is resolved with the value of the latest update. + * @param terminationOptions.rejectOn Rejection criterion. A function that evaluates an incoming update from the subscription. + * If it returns a truthy value, this value is used as rejection reason. + * @param terminationOptions.timeout Timeout in ms. If set, the promise will reject if not resolved before the time is up. + * @returns An object containing both a subscription callback + * and a promise which resolves or rejects depending on the values pushed to the callback. + */ +export function makeSubscriptionPromise( + terminationOptions: SubscriptionPromise.TerminationOptions +): { + promise: Promise + subscription: (value: SubscriptionType) => void +} { + const { resolveOn, rejectOn, timeout } = { ...terminationOptions } + let resolve: (value: SubscriptionType) => void + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let reject: (reason: any) => void + const promise = new Promise((res, rej) => { + resolve = res + reject = rej + }) + const subscription: (value: SubscriptionType) => void = + typeof rejectOn === 'function' + ? (value) => { + const rejectedReason = rejectOn(value) + if (rejectedReason) reject(rejectedReason) + const resolved = resolveOn(value) + if (resolved) resolve(value) + } + : (value) => { + const resolved = resolveOn(value) + if (resolved) resolve(value) + } + if (timeout) + setTimeout(() => { + reject(SDKErrors.ERROR_TIMEOUT()) + }, timeout) + return { promise, subscription } +} + +/** + * A wrapper around [[makeSubscriptionPromise]] that helps building multiple promises which listen to the same subscription. + * + * @param args An array of objects each of which provides the arguments for creation of one promise. + * @returns An object containing both a subscription callback + * and an array of promises which resolve or reject depending on the values pushed to the callback. + */ +export function makeSubscriptionPromiseMulti( + args: Array> +): { + promises: Array> + subscription: (value: SubscriptionType) => void +} { + const promises: Array> = [] + const subscriptions: Array<(value: SubscriptionType) => void> = [] + args.forEach( + (options: SubscriptionPromise.TerminationOptions) => { + const { promise, subscription } = makeSubscriptionPromise(options) + promises.push(promise) + subscriptions.push(subscription) + } + ) + const subscription = (value: SubscriptionType): void => { + subscriptions.forEach((s) => s(value)) + } + return { promises, subscription } +} diff --git a/packages/network/src/chain/index.ts b/packages/network/src/chain/index.ts new file mode 100644 index 00000000..70f03f97 --- /dev/null +++ b/packages/network/src/chain/index.ts @@ -0,0 +1,3 @@ +export { Chain } from './Chain' +export * as ChainUtils from './Chain.utils' +export * as SubscriptionPromise from './SubscriptionPromise' diff --git a/packages/network/src/chainApiConnection/ChainApiConnection.ts b/packages/network/src/chainApiConnection/ChainApiConnection.ts new file mode 100644 index 00000000..afe363e2 --- /dev/null +++ b/packages/network/src/chainApiConnection/ChainApiConnection.ts @@ -0,0 +1,102 @@ +/** + * Chain Api Connection enables the building and accessing of the CORD [[Chain]] connection. In which it keeps one connection open and allows to reuse the connection for all [[Chain]] related tasks. + * + * Other modules can access the [[Chain]] as such: `const blockchain = await getConnectionOrConnect()`. + * + * @packageDocumentation + * @module ChainApiConnection + */ + +import { ApiPromise, WsProvider } from '@polkadot/api' +import { ConfigService } from '@cord.network/config' +import { Chain } from '../chain/Chain' +import { TYPE_REGISTRY } from './TypeRegistry' + +let instance: Promise | null + +/** + * Builds a new blockchain connection instance. + * + * @param host Optional host address. Otherwise taken from the ConfigService. + * @returns A new blockchain connection instance. + */ +export async function buildConnection( + host: string = ConfigService.get('address') +): Promise { + const provider = new WsProvider(host) + const api: ApiPromise = await ApiPromise.create({ + registry: TYPE_REGISTRY, + provider, + }) + return new Chain(api) +} + +/** + * Allows caching of a self-built connection instance. + * This will be automatically used by all chain functions. + * + * For advanced use-cases only. + * + * @param connectionInstance The Chain instance, which should be cached. + */ +export function setConnection(connectionInstance: Promise): void { + instance = connectionInstance +} + +/** + * Gets the cached blockchain connection instance. + * + * @returns Cached blockchain connection. + */ +export function getConnection(): Promise | null { + return instance +} + +/** + * Gets the cached blockchain connection, or builds a new one, if non-existant. + * + * @returns The cached or newly built blockchain connection instance. + */ +export async function getConnectionOrConnect(): Promise { + if (!instance) { + instance = buildConnection() + } + return instance +} + +/** + * Clears the cached blockchain connection instance. + * This does NOT disconnect automatically beforehand! + */ +export function clearCache(): void { + instance = null +} + +/** + * Check, if the cached blockchain connection is connected. + * + * @returns If there is a cached connection and it is currently connected. + */ +export async function connected(): Promise { + if (!instance) return false + const resolved = await instance + return resolved.api.isConnected +} + +/** + * Disconnects the cached connection and clears the cache. + * + * @returns If there was a cached and connected connection, or not. + */ +export async function disconnect(): Promise { + const oldInstance = instance + clearCache() + + if (!oldInstance) return false + + const resolved = await oldInstance + const { isConnected } = resolved.api + await resolved.api.disconnect() + + return isConnected +} diff --git a/packages/network/src/chainApiConnection/TypeDefinitions.ts b/packages/network/src/chainApiConnection/TypeDefinitions.ts new file mode 100644 index 00000000..8baa4616 --- /dev/null +++ b/packages/network/src/chainApiConnection/TypeDefinitions.ts @@ -0,0 +1,93 @@ +import type { + OverrideBundleDefinition, + RegistryTypes, +} from '@polkadot/types/types' + +export const types02: RegistryTypes = { + // Runtime + AccountInfo: 'AccountInfoWithTripleRefCount', + Address: 'MultiAddress', + AmountOf: 'i128', + Balance: 'u128', + LookupSource: 'MultiAddress', + IdentifierOf: 'Text', + IdOf: 'Hash', + HashOf: 'Hash', + StatusOf: 'bool', + //Stream + StreamDetails: { + streamHash: 'HashOf', + cid: 'Option', + parent_cid: 'Option', + schema: 'Option', + link: 'Option', + creator: 'CordAccountOf', + block: 'BlockNumber', + revoked: 'bool', + }, + StreamCommit: { + hash: 'HashOf', + cid: 'Option', + block: 'BlockNumber', + commit: 'StreamCommitOf', + }, + StreamCommitOf: { + _enum: ['Create', 'Update', 'Status'], + }, + StreamLink: { + identifier: 'IdOf', + creator: 'CordAccountOf', + }, + + // Schema + SchemaDetails: { + hash: 'HashOf', + cid: 'Option', + parent_cid: 'Option', + creator: 'CordAccountOf', + block: 'BlockNumber', + permissioned: 'bool', + revoked: 'bool', + }, + SchemaCommit: { + hash: 'HashOf', + cid: 'Option', + block: 'BlockNumber', + commit: 'SchemaCommitOf', + }, + SchemaCommitOf: { + _enum: [ + 'Genesis', + 'Update', + 'Delegate', + 'RevokeDelegation', + 'Permission', + 'Status', + ], + }, + // Registrar + RegistrarDetails: { + block: 'BlockNumber', + revoked: 'bool', + }, + TxVerifiedOf: { + tx_hash: 'HashOf', + ptx_verified: 'bool', + }, + CordAccountOf: 'AccountId', + DidIdentifierOf: 'AccountId', + AccountIdentifierOf: 'AccountId', + BlockNumberOf: 'BlockNumber', + signedExtensions: { + NixAccount: 'AccountId', + }, +} + +export const typeBundleForPolkadot: OverrideBundleDefinition = { + types: [ + { + minmax: [2, undefined], + types: types02, + }, + ], +} diff --git a/packages/network/src/chainApiConnection/TypeRegistry.ts b/packages/network/src/chainApiConnection/TypeRegistry.ts new file mode 100644 index 00000000..26bc82c7 --- /dev/null +++ b/packages/network/src/chainApiConnection/TypeRegistry.ts @@ -0,0 +1,7 @@ +import { types05 as CORD_TYPES } from '@cord.network/type-definitions' +import { TypeRegistry } from '@polkadot/types' + +const TYPE_REGISTRY = new TypeRegistry() +TYPE_REGISTRY.register(CORD_TYPES) + +export { CORD_TYPES, TYPE_REGISTRY } diff --git a/packages/network/src/chainApiConnection/__mocks__/BlockchainApiConnection.ts b/packages/network/src/chainApiConnection/__mocks__/BlockchainApiConnection.ts new file mode 100644 index 00000000..05ce78c7 --- /dev/null +++ b/packages/network/src/chainApiConnection/__mocks__/BlockchainApiConnection.ts @@ -0,0 +1,397 @@ +// /** +// * @packageDocumentation +// * @module ChainApiConnection +// * @ignore +// */ + +// /** +// * Mock implementation of ChainApiConnection to specifically mock Substrate api calls that +// * require a connection to a Substrate blockchain. +// * +// * Transaction (tx) calls will return a mocked SubmittableExtrinsic containing a SubmittableResult +// * which will be returned when calling the `.send()` method. +// * This result defaults to `Finalized`, a default which can be changed by means of the `__setDefaultResult()` function: +// * ``` +// * require('../blockchainApiConnection/ChainApiConnection').__setDefaultResult( +// * false +// * ) +// * const transfer = blockchain.api.tx.balances.transfer(alice.address, amount) // returns a mock SubmittableExtrinsic that has a send() method +// * const result = await ChainUtils.signAndSubmitTx(alice, transfer) // calls transfer.send() internally +// * ``` +// * You can also queue results with +// * ``` +// * require('../blockchainApiConnection/ChainApiConnection').__queueResults( +// * [true, false] +// * ) +// * ``` +// * After queue results have been consumed via tx calls, the mock implementation will resume returning the default result. +// * +// * Mocked query methods return representations of 'not present' by default, such as Option(..., null) or Vec(..., []). +// * You can set different return values during test execution by importing __mocked_api, then calling jest's return +// * value setters `.mockReturnValue` or `.mockReturnValueOnce` on the method you want to modify: +// * ``` +// * const mocked_api = require('../blockchainApiConnection/ChainApiConnection').__mocked_api +// * mocked_api.query.delegation.children.mockReturnValue( +// * new Vec( +// * 'Hash', +// * ['0x123', '0x456', '0x789'] +// * ) +// * ) +// * ``` +// * `.mockReturnValue` changes the default return value for the scope of the current test file. +// * `.mockReturnValueOnce()` can be called multiple times to build a queue of return values. After the queue has +// * been emptied by calling the query in question repeatedly, jest will return the default value again. +// * +// */ + +// import Chain from '../../chain/Chain' +// import { ApiPromise, SubmittableResult } from '@polkadot/api' +// import type { +// AccountInfoWithProviders, +// ExtrinsicStatus, +// Index, +// } from '@polkadot/types/interfaces' +// import { GenericEventData } from '@polkadot/types' +// import type { +// IPublicIdentity, +// ISubmittableResult, +// SubmittableExtrinsic, +// } from '@cord.network/types' +// import { mockChainQueryReturn } from './BlockchainQuery' +// import TYPE_REGISTRY from '../TypeRegistry' + +// const ChainApiConnection = jest.requireActual('../ChainApiConnection') + +// // const accumulator = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +// async function getConnectionOrConnect(): Promise { +// if (!ChainApiConnection.instance) { +// ChainApiConnection.instance = Promise.resolve( +// new Chain(__mocked_api as ApiPromise) +// ) +// } +// return ChainApiConnection.instance +// } + +// const TxResultsQueue: ISubmittableResult[] = [] +// let defaultTxResult: ISubmittableResult = __makeSubmittableResult({}) + +// class MockSubmittableExtrinsic { +// result: ISubmittableResult +// method = { toHex: () => '0x00' } +// signature = { +// signed: false, +// toHuman: (): number | undefined => undefined, +// } +// nonce = { toHuman: (): number | undefined => undefined } +// constructor(result: ISubmittableResult) { +// this.result = result +// } + +// public addSignature() { +// const signature = this.signature.toHuman() +// ? this.signature.toHuman()! + 1 +// : 0 +// this.signature = { +// signed: true, +// toHuman: () => signature, +// } +// const nonce = this.nonce.toHuman() ? this.nonce.toHuman()! + 1 : 0 +// this.nonce = { toHuman: () => nonce } +// return this +// } +// public signAsync() { +// const signature = this.signature.toHuman() ? this.signature.toHuman()! : 0 +// this.signature = { +// signed: true, +// toHuman: () => signature, +// } +// const nonce = this.nonce.toHuman() ? this.nonce.toHuman()! : 0 +// this.nonce = { toHuman: () => nonce } + +// return this +// } +// public async send(callable: Function) { +// if (callable) { +// callable(this.result) +// return () => {} +// } +// return '0x123' +// } + +// public async signAndSend(a: any, callable: Function) { +// const signature = this.signature.toHuman() ? this.signature.toHuman()! : 0 +// this.signature = { +// signed: true, +// toHuman: () => signature, +// } +// const nonce = this.nonce.toHuman() ? this.nonce.toHuman()! : 0 +// this.nonce = { toHuman: () => nonce } +// if (callable) { +// callable(this.result) +// return () => {} +// } +// return '0x123' +// } +// } + +// function __getMockSubmittableExtrinsic(): SubmittableExtrinsic { +// const result: ISubmittableResult = TxResultsQueue.shift() || defaultTxResult +// return new MockSubmittableExtrinsic(result) as any as SubmittableExtrinsic +// } + +// function __makeSubmittableResult( +// opts: Partial +// ): ISubmittableResult { +// const finalized = opts ? !Object.keys(opts)[0] : true +// const status: ExtrinsicStatus = { +// isFinalized: finalized, +// isDropped: false, +// isInvalid: false, +// isUsurped: false, +// isFuture: false, +// isReady: true, +// } as any +// for (const key in opts) { +// status[key] = opts[key] +// } +// const eventData = new GenericEventData( +// TYPE_REGISTRY, +// new Uint8Array([0]), +// undefined, +// undefined, +// {} as any, +// 'system', +// 'ExtrinsicSuccess' +// ) +// return new SubmittableResult({ +// status, +// events: [ +// { +// phase: { +// asApplyExtrinsic: { +// isEmpty: false, +// }, +// }, +// event: { +// section: 'system', +// data: eventData, +// index: { +// toHex: jest.fn(() => { +// return '0x0000' +// }), +// }, +// // portablegabi checks if a transaction was successful +// method: 'ExtrinsicSuccess', +// }, +// } as any, +// ], +// }) +// } + +// function __queueResults(results: Partial[]) { +// results.forEach((status) => { +// TxResultsQueue.push(__makeSubmittableResult(status)) +// }) +// } + +// function __setDefaultResult(status: Partial) { +// defaultTxResult = __makeSubmittableResult(status) +// } + +// const __mocked_api: any = { +// rpc: { +// system: { +// chain: jest.fn(), +// name: jest.fn(), +// version: jest.fn(), +// accountNextIndex: jest.fn( +// async (): Promise => TYPE_REGISTRY.createType('Index', 0) +// ), +// }, +// chain: { subscribeNewHeads: jest.fn() }, +// }, +// tx: { +// mark: { +// anchor: jest.fn((streamHash, _mTypeHash) => { +// return __getMockSubmittableExtrinsic() +// }), +// revoke: jest.fn((streamHash: string) => { +// return __getMockSubmittableExtrinsic() +// }), +// }, +// balances: { +// transfer: jest.fn(() => __getMockSubmittableExtrinsic()), +// }, +// schema: { +// anchor: jest.fn((hash, signature, schemaCid: string) => { +// return __getMockSubmittableExtrinsic() +// }), +// }, +// delegation: { +// createRoot: jest.fn((rootId, _mtypeHash) => { +// return __getMockSubmittableExtrinsic() +// }), +// revokeRoot: jest.fn((rootId) => { +// return __getMockSubmittableExtrinsic() +// }), +// revokeDelegation: jest.fn((delegationId) => { +// return __getMockSubmittableExtrinsic() +// }), +// }, +// did: { +// add: jest.fn((sign_key, box_key, doc_ref) => { +// return __getMockSubmittableExtrinsic() +// }), +// remove: jest.fn(() => { +// return __getMockSubmittableExtrinsic() +// }), +// }, +// // portablegabi: { +// // updateAccumulator: jest.fn((acc) => { +// // // change the accumulator for each update +// // accumulator.push(accumulator.length) +// // return __getMockSubmittableExtrinsic() +// // }), +// // }, +// }, +// query: { +// system: { +// // default return value decodes to BN(0) +// // default return value decodes to AccountInfo with all entries holding BN(0) +// account: jest.fn( +// async ( +// address: IPublicIdentity['address'], +// cb +// ): Promise => +// TYPE_REGISTRY.createType('AccountInfoWithProviders') +// ), +// }, +// mark: { +// // default return value decodes to [], represents no delegated marks +// delegatedMarks: jest.fn(async (id: string) => +// mockChainQueryReturn('mark', 'delegatedMarks') +// ), +// /* example return value: +// new Vec( +// TYPE_REGISTRY +// 'Hash', +// ['0x123', '0x456', '0x789'] +// ) +// */ + +// // default return value decodes to null, represents mark not found +// marks: jest.fn(async (stream_hash: string) => +// mockChainQueryReturn('mark', 'marks') +// ), +// /* example return value: +// new Option( +// TYPE_REGISTRY, +// Tuple.with(['Hash', AccountId, 'Option', Bool]), +// [ +// '0x1234', // mtype hash +// '4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs', // Account +// null, // delegation-id? +// true, // revoked flag +// ] +// ) +// */ +// }, +// schema: { +// // default return value decodes to null, represents MTYPE not found +// schema: jest.fn(async (hash: string) => +// mockChainQueryReturn('schema', 'Schemas') +// ), +// }, +// delegation: { +// // default return value decodes to null, represents delegation not found +// roots: jest.fn(async (rootId: string) => +// mockChainQueryReturn('delegation', 'root') +// ), +// /* example return value: +// new Option( +// TYPE_REGISTRY, +// Tuple.with(['Hash', AccountId, Bool]), +// [ +// '0x1234', // mtype hash +// '4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs', // Account +// false, // revoked flag +// ] +// ) +// */ + +// // default return value decodes to null, represents delegation not found +// delegations: jest.fn(async (delegationId: string) => +// mockChainQueryReturn('delegation', 'delegations') +// ), +// /* example return value: +// new Option( +// TYPE_REGISTRY, +// Tuple.with(['DelegationNodeId','Option',AccountId,U32,Bool]), +// [ +// '0x1234', // root-id +// null, // parent-id? +// '4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs', // Account +// 0, // permissions +// false, // revoked flag +// ] +// ) +// */ + +// // default return value decodes to [], represents: no children found +// children: jest.fn(async (id: string) => +// mockChainQueryReturn('delegation', 'children') +// ), +// /* example return value: +// new Vec( +// TYPE_REGISTRY, +// 'DelegationNodeId', +// ['0x123', '0x456', '0x789'] +// ) +// */ +// }, +// did: { +// // default return value decodes to null, represents dID not found +// dIDs: jest.fn(async (address: string) => +// mockChainQueryReturn('did', 'dIDs') +// ), +// /* example return value: +// new Option( +// TYPE_REGISTRY, +// Tuple.with(['Hash','Hash','Option']), +// [ +// 'publicSigningKey', // publicSigningKey +// 'publicBoxKey', // publicBoxKey +// stringToHex('http://myDID.dway.io'), // document store +// ] +// ) +// */ +// }, +// // portablegabi: { +// // accumulatorList: jest.fn((address: string, index: number) => +// // mockChainQueryReturn('portablegabi', 'accumulatorList', accumulator) +// // ), +// // accumulatorCount: jest.fn((address: string) => +// // mockChainQueryReturn( +// // 'portablegabi', +// // 'accumulatorCount', +// // new U64(TYPE_REGISTRY, 1) +// // ) +// // ), +// // }, +// }, +// runtimeMetadata: { +// asV11: { +// modules: [], +// }, +// }, +// registry: TYPE_REGISTRY, +// } + +// ChainApiConnection.getConnectionOrConnect = getConnectionOrConnect +// ChainApiConnection.__queueResults = __queueResults +// ChainApiConnection.__setDefaultResult = __setDefaultResult +// ChainApiConnection.__mocked_api = __mocked_api +// ChainApiConnection.mockChainQueryReturn = mockChainQueryReturn + +// module.exports = ChainApiConnection diff --git a/packages/network/src/chainApiConnection/__mocks__/BlockchainQuery.ts b/packages/network/src/chainApiConnection/__mocks__/BlockchainQuery.ts new file mode 100644 index 00000000..900fdb13 --- /dev/null +++ b/packages/network/src/chainApiConnection/__mocks__/BlockchainQuery.ts @@ -0,0 +1,136 @@ +import { Option, U8aFixed, U64, Vec, U8 } from '@polkadot/types' +import type { Codec } from '@polkadot/types/types' +import type { Constructor } from '@polkadot/util/types' +import { TYPE_REGISTRY } from '../TypeRegistry' + +const chainProperties = TYPE_REGISTRY.createType('ChainProperties', { + ss58Format: 29, +}) +TYPE_REGISTRY.setChainProperties(chainProperties) + +const AccountId = TYPE_REGISTRY.getOrThrow('AccountId') + +type ChainQueryTypes = { + mark: 'marks' | 'delegatedMarks' + schema: 'Schemas' + delegation: 'root' | 'delegations' | 'children' + did: 'dIDs' + // portablegabi: 'accumulatorList' | 'accumulatorCount' | 'accountState' +} + +/** + * Legend: + * - ? === Option + * - (...) === Tuple + * - [...] === Vec + */ +const chainQueryReturnTuples: { + [K in keyof ChainQueryTypes]: { + [T in ChainQueryTypes[K]]: Constructor + } +} = { + schema: { + // MTYPEs: mtype-hash -> account-id? + Schemas: AccountId, + }, + delegation: { + // Root-Delegation: root-id -> (mtype-hash, account, revoked) + root: TYPE_REGISTRY.getOrUnknown('DelegationRoot'), + // Delegations: delegation-id -> (root-id, parent-id?, account, permissions, revoked)? + delegations: TYPE_REGISTRY.getOrUnknown('DelegationNode'), + // Children: root-or-delegation-id -> [delegation-id] + children: TYPE_REGISTRY.getOrUnknown('DelegationNodeIdOf'), + }, + mark: { + // Marks: stream-hash -> (mtype-hash, issuer-account, delegation-id?, revoked)? + marks: TYPE_REGISTRY.getOrUnknown('MarkDetails'), + // DelegatedMarks: delegation-id -> [stream-hash] + delegatedMarks: TYPE_REGISTRY.getOrUnknown('Hash'), + }, + did: { + // DID: account-id -> (public-signing-key, public-encryption-key, did-reference?)? + dIDs: TYPE_REGISTRY.getOrUnknown('DidDetails'), + }, + // portablegabi: { + // // AccumulatorList: account-id -> [accumulators]? + // accumulatorList: ('Vec' as unknown) as Constructor, + // // AccumulatorCount: account-id -> counter + // accumulatorCount: U64, + // // AccountState: account-id -> state + // accountState: U64, + // }, +} + +/** + * This function should be used to mock values of chain queries. + * It sets the correct encoding types and mocks the chain query return value. + * + * @param outerQuery The name of the module which you want to query. + * @param innerQuery The name of the storage item of the module which you want to query. + * @param mockValue The value which the mock should return. + * @returns The mockvalue wrapped into either a vector or an option. + */ +export function mockChainQueryReturn( + outerQuery: T, + innerQuery: ChainQueryTypes[T], + mockValue?: + | Constructor + | U64 + | string + | Array< + | Constructor + | number + | string + | undefined + | U8 + | boolean + | null + | U8aFixed + | any + > +): Option | Vec { + const chainQueryReturnTuple = + chainQueryReturnTuples[outerQuery as string][innerQuery] + + // helper function to wrap values into a vector + function wrapInVec() { + return new Vec( + TYPE_REGISTRY, + chainQueryReturnTuple, + mockValue as Constructor[] + ) + } + // helper function to wrap values into an option + function wrapInOption() { + return new Option(TYPE_REGISTRY, chainQueryReturnTuple, mockValue) + } + // check cases + switch (outerQuery) { + case 'mark': { + if (innerQuery === 'delegatedMarks') { + return wrapInVec() + } + return wrapInOption() + } + case 'schema': { + return wrapInOption() + } + case 'delegation': { + if (innerQuery === 'children') return wrapInVec() + return wrapInOption() + } + case 'did': { + return wrapInOption() + } + // case 'portablegabi': { + // if (innerQuery === 'accumulatorList') return wrapInOption() + // return chainQueryReturnTuple + // } + default: + // should never occur + throw new Error( + `Missing module ${outerQuery}. + The following ones exist: mark, schema, delegation, did.` + ) + } +} diff --git a/packages/network/src/chainApiConnection/index.ts b/packages/network/src/chainApiConnection/index.ts new file mode 100644 index 00000000..9743950b --- /dev/null +++ b/packages/network/src/chainApiConnection/index.ts @@ -0,0 +1,2 @@ +export * as ChainApiConnection from './ChainApiConnection' +export { TYPE_REGISTRY as TypeRegistry, CORD_TYPES } from './TypeRegistry' diff --git a/packages/network/src/errorhandling/ErrorHandler.spec.ts b/packages/network/src/errorhandling/ErrorHandler.spec.ts new file mode 100644 index 00000000..48d925c6 --- /dev/null +++ b/packages/network/src/errorhandling/ErrorHandler.spec.ts @@ -0,0 +1,80 @@ +/** + * @group unit/errorhandling + */ + +/* eslint-disable @typescript-eslint/ban-ts-comment */ +import type { ISubmittableResult } from '@cord.network/types' +import { DispatchError, EventRecord } from '@polkadot/types/interfaces' +import { ErrorHandler, PalletIndex } from '.' +import { ExtrinsicError, ExtrinsicErrors } from './ExtrinsicError' +import { TypeRegistry } from '../chainApiConnection' + +describe('ErrorHandler', () => { + it('test extrinsic failed', () => { + const evtRecord = { + phase: { + isApplyExtrinsic: true, + }, + event: { + index: { + toHex: jest.fn(() => { + return '0x0001' + }), + }, + }, + } + const submittableResult = { + events: [evtRecord] as unknown as EventRecord[], + } as ISubmittableResult + + expect(ErrorHandler.extrinsicFailed(submittableResult)).toBeTruthy() + }) + + it('test extrinsic succeeded', () => { + const evtRecord = { + phase: { + isApplyExtrinsic: true, + }, + event: { + index: { + toHex: jest.fn(() => { + return '0x0000' + }), + }, + }, + } + const submittableResult = { + events: [evtRecord] as unknown as EventRecord[], + } as ISubmittableResult + + expect(ErrorHandler.extrinsicFailed(submittableResult)).toBeFalsy() + }) + + it('test get extrinsic error', async () => { + const dispatchError: DispatchError = TypeRegistry.createType( + 'DispatchError', + { Module: { index: PalletIndex.Schema, error: 0 } } + ) + + const errorEventRecord = { + phase: { + isApplyExtrinsic: true, + }, + event: { + section: 'system', + data: [dispatchError], + }, + } + const submittableResult = { + events: [errorEventRecord] as unknown as EventRecord[], + dispatchError, + } as ISubmittableResult + + const { code, message } = ExtrinsicErrors.Schema.ERROR_SCHEMA_NOT_FOUND + + // @ts-ignore + expect(ErrorHandler.getExtrinsicError(submittableResult)).toStrictEqual( + new ExtrinsicError(code, message) + ) + }) +}) diff --git a/packages/network/src/errorhandling/ErrorHandler.ts b/packages/network/src/errorhandling/ErrorHandler.ts new file mode 100644 index 00000000..b1904d4d --- /dev/null +++ b/packages/network/src/errorhandling/ErrorHandler.ts @@ -0,0 +1,84 @@ +/** + * ErrorHandler helps spot and determine transaction errors. + * + * @packageDocumentation + * @module ErrorHandler + * @preferred + */ + +import type { EventRecord } from '@polkadot/types/interfaces' +import type { ISubmittableResult } from '@cord.network/types' +import { ConfigService } from '@cord.network/config' +import { errorForPallet, ExtrinsicError } from './ExtrinsicError' + +const log = ConfigService.LoggingFactory.getLogger('Chain') + +export enum SystemEvent { + ExtrinsicSuccess = '0x0000', + ExtrinsicFailed = '0x0001', +} +export interface ModuleError { + Module: { index: number; error: number } +} + +/** + * Checks if there is `SystemEvent.ExtrinsicFailed` in the list of + * transaction events within the given `extrinsicResult`. + * + * @param extrinsicResult The result of a submission. + * @returns Whether the extrinsic submission failed. + */ +export function extrinsicFailed(extrinsicResult: ISubmittableResult): boolean { + const events: EventRecord[] = extrinsicResult.events || [] + return events.some((eventRecord: EventRecord) => { + return ( + eventRecord.phase.isApplyExtrinsic && + eventRecord.event.index.toHex() === SystemEvent.ExtrinsicFailed + ) + }) +} + +/** + * Checks if there is `SystemEvent.ExtrinsicSuccess` in the list of + * transaction events within the given `extrinsicResult`. + * + * @param extrinsicResult The result of a submission. + * @returns Whether the extrinsic submission succeeded. + */ +export function extrinsicSuccessful( + extrinsicResult: ISubmittableResult +): boolean { + const events: EventRecord[] = extrinsicResult.events || [] + return events.some((eventRecord: EventRecord) => { + return ( + eventRecord.phase.isApplyExtrinsic && + eventRecord.event.index.toHex() === SystemEvent.ExtrinsicSuccess + ) + }) +} + +/** + * Get the extrinsic error from the transaction result. + * + * @param extrinsicResult The transaction result. + * @returns The extrinsic error. + */ +export function getExtrinsicError( + extrinsicResult: ISubmittableResult +): ExtrinsicError | null { + const errorEvent = extrinsicResult.dispatchError + + if (errorEvent && errorEvent.isModule) { + const moduleError = errorEvent.asModule + + const index = moduleError.index.toNumber() + const error = moduleError.error.toNumber() + if (index >= 0 && error >= 0) { + return errorForPallet({ index, error }) + } + log.warn( + `error event module index or error code out of range. index: ${index}; error: ${error}` + ) + } + return null +} diff --git a/packages/network/src/errorhandling/ExtrinsicError.spec.ts b/packages/network/src/errorhandling/ExtrinsicError.spec.ts new file mode 100644 index 00000000..6531f9b6 --- /dev/null +++ b/packages/network/src/errorhandling/ExtrinsicError.spec.ts @@ -0,0 +1,49 @@ +/** + * @group unit/errorhandling + */ + +import { + errorForPallet, + ExtrinsicError, + PalletToExtrinsicErrors, +} from './ExtrinsicError' + +describe('ExtrinsicError', () => { + const errorCodes = Object.keys(PalletToExtrinsicErrors).reduce( + ( + acc: Array<{ + index: number + errorIndex: number + error: { code: number; message: string } + }>, + palletIndex + ) => { + const errorIndices = Object.keys(PalletToExtrinsicErrors[palletIndex]) + const pairs: Array<{ + index: number + errorIndex: number + error: { code: number; message: string } + }> = errorIndices.map((error) => ({ + index: Number.parseInt(palletIndex, 10), + errorIndex: Number.parseInt(error, 10), + error: PalletToExtrinsicErrors[palletIndex][error], + })) + + return [...acc, ...pairs] + }, + [] + ) + + it.each(errorCodes)( + 'should return error for code %s', + ({ index, errorIndex, error }) => { + expect(errorForPallet({ index, error: errorIndex })).toBeDefined() + expect(errorForPallet({ index, error: errorIndex })).toBeInstanceOf( + ExtrinsicError + ) + expect(errorForPallet({ index, error: errorIndex })).toStrictEqual( + new ExtrinsicError(error.code, error.message) + ) + } + ) +}) diff --git a/packages/network/src/errorhandling/ExtrinsicError.ts b/packages/network/src/errorhandling/ExtrinsicError.ts new file mode 100644 index 00000000..f0d415ac --- /dev/null +++ b/packages/network/src/errorhandling/ExtrinsicError.ts @@ -0,0 +1,234 @@ +/** + * ExtrinsicErrors are CORD-specific errors, with associated codes and descriptions. + * + * @packageDocumentation + * @module ErrorHandler + */ + +import type { ModuleError } from './ErrorHandler' + +export class ExtrinsicError extends Error { + public errorCode: number + + public constructor(errorCode: number, message: string) { + super(message) + this.errorCode = errorCode + } +} + +export const ExtrinsicErrors = { + Entity: { + ERROR_VERIFIER_ACCOUNT_NOT_FOUND: { + code: 32000, + message: 'Entity verifier not found', + }, + ERROR_VERIFIER_ACCOUNT_ALREADY_EXISTS: { + code: 32001, + message: 'Entity verifier already exists', + }, + ERROR_VERIFIER_ACCOUNT_ALREADY_REVOKED: { + code: 32002, + message: 'Entity verifier account already revoked', + }, + ERROR_NOT_PERMITTED_TO_REVOKE: { + code: 32003, + message: 'Entity verifier account not permitted to revoke', + }, + ERROR_VERIFIER_ACCOUNT_REVOKED: { + code: 32004, + message: 'Entity verifier account revoked', + }, + ERROR_NO_STATUS_CHANGE_REQUIRED: { + code: 32005, + message: 'Entity verifier - No status change required', + }, + UNKNOWN_VERIFIER_ERROR: { + code: 32100, + message: 'an unknown entity pallet error occured', + }, + }, + Schema: { + ERROR_INVALID_REQUEST: { + code: 33000, + message: 'Schema request is not valid', + }, + ERROR_SAME_SCHEMA_ID_AND_HASH: { + code: 33001, + message: 'Schema ID and hash are the same', + }, + ERROR_SCHEMA_ALREADY_EXISTS: { + code: 33002, + message: 'Schema already exist', + }, + ERROR_SCHEMA_HASH_ALREADY_EXISTS: { + code: 33003, + message: 'Schema hash already exist', + }, + ERROR_SCHEMA_NOT_FOUND: { code: 33004, message: 'Schema not found' }, + ERROR_SCHEMA_DELEGATE_NOT_FOUND: { + code: 33005, + message: 'Schema delegate not found', + }, + ERROR_SCHEMA_REVOKED: { code: 33006, message: 'Schema revoked' }, + ERROR_INVALID_CID_ENCODING: { + code: 33007, + message: 'Invalid CID encoding', + }, + ERROR_CID_ALREADY_ANCHORED: { code: 33008, message: 'CID already mapped' }, + ERROR_SCHEMA_STATUS_CHANGE_NOT_REQUIRED: { + code: 33009, + message: 'Schema status change not required', + }, + ERROR_SCHEMA_OPERATION_NOT_PERMITTED: { + code: 33010, + message: 'Schema operation not permitted', + }, + ERROR_TOO_MANY_SCHEMA_DELEGATES: { + code: 33011, + message: 'Schema delegates exceed max limit', + }, + ERROR_SCHEMA_NOT_PERMISSIONED: { + code: 33012, + message: 'Schema not permissioned type', + }, + ERROR_SCHEMA_PERMISSION_CHANGE_NOT_REQUIRED: { + code: 33013, + message: 'Schema permission change not required', + }, + UNKNOWN_SCHEMA_ERROR: { + code: 33014, + message: 'An unknown schema pallet error occured', + }, + }, + Stream: { + ERROR_INVALID_REQUEST: { + code: 34000, + message: 'Stream request is not valid', + }, + ERROR_SAME_STREAM_ID_AND_HASH: { + code: 34001, + message: 'Strea identifier and hash are the same', + }, + ERROR_STREAM_ALREADY_EXISTS: { + code: 34002, + message: 'Stream already exist', + }, + ERROR_STREAM_NOT_FOUND: { code: 34003, message: 'Stream not found' }, + ERROR_STREAM_REVOKED: { code: 34004, message: 'Stream revoked' }, + ERROR_CID_ALREADY_ANCHORED: { + code: 34005, + message: 'CID already anchored', + }, + ERROR_STREAM_STATUS_CHANGE_NOT_REQUIRED: { + code: 34006, + message: 'Stream status change not required', + }, + ERROR_STREAM_OPERATION_NOT_PERMITTED: { + code: 34007, + message: 'Stream operation not permitted', + }, + ERROR_STREAM_LINK_NOT_FOUND: { + code: 34008, + message: 'Stream link not found', + }, + ERROR_STREAM_LINK_REVOKED: { + code: 34009, + message: 'Stream link revoked', + }, + UNKNOWN_STREAM_ERROR: { + code: 34010, + message: 'An unknown stream pallet error occured', + }, + }, + UNKNOWN_ERROR: { code: -1, message: 'an unknown extrinsic error ocurred' }, +} + +export enum PalletIndex { + DID = 31, + Entity = 32, + Schema = 33, + Stream = 34, + Nix = 35, +} + +export interface IPalletToExtrinsicErrors { + [key: number]: { + [key: number]: { + code: number + message: string + } + } +} + +export const PalletToExtrinsicErrors: IPalletToExtrinsicErrors = { + [PalletIndex.Entity]: { + 0: ExtrinsicErrors.Entity.ERROR_VERIFIER_ACCOUNT_NOT_FOUND, + 1: ExtrinsicErrors.Entity.ERROR_VERIFIER_ACCOUNT_ALREADY_EXISTS, + 2: ExtrinsicErrors.Entity.ERROR_VERIFIER_ACCOUNT_ALREADY_REVOKED, + 3: ExtrinsicErrors.Entity.ERROR_NOT_PERMITTED_TO_REVOKE, + 4: ExtrinsicErrors.Entity.ERROR_VERIFIER_ACCOUNT_REVOKED, + 5: ExtrinsicErrors.Entity.ERROR_NO_STATUS_CHANGE_REQUIRED, + [-1]: ExtrinsicErrors.Entity.UNKNOWN_VERIFIER_ERROR, + }, + [PalletIndex.Schema]: { + 0: ExtrinsicErrors.Schema.ERROR_INVALID_REQUEST, + 1: ExtrinsicErrors.Schema.ERROR_SAME_SCHEMA_ID_AND_HASH, + 2: ExtrinsicErrors.Schema.ERROR_SCHEMA_ALREADY_EXISTS, + 3: ExtrinsicErrors.Schema.ERROR_SCHEMA_HASH_ALREADY_EXISTS, + 4: ExtrinsicErrors.Schema.ERROR_SCHEMA_NOT_FOUND, + 5: ExtrinsicErrors.Schema.ERROR_SCHEMA_DELEGATE_NOT_FOUND, + 6: ExtrinsicErrors.Schema.ERROR_SCHEMA_REVOKED, + 7: ExtrinsicErrors.Schema.ERROR_INVALID_CID_ENCODING, + 8: ExtrinsicErrors.Schema.ERROR_CID_ALREADY_ANCHORED, + 9: ExtrinsicErrors.Schema.ERROR_SCHEMA_STATUS_CHANGE_NOT_REQUIRED, + 10: ExtrinsicErrors.Schema.ERROR_SCHEMA_OPERATION_NOT_PERMITTED, + 11: ExtrinsicErrors.Schema.ERROR_TOO_MANY_SCHEMA_DELEGATES, + 12: ExtrinsicErrors.Schema.ERROR_SCHEMA_NOT_PERMISSIONED, + 13: ExtrinsicErrors.Schema.ERROR_SCHEMA_PERMISSION_CHANGE_NOT_REQUIRED, + [-1]: ExtrinsicErrors.Schema.UNKNOWN_SCHEMA_ERROR, + }, + [PalletIndex.Stream]: { + 0: ExtrinsicErrors.Stream.ERROR_INVALID_REQUEST, + 1: ExtrinsicErrors.Stream.ERROR_SAME_STREAM_ID_AND_HASH, + 2: ExtrinsicErrors.Stream.ERROR_STREAM_ALREADY_EXISTS, + 3: ExtrinsicErrors.Stream.ERROR_STREAM_NOT_FOUND, + 4: ExtrinsicErrors.Stream.ERROR_STREAM_REVOKED, + 5: ExtrinsicErrors.Stream.ERROR_CID_ALREADY_ANCHORED, + 6: ExtrinsicErrors.Stream.ERROR_STREAM_STATUS_CHANGE_NOT_REQUIRED, + 7: ExtrinsicErrors.Stream.ERROR_STREAM_OPERATION_NOT_PERMITTED, + 8: ExtrinsicErrors.Stream.ERROR_STREAM_LINK_NOT_FOUND, + 9: ExtrinsicErrors.Stream.ERROR_STREAM_LINK_REVOKED, + [-1]: ExtrinsicErrors.Stream.UNKNOWN_STREAM_ERROR, + }, +} + +/** + * Returns a descriptive Substrate error given the pallet index and the error code. + * + * @param details The error details. + * @param details.index The index of the CORD pallet as specified in the runtime. + * @param details.error The index of the error definition inside the pallet. + * @returns A new corresponding [[ExtrinsicError]]. + */ +export function errorForPallet({ + index: moduleIndex, + error: errorCode, +}: ModuleError['Module']): ExtrinsicError { + if (!PalletToExtrinsicErrors[moduleIndex]) { + return new ExtrinsicError( + ExtrinsicErrors.UNKNOWN_ERROR.code, + ExtrinsicErrors.UNKNOWN_ERROR.message + ) + } + if (!PalletToExtrinsicErrors[moduleIndex][errorCode]) { + return new ExtrinsicError( + PalletToExtrinsicErrors[moduleIndex][-1].code, + PalletToExtrinsicErrors[moduleIndex][-1].message + ) + } + + return new ExtrinsicError( + PalletToExtrinsicErrors[moduleIndex][errorCode].code, + PalletToExtrinsicErrors[moduleIndex][errorCode].message + ) +} diff --git a/packages/network/src/errorhandling/index.ts b/packages/network/src/errorhandling/index.ts new file mode 100644 index 00000000..42baf9cd --- /dev/null +++ b/packages/network/src/errorhandling/index.ts @@ -0,0 +1,2 @@ +export * as ErrorHandler from './ErrorHandler' +export * from './ExtrinsicError' diff --git a/packages/network/src/index.ts b/packages/network/src/index.ts new file mode 100644 index 00000000..a7ba1f63 --- /dev/null +++ b/packages/network/src/index.ts @@ -0,0 +1,7 @@ +export { ExtrinsicError, ExtrinsicErrors, PalletIndex } from './errorhandling' +export { + ChainApiConnection, + CORD_TYPES, + TypeRegistry, +} from './chainApiConnection' +export { Chain, ChainUtils, SubscriptionPromise } from './chain' diff --git a/packages/network/tsconfig.build.json b/packages/network/tsconfig.build.json new file mode 100644 index 00000000..aa3a3def --- /dev/null +++ b/packages/network/tsconfig.build.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + "exclude": [ + "node_modules", + "**/*.spec.ts" + ] +} \ No newline at end of file diff --git a/packages/types/package.json b/packages/types/package.json new file mode 100644 index 00000000..56ea31f8 --- /dev/null +++ b/packages/types/package.json @@ -0,0 +1,33 @@ +{ + "name": "@cord.network/types", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json" + }, + "repository": "github:dhiway/cord-js", + "engines": { + "node": ">=14.0" + }, + "author": "", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "dependencies": { + "@polkadot/api": "^6.3.1", + "@polkadot/keyring": "^7.8.2", + "@polkadot/types": "^6.3.1", + "tweetnacl": "^1.0.3" + }, + "devDependencies": { + "rimraf": "^3.0.2", + "ts-node": "^8.10.2", + "typescript": "^4.2.2" + } +} diff --git a/packages/types/src/Balance.ts b/packages/types/src/Balance.ts new file mode 100644 index 00000000..bf336632 --- /dev/null +++ b/packages/types/src/Balance.ts @@ -0,0 +1,22 @@ +/** + * @packageDocumentation + * @module IBalance + */ + +import type BN from 'bn.js' + +export type Balances = { + free: BN + reserved: BN + miscFrozen: BN + feeFrozen: BN +} + +// Extracted options from polkadot/util +export interface BalanceOptions { + decimals?: number + forceUnit?: string + withSi?: boolean + withSiFull?: boolean + withUnit?: boolean | string +} diff --git a/packages/types/src/Chain.ts b/packages/types/src/Chain.ts new file mode 100644 index 00000000..925c4777 --- /dev/null +++ b/packages/types/src/Chain.ts @@ -0,0 +1,44 @@ +/** + * @packageDocumentation + * @module IBlockchain + */ + +import type { ApiPromise } from '@polkadot/api' +import type { Header } from '@polkadot/types/interfaces/types' +import { AnyNumber } from '@polkadot/types/types' +import type BN from 'bn.js' +import type { + IIdentity, + ISubmittableResult, + SubmittableExtrinsic, + SubscriptionPromise, +} from '.' + +export type ReSignOpts = { reSign: boolean; tip: AnyNumber } +export type ChainStats = { + chain: string + nodeName: string + nodeVersion: string +} + +export interface IChainApi { + api: ApiPromise + + getStats(): Promise + listenToBlocks(listener: (header: Header) => void): Promise<() => void> + signTx( + identity: IIdentity, + tx: SubmittableExtrinsic, + tip?: AnyNumber + ): Promise + submitSignedTxWithReSign( + tx: SubmittableExtrinsic, + identity?: IIdentity, + opts?: Partial + ): Promise + getNonce(accountAddress: string): Promise + reSignTx( + identity: IIdentity, + tx: SubmittableExtrinsic + ): Promise +} diff --git a/packages/types/src/Content.ts b/packages/types/src/Content.ts new file mode 100644 index 00000000..ce4d22ac --- /dev/null +++ b/packages/types/src/Content.ts @@ -0,0 +1,33 @@ +/** + * @packageDocumentation + * @module IContent + */ +import type { ISchema } from './Schema' +import type { IPublicIdentity } from './PublicIdentity' + +/** + * The minimal partial stream from which a JSON-LD representation can be built. + */ +export type PartialContent = Partial & Pick + +export type IContents = Record< + string, + Record | string | number | boolean +> +export interface IContent { + schemaId: ISchema['id'] + contents: IContents + creator: IPublicIdentity['address'] +} + +export type CompressedContent = [ + IContent['schemaId'], + IContent['creator'], + IContents +] + +export type CompressedPartialContent = [ + IContent['schemaId'], + IContent['creator'] | undefined, + IContents | undefined +] diff --git a/packages/types/src/ContentStream.ts b/packages/types/src/ContentStream.ts new file mode 100644 index 00000000..76189800 --- /dev/null +++ b/packages/types/src/ContentStream.ts @@ -0,0 +1,41 @@ +/** + * @packageDocumentation + * @module IJournalContent + */ + +import type { ICredential, CompressedCredential } from './Credential' +import type { IContent, CompressedContent } from './Content' +import type { IPublicIdentity } from './PublicIdentity' + +export type Hash = string + +export type NonceHash = { + hash: Hash + nonce?: string +} + +export interface IContentStream { + content: IContent + contentHashes: Hash[] + contentNonceMap: Record + proofs: ICredential[] + link?: string + holder?: IPublicIdentity['address'] + creator: IPublicIdentity['address'] + creatorSignature: string + contentHash: Hash + id: string +} + +export type CompressedContentStream = [ + CompressedContent, + IContentStream['contentHashes'], + IContentStream['contentNonceMap'], + IContentStream['creatorSignature'], + IContentStream['holder'], + IContentStream['creator'], + IContentStream['link'], + CompressedCredential[], + IContentStream['contentHash'], + IContentStream['id'] +] diff --git a/packages/types/src/Credential.ts b/packages/types/src/Credential.ts new file mode 100644 index 00000000..01befca7 --- /dev/null +++ b/packages/types/src/Credential.ts @@ -0,0 +1,14 @@ +/** + * @packageDocumentation + * @module ICredential + */ + +import type { IStream, CompressedStream } from './Stream' +import type { IContentStream, CompressedContentStream } from './ContentStream' + +export interface ICredential { + content: IStream + request: IContentStream +} + +export type CompressedCredential = [CompressedContentStream, CompressedStream] diff --git a/packages/types/src/Identity.ts b/packages/types/src/Identity.ts new file mode 100644 index 00000000..9427c7be --- /dev/null +++ b/packages/types/src/Identity.ts @@ -0,0 +1,24 @@ +/** + * @packageDocumentation + * @module IIdentity + */ +import type { KeyringPair } from '@polkadot/keyring/types' +import type { SubmittableExtrinsic } from '@polkadot/api/promise/types' +import type { BoxKeyPair } from 'tweetnacl' +import type { Index } from '@polkadot/types/interfaces' +import { AnyNumber } from '@polkadot/types/types' + +export interface IIdentity { + readonly signKeyringPair: KeyringPair + readonly seed: Uint8Array + readonly seedAsHex: string + readonly signPublicKeyAsHex: string + readonly boxKeyPair: BoxKeyPair + address: KeyringPair['address'] + serviceAddress?: string + signSubmittableExtrinsic( + submittableExtrinsic: SubmittableExtrinsic, + nonce: AnyNumber | Index, + tip?: AnyNumber + ): Promise +} diff --git a/packages/types/src/Message.ts b/packages/types/src/Message.ts new file mode 100644 index 00000000..87cf72bc --- /dev/null +++ b/packages/types/src/Message.ts @@ -0,0 +1,196 @@ +/** + * @packageDocumentation + * @module IMessage + */ + +import type { CompressedStream, IStream } from './Stream' +import type { CompressedCredential } from './Credential' + +import type { + CompressedContent, + IContent, + IContents, + PartialContent, +} from './Content' +import type { ISchema } from './Schema' +import type { IPublicIdentity } from './PublicIdentity' +import type { CompressedContentStream, IContentStream } from './ContentStream' +import { IPresentation } from './Presentation' + +export enum MessageBodyType { + REQUEST_STREAM = 'request-stream', + ANCHOR_STREAM = 'anchor-stream', + REJECT_STREAM = 'reject-stream', + + REQUEST_CREDENTIAL = 'request-credential', + SUBMIT_CREDENTIAL = 'submit-credential', + ACCEPT_CREDENTIAL = 'accept-credential', + REJECT_CREDENTIAL = 'reject-credential', +} + +/** + * - `body` - The body of the message, see [[MessageBody]]. + * - `createdAt` - The timestamp of the message construction. + * - `receiverAddress` - The public SS58 address of the receiver. + * - `senderAddress` - The public SS58 address of the sender. + * - `senderBoxPublicKex` - The public encryption key of the sender. + * - `requestId` - The message id. + * - `inReplyTo` - The id of the parent-message. + * - `references` - The references or the in-reply-to of the parent-message followed by the message-id of the parent-message. + */ +export interface IMessage { + body: MessageBody + createdAt: number + purpose?: string + receiverAddress: IPublicIdentity['address'] + senderAddress: IPublicIdentity['address'] + senderPublicKey: IPublicIdentity['boxPublicKeyAsHex'] + request?: string + receivedAt?: number + inReplyTo?: IMessage['request'] + references?: Array +} + +/** + * Removes the [[MessageBody]], parent-id and references from the [[Message]] and adds + * four new fields: message, nonce, hash and signature. + * - `message` - The encrypted body of the message. + * - `nonce` - The encryption nonce. + * - `hash` - The hash of the concatenation of message + nonce + createdAt. + * - `signature` - The sender's signature on the hash. + */ +export type IEncryptedMessage = Pick< + IMessage, + | 'createdAt' + | 'receiverAddress' + | 'senderAddress' + | 'senderPublicKey' + | 'request' + | 'receivedAt' +> & { + encryptedStream: string + nonce: string + hash: string + signature: string +} +interface IMessageBodyBase { + content: any + type: MessageBodyType + request: string + purpose?: string + validUntil?: number + relatedData?: boolean + signature?: string +} + +export interface IRequestStream extends IMessageBodyBase { + content: IRequestStreamContent + type: MessageBodyType.REQUEST_STREAM +} +export interface IAnchorStream extends IMessageBodyBase { + content: IAnchorStreamContent + type: MessageBodyType.ANCHOR_STREAM +} +export interface IRejectStream extends IMessageBodyBase { + content: IContentStream['id'] + type: MessageBodyType.REJECT_STREAM +} + +export interface IRequestCredential extends IMessageBodyBase { + content: IRequestStreamForCredential[] + type: MessageBodyType.REQUEST_CREDENTIAL +} +export interface ISubmitCredential extends IMessageBodyBase { + content: IPresentation[] + type: MessageBodyType.SUBMIT_CREDENTIAL +} +export interface IAcceptCredential extends IMessageBodyBase { + content: Array + type: MessageBodyType.ACCEPT_CREDENTIAL +} +export interface IRejectCredential extends IMessageBodyBase { + content: Array + type: MessageBodyType.REJECT_CREDENTIAL +} + +export type CompressedRequestStream = [ + MessageBodyType.REQUEST_STREAM, + CompressedRequestStreamContent +] +export type CompressedAnchorStream = [ + MessageBodyType.ANCHOR_STREAM, + CompressedStream +] +export type CompressedRejectStream = [ + MessageBodyType.REJECT_STREAM, + IContentStream['id'] +] + +export type CompressedRequestCredential = [ + MessageBodyType.REQUEST_CREDENTIAL, + CompressedRequestCredentialContent[] +] +export type CompressedSubmitCredential = [ + MessageBodyType.SUBMIT_CREDENTIAL, + CompressedCredential[] +] +export type CompressedAcceptCredential = [ + MessageBodyType.ACCEPT_CREDENTIAL, + Array +] +export type CompressedRejectCredential = [ + MessageBodyType.REJECT_CREDENTIAL, + Array +] + +export interface IRequestStreamContent { + requestStream: IContentStream + prerequisiteStreams?: Array +} +// Seems this can be removed +export interface IAnchorStreamContent { + stream: IStream +} +export interface IRequestStreamForCredential { + id: ISchema['id'] + acceptedIssuer?: Array + requiredProperties?: string[] +} + +export type CompressedPartialContentStream = [ + IContent['schemaId'], + IContent['creator'] | undefined, + IContents | undefined +] + +export type CompressedRequestCredentialContent = [ + ISchema['id'], + Array | undefined, + string[] | undefined +] + +export type CompressedRequestStreamContent = [ + CompressedContentStream, + Array | undefined +] + +export type MessageBody = + // + | IRequestStream + | IAnchorStream + | IRejectStream + // + | IRequestCredential + | ISubmitCredential + | IAcceptCredential + | IRejectCredential + +export type CompressedMessageBody = + | CompressedRequestStream + | CompressedAnchorStream + | CompressedRejectStream + // + | CompressedRequestCredential + | CompressedSubmitCredential + | CompressedAcceptCredential + | CompressedRejectCredential diff --git a/packages/types/src/Presentation.ts b/packages/types/src/Presentation.ts new file mode 100644 index 00000000..35ee7077 --- /dev/null +++ b/packages/types/src/Presentation.ts @@ -0,0 +1,24 @@ +import { ICredential } from './Credential' + +export interface IPresentation { + credentials: ICredential[] + // request?: string + // purpose?: string + // validUntil?: number + // relatedData?: boolean + signature?: string +} + +export interface Signer { + sign: (data: Uint8Array) => Uint8Array +} + +export interface IPresentationSigningOptions { + request: string + signer: Signer +} + +export interface IPresentationOptions { + showAttributes?: string[] + hideAttributes?: string[] +} diff --git a/packages/types/src/PublicIdentity.ts b/packages/types/src/PublicIdentity.ts new file mode 100644 index 00000000..d237b9e3 --- /dev/null +++ b/packages/types/src/PublicIdentity.ts @@ -0,0 +1,9 @@ +/** + * @packageDocumentation + * @module IPublicIdentity + */ +export interface IPublicIdentity { + address: string + boxPublicKeyAsHex: string + serviceAddress?: string +} diff --git a/packages/types/src/Schema.ts b/packages/types/src/Schema.ts new file mode 100644 index 00000000..98a51864 --- /dev/null +++ b/packages/types/src/Schema.ts @@ -0,0 +1,53 @@ +/** + * @packageDocumentation + * @module ISchema + */ +import type { IPublicIdentity } from './PublicIdentity' + +export interface ISchemaType { + $id: string + $schema: string + name: string + properties: { + [key: string]: { $ref?: string; type?: string; format?: string } + } + type: 'object' +} + +export type SchemaWithoutId = Omit +export interface ISchema { + id: string + hash: string + creator: IPublicIdentity['address'] + schema: ISchemaType + permissioned: boolean + revoked: boolean +} + +export type CompressedSchema = [ + ISchemaType['$id'], + ISchemaType['$schema'], + ISchemaType['name'], + ISchemaType['properties'], + ISchemaType['type'] +] + +export type CompressedSchemaType = [ + ISchema['id'], + ISchema['hash'], + ISchema['creator'], + ISchema['permissioned'], + ISchema['revoked'], + CompressedSchema +] + +export interface ISchemaDetails { + id: string + schema_hash: ISchema['hash'] + cid: string | null + pcid: string | null + creator: IPublicIdentity['address'] + block: string + permissioned: boolean + revoked: boolean +} diff --git a/packages/types/src/SchemaMetadata.ts b/packages/types/src/SchemaMetadata.ts new file mode 100644 index 00000000..28bcd2bb --- /dev/null +++ b/packages/types/src/SchemaMetadata.ts @@ -0,0 +1,32 @@ +/** + * @packageDocumentation + * @module ISchemaMetadata + */ +export interface ISchemaMetadata { + metadata: IMetadata + id: string | null + hash: string | null + link: string | null +} + +export interface IMetadata { + name: IMultilangLabel + description?: IMultilangLabel + properties: IMetadataProperties +} + +export type IMetadataProperties = { + [key: string]: { name: IMultilangLabel; description?: IMultilangLabel } +} + +/** + * String struct with string keys and a mandatory `default` field. + * Meant to contain a default label/description and an arbitrary number of translations, + * where keys represent the use case (language) and values are the labels for this use case. + */ +export interface IMultilangLabel { + /** Default label in the original language. */ + default: string + /** An arbitrary number of translations where the key indicates the language. */ + [key: string]: string +} diff --git a/packages/types/src/Storage.ts b/packages/types/src/Storage.ts new file mode 100644 index 00000000..4ca2dceb --- /dev/null +++ b/packages/types/src/Storage.ts @@ -0,0 +1,70 @@ +/** + * @packageDocumentation + * @module IStorage + */ + +import type { IContent, PartialContent } from './Content' +import type { ISchema } from './Schema' +import type { IPublicIdentity } from './PublicIdentity' +import type { IContentStream } from './ContentStream' + +export enum StorageContentType { + STORE_SCHEMA = 'storage-for-schema', + STORE_STREAM = 'storage-for-stream', +} + +/** + * - `body` - The body of the message, see [[MessageBody]]. + * - `createdAt` - The timestamp of the message construction. + * - `controllerAddress` - The public SS58 address of the sender. + * - `controllerBoxPublicKex` - The public encryption key of the sender. + */ +export interface IStorage { + content: StoreContent + createdAt: number + controllerAddress: IPublicIdentity['address'] + controllerPublicKey: IPublicIdentity['boxPublicKeyAsHex'] +} + +/** + * Removes the [[MessageBody]], parent-id and references from the [[Message]] and adds + * four new fields: message, nonce, hash and signature. + * - `message` - The encrypted body of the message. + * - `nonce` - The encryption nonce. + * - `hash` - The hash of the concatenation of message + nonce + createdAt. + * - `signature` - The sender's signature on the hash. + */ +export type IEncryptedStorage = Pick< + IStorage, + 'createdAt' | 'controllerAddress' | 'controllerPublicKey' +> & { + encryptedStream: string + nonce: string + hash: string + signature: string +} +interface IStorageBase { + content: any + type: StorageContentType +} + +export interface IStorageForStream extends IStorageBase { + content: IStorageForStreamContent + type: StorageContentType.STORE_STREAM +} + +export interface IStorageForSchema extends IStorageBase { + content: IStorageForSchemaContent + type: StorageContentType.STORE_SCHEMA +} + +export interface IStorageForStreamContent { + content: IContentStream + prerequisiteStreams?: Array +} + +export interface IStorageForSchemaContent { + content: ISchema +} + +export type StoreContent = IStorageForStream | IStorageForSchema diff --git a/packages/types/src/Stream.ts b/packages/types/src/Stream.ts new file mode 100644 index 00000000..3214673f --- /dev/null +++ b/packages/types/src/Stream.ts @@ -0,0 +1,55 @@ +/** + * @packageDocumentation + * @module IStream + */ +import type { ISchema } from './Schema' +import type { IPublicIdentity } from './PublicIdentity' + +export interface IStream { + id: string + hash: string + cid: string + schema: ISchema['id'] + link?: string + creator: IPublicIdentity['address'] + revoked: boolean +} + +export type CompressedStream = [ + IStream['id'], + IStream['hash'], + IStream['cid'], + IStream['schema'], + IStream['link'], + IStream['creator'], + IStream['revoked'] +] + +export interface IStreamDetails { + id: IStream['id'] + streamHash: IStream['hash'] + cid: string | null + parent_cid: string | null + schema: ISchema['id'] | null + link: IStream['id'] | null + creator: IPublicIdentity['address'] + block: string + revoked: boolean +} + +export interface IStreamLinks { + id: IStream['id'] + creator: IPublicIdentity['address'] +} + +export enum StreamCommitOf { + Genesis, + Update, + StatusChange, +} +export interface IStreamCommits { + streamHash: IStream['hash'] + cid: string | null + block: string + commit: StreamCommitOf +} diff --git a/packages/types/src/SubscriptionPromise.ts b/packages/types/src/SubscriptionPromise.ts new file mode 100644 index 00000000..a55ac0c9 --- /dev/null +++ b/packages/types/src/SubscriptionPromise.ts @@ -0,0 +1,30 @@ +/** + * @packageDocumentation + * @module ISubscriptionPromise + */ + +import type { ISubmittableResult } from '.' + +/** + * A function that determines whether a new incoming value should reject or resolve the promise. + * + * @param value A new incoming subscription value. + * @returns A truthy value if the promise should be rejected/resolved on this value. Return value is used + * as the reason in a rejected promise. + */ +export interface Evaluator { + (value: SubscriptionType): boolean | any +} + +/** + * Object to provide termination Criteria for the created Subscription Promise. + */ +export interface TerminationOptions { + resolveOn: Evaluator + rejectOn?: Evaluator + timeout?: number +} + +export type ResultEvaluator = Evaluator +export type ErrorEvaluator = Evaluator +export type Options = TerminationOptions diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts new file mode 100644 index 00000000..16efad45 --- /dev/null +++ b/packages/types/src/index.ts @@ -0,0 +1,18 @@ +export type { ISubmittableResult } from '@polkadot/types/types' +export type { SubmittableExtrinsic } from '@polkadot/api/promise/types' + +export * as SubscriptionPromise from './SubscriptionPromise' + +export * from './Identity' +export * from './PublicIdentity' +export * from './Schema' +export * from './SchemaMetadata' +export * from './Content' +export * from './ContentStream' +export * from './Stream' +export * from './Credential' +export * from './Balance' +export * from './Chain' +export * from './Message' +export * from './Storage' +export * from './Presentation' diff --git a/packages/types/tsconfig.build.json b/packages/types/tsconfig.build.json new file mode 100644 index 00000000..8c2b29ed --- /dev/null +++ b/packages/types/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + + "exclude": [ + "coverage", + "**/*.spec.ts", + ] +} diff --git a/packages/utils/package.json b/packages/utils/package.json new file mode 100644 index 00000000..6b4312a7 --- /dev/null +++ b/packages/utils/package.json @@ -0,0 +1,35 @@ +{ + "name": "@cord.network/utils", + "version": "0.5.2-1", + "description": "", + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "files": [ + "lib/**/*" + ], + "scripts": { + "clean": "rimraf ./lib", + "build": "yarn clean && yarn build:ts", + "build:ts": "tsc --declaration -p tsconfig.build.json && cp -f ./src/jsonabc.d.ts ./lib/jsonabc.d.ts" + }, + "repository": "github:dhiway/cord-js", + "engines": { + "node": ">=14.0" + }, + "author": "Dhiway", + "bugs": "https://github.com/dhiway/cord-sdk/issues", + "homepage": "https://github.com/dhiway/cord-sdk#readme", + "devDependencies": { + "rimraf": "^3.0.2", + "typescript": "^4.2.2" + }, + "dependencies": { + "@cord.network/types": "workspace:*", + "@polkadot/keyring": "^7.8.2", + "@polkadot/types": "^6.3.1", + "@polkadot/util": "^7.8.2", + "@polkadot/util-crypto": "^7.8.2", + "tweetnacl": "^1.0.3", + "uuid": "^8.1.0" + } +} diff --git a/packages/utils/src/Crypto.spec.ts b/packages/utils/src/Crypto.spec.ts new file mode 100644 index 00000000..f7088ace --- /dev/null +++ b/packages/utils/src/Crypto.spec.ts @@ -0,0 +1,289 @@ +/** + * @group unit/utils + */ + +import * as string from '@polkadot/util/string' +import { Keyring } from '@polkadot/keyring' +import type { KeyringPair } from '@polkadot/keyring/types' +import nacl from 'tweetnacl' +import * as Crypto from './Crypto' + +const messageStr = 'This is a test' +const message = new Uint8Array(string.stringToU8a(messageStr)) + +describe('helper functions', () => { + it('converts string to Uint8Array', () => { + // hex as string mode defaults to false, hex strings are interpreted as numbers + expect(Crypto.coToUInt8('0x1a')).toMatchInlineSnapshot(` + Uint8Array [ + 26, + ] + `) + expect(Crypto.coToUInt8('0x1a', false)).toMatchInlineSnapshot(` + Uint8Array [ + 26, + ] + `) + // hex as string mode treats hex strings as regular strings + expect(Crypto.coToUInt8('0x1a', true)).toMatchInlineSnapshot(` + Uint8Array [ + 48, + 120, + 49, + 97, + ] + `) + }) + + it('should hash', () => { + expect(Crypto.hash(message)).toHaveLength(32) + expect(Crypto.hash(message)).toEqual(Crypto.hash(message)) + expect(Crypto.hash('123')).toEqual(Crypto.hash('123')) + + expect(Crypto.hash(new Uint8Array([0, 0, 0]))).not.toEqual( + Crypto.hash(message) + ) + expect(Crypto.hash('123')).not.toEqual(Crypto.hash(message)) + expect(Crypto.hashStr('123')).not.toEqual(Crypto.hashStr(message)) + }) + + it('should sort objects when hashing', () => { + expect(Crypto.hashObjectAsStr({ a: 1, b: 2 })).toEqual( + Crypto.hashObjectAsStr({ b: 2, a: 1 }) + ) + expect(Crypto.hashObjectAsStr({ a: 1, b: 2 })).not.toEqual( + Crypto.hashObjectAsStr({ b: 1, a: 2 }) + ) + // with nonce + expect(Crypto.hashObjectAsStr({ a: 1, b: 2 }, 'abc')).toEqual( + Crypto.hashObjectAsStr({ b: 2, a: 1 }, 'abc') + ) + expect(Crypto.hashObjectAsStr({ a: 1, b: 2 }, 'abc')).not.toEqual( + Crypto.hashObjectAsStr({ b: 1, a: 2 }, 'abc') + ) + expect(Crypto.hashObjectAsStr({ a: 1, b: 2 }, 'abc')).not.toEqual( + Crypto.hashObjectAsStr({ b: 2, a: 1 }, 'acab') + ) + }) + + it('hashObjectAsStr hashes numbers as strings', () => { + expect(Crypto.hashObjectAsStr(1)).toEqual(Crypto.hashStr('1')) + expect(Crypto.hashObjectAsStr(1)).not.toEqual( + Crypto.hashStr(Uint8Array.from([1])) + ) + }) + + it('hashObjectAsStr hashes boolean as strings', () => { + expect(Crypto.hashObjectAsStr(true)).toEqual(Crypto.hashStr('true')) + expect(Crypto.hashObjectAsStr(false)).toEqual(Crypto.hashStr('false')) + }) + + it('converts buffer to Uint8Array', () => { + const testarray = [1, 2, 3, 4, 5] + expect(Crypto.coToUInt8(Buffer.from(testarray))).toMatchInlineSnapshot(` + Uint8Array [ + 1, + 2, + 3, + 4, + 5, + ] + `) + expect(Crypto.coToUInt8(Uint8Array.from(testarray))).toMatchInlineSnapshot(` + Uint8Array [ + 1, + 2, + 3, + 4, + 5, + ] + `) + }) + + it('hashes statements with defaults', () => { + let hashed: Array> + const statements = ['a', 'b', 'c'] + const digests = [ + '0x8928aae63c84d87ea098564d1e03ad813f107add474e56aedd286349c0c03ea4', + '0x6e5c1f45cbaf19f94230ba3501c378a5335af71a331b5b5aed62792332288dc3', + '0xed5402299a6208014e0f5f25ae6ca3badddc95db67dce164cb8aa086bd48978a', + ] + hashed = Crypto.hashStatements(statements) + expect(hashed.map((i) => i.digest)).toEqual(digests) + // no nonces + hashed = Crypto.hashStatements(statements, { nonceGenerator: () => '' }) + expect(hashed.map((i) => i.digest)).toEqual(digests) + expect(hashed.map((i) => i.saltedHash)).toMatchInlineSnapshot(` + Array [ + "0x3d4b9478848e85771d9d678f2d80966bf9ea36f0d05b44fe5b23433e14a3eace", + "0x56c8f25bc8a9a8921c756c41f47efceb12c8129a9569456f7d80955bfcec2dcf", + "0x46ee56523ea5289f05709c26f6be6b08f364a3f2d6a5a8b6cfb2839bfe6a506e", + ] + `) + // with nonces + hashed = Crypto.hashStatements(statements, { + nonces: digests.reduce>((p, n, i) => { + return { ...p, [n]: ['a', 'b', 'c'][i] } + }, {}), + }) + expect(hashed.map((i) => i.digest)).toEqual(digests) + expect(hashed.map((i) => i.saltedHash)).toMatchInlineSnapshot(` + Array [ + "0x7126bd9e273ae6a1b2cfdc5f987b0f862cf2db77fea9b017963fec83b328784d", + "0xda617d15abd22984c2f1927f4e23a101696b7495c83ac178bbb91818ec102117", + "0x4e31eef9054d0d8682707880a414b86fafaa963b19220d03273eae764ad0bc1d", + ] + `) + }) +}) + +describe('Symmetric Crypto', () => { + let alice: KeyringPair + let alicePubKey: string + let bob: KeyringPair + let bobPubKey: string + + beforeAll(async () => { + const keyring = new Keyring({ + type: 'ed25519', + // CORD has registered the ss58 prefix 29 + ss58Format: 29, + }) + alice = keyring.addFromUri('//Alice') + alicePubKey = Crypto.u8aToHex(alice.publicKey) + bob = keyring.addFromUri('//Bob') + bobPubKey = Crypto.u8aToHex(bob.publicKey) + }) + + it('should sign and verify (UInt8Array)', () => { + const signature = Crypto.sign(message, alice) + expect(signature).not.toBeFalsy() + expect(Crypto.verify(message, signature, alice.address)).toBe(true) + + expect(Crypto.verify(message, signature, bob.address)).toBe(false) + expect( + Crypto.verify(new Uint8Array([0, 0, 0]), signature, alice.address) + ).toBe(false) + }) + + it('should sign and verify (string)', () => { + const signature = Crypto.signStr(messageStr, alice) + expect(signature).not.toBeFalsy() + expect(Crypto.verify(messageStr, signature, alicePubKey)).toBe(true) + + expect(Crypto.verify(messageStr, signature, bobPubKey)).toBe(false) + expect(Crypto.verify('0x000000', signature, alicePubKey)).toBe(false) + }) + + // https://polkadot.js.org/common/examples/util-crypto/01_encrypt_decrypt_message_nacl/ + it('should encrypt and decrypt symmetrical using random secret key (UInt8Array)', () => { + const secret = new Uint8Array([ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + ]) + const data = Crypto.encryptSymmetric(message, secret) + expect(data).not.toBeFalsy() + expect(Crypto.decryptSymmetric(data, secret)).toEqual(message) + const dataWithNonce = Crypto.encryptSymmetric(message, secret, data.nonce) + expect(Crypto.decryptSymmetric(dataWithNonce, secret)).toEqual(message) + }) + + // https://polkadot.js.org/common/examples/util-crypto/01_encrypt_decrypt_message_nacl/ + it('should encrypt and decrypt symmetrical using random secret key (string)', () => { + const secret = + '0x000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F' + + const data = Crypto.encryptSymmetricAsStr(messageStr, secret) + expect(data).not.toBeFalsy() + expect(Crypto.decryptSymmetricStr(data, secret)).toEqual(messageStr) + expect( + Crypto.decryptSymmetricStr( + { encrypted: '0x000102030405060708090A0B0C0D0E0F', nonce: data.nonce }, + secret + ) + ).toEqual(null) + const dataWithNonce = Crypto.encryptSymmetricAsStr( + messageStr, + secret, + data.nonce + ) + expect(Crypto.decryptSymmetricStr(dataWithNonce, secret)).toEqual( + messageStr + ) + }) +}) + +describe('asymmetric crypto', () => { + let alice: nacl.BoxKeyPair + let bob: nacl.BoxKeyPair + + beforeAll(() => { + alice = nacl.box.keyPair() + bob = nacl.box.keyPair() + }) + + it('should encrypt and decrypt asymmetrical (string)', () => { + const encrypted = Crypto.encryptAsymmetricAsStr( + messageStr, + alice.publicKey, + bob.secretKey + ) + expect(encrypted).not.toEqual(messageStr) + const decrypted = Crypto.decryptAsymmetricAsStr( + encrypted, + bob.publicKey, + alice.secretKey + ) + expect(decrypted).toEqual(messageStr) + const decryptedFalse = Crypto.decryptAsymmetricAsStr( + encrypted, + bob.publicKey, + bob.secretKey + ) + expect(decryptedFalse).toEqual(false) + }) + it('should encrypt and decrypt asymmetrical (UInt8Array)', () => { + const encrypted = Crypto.encryptAsymmetric( + message, + alice.publicKey, + bob.secretKey + ) + expect(encrypted).not.toEqual(message) + const decrypted = Crypto.decryptAsymmetric( + encrypted, + bob.publicKey, + alice.secretKey + ) + expect(decrypted).toEqual(message) + }) +}) diff --git a/packages/utils/src/Crypto.ts b/packages/utils/src/Crypto.ts new file mode 100644 index 00000000..9609c3a1 --- /dev/null +++ b/packages/utils/src/Crypto.ts @@ -0,0 +1,402 @@ +/** + * Crypto provides CORD with the utility types and methods useful for cryptographic operations, such as signing/verifying, encrypting/decrypting and hashing. + * + * The utility types and methods are wrappers for existing Polkadot functions and imported throughout CORD's protocol for various cryptographic needs. + * + * @packageDocumentation + * @module Crypto + */ + +import { decodeAddress, encodeAddress } from '@polkadot/keyring' +import type { KeyringPair } from '@polkadot/keyring/types' +import { + isString, + stringToU8a, + u8aConcat, + u8aToHex, + u8aToString, + u8aToU8a, +} from '@polkadot/util' +import { blake2AsHex, signatureVerify } from '@polkadot/util-crypto' +import { blake2AsU8a } from '@polkadot/util-crypto/blake2/asU8a' +import { naclDecrypt } from '@polkadot/util-crypto/nacl/decrypt' +import { naclEncrypt } from '@polkadot/util-crypto/nacl/encrypt' +import nacl from 'tweetnacl' +import { v4 as uuid } from 'uuid' +import jsonabc from './jsonabc' + +export { encodeAddress, decodeAddress, u8aToHex, u8aConcat } + +/** + * Types accepted by hashing and crypto functions. + */ +export type CryptoInput = Buffer | Uint8Array | string + +export type Address = string + +export type EncryptedSymmetric = { + encrypted: Uint8Array + nonce: Uint8Array +} + +export type EncryptedAsymmetric = { + box: Uint8Array + nonce: Uint8Array +} + +export type EncryptedSymmetricString = { + encrypted: string + nonce: string +} + +export type EncryptedAsymmetricString = { + box: string + nonce: string +} + +/** + * Creates a Uint8Array value from a Uint8Array, Buffer, string or hex input. + * + * @param input Input array or string. Null or undefined result in an empty array. + * @param hexAsString Whether or not a hex string is encoded as a string instead of a number. + * @returns A (possibly empty) Uint8Array. + */ +export function coToUInt8( + input: CryptoInput | null | undefined, + hexAsString = false +): Uint8Array { + if (hexAsString && isString(input)) { + return stringToU8a(input) + } + return u8aToU8a(input) +} + +/** + * Signs a message. + * + * @param message String or byte array to be signed. + * @param signKeyPair KeyringPair used for signing. + * @returns Signature over message as byte array. + */ +export function sign( + message: CryptoInput, + signKeyPair: KeyringPair +): Uint8Array { + return signKeyPair.sign(coToUInt8(message), { withType: true }) +} + +/** + * Signs a message. Returns signature string. + * + * @param message String or byte array to be signed. + * @param signKeyPair KeyringPair used for signing. + * @returns Signature over message as hex string. + */ +export function signStr( + message: CryptoInput, + signKeyPair: KeyringPair +): string { + return u8aToHex(sign(message, signKeyPair)) +} + +/** + * Verifies a signature over a message. + * + * @param message Original signed message to be verified. + * @param signature Signature as hex string or byte array. + * @param address Substrate address or public key of the signer. + * @returns Whether the signature could be verified. + */ +export function verify( + message: CryptoInput, + signature: CryptoInput, + address: Address +): boolean { + return signatureVerify(message, signature, address).isValid === true +} + +/** + * Encrypts a with a secret/key, which can be decrypted using the same key. + * + * @param message Message to be encrypted. + * @param secret Secret key for encryption & decryption. + * @param nonce Random nonce to obscure message contents when encrypted. Will be auto-generated if not supplied. + * @returns Encrypted message & nonce used for encryption. Both are needed for decryption. + */ +export function encryptSymmetric( + message: CryptoInput, + secret: CryptoInput, + nonce?: CryptoInput +): EncryptedSymmetric { + return naclEncrypt( + coToUInt8(message, true), + coToUInt8(secret), + nonce ? coToUInt8(nonce) : undefined + ) +} + +/** + * Encrypts a with a secret/key, which can be decrypted using the same key. + * + * @param message Message to be encrypted. + * @param secret Secret key for encryption & decryption. + * @param inputNonce Random nonce to obscure message contents that could otherwise be guessed or inferred. Will be auto-generated if not supplied. + * @returns Encrypted message as string & nonce used for encryption as hex strings. Both are needed for decryption. + */ +export function encryptSymmetricAsStr( + message: CryptoInput, + secret: CryptoInput, + inputNonce?: CryptoInput +): EncryptedSymmetricString { + const result = naclEncrypt( + coToUInt8(message, true), + coToUInt8(secret), + inputNonce ? coToUInt8(inputNonce) : undefined + ) + const nonce: string = u8aToHex(result.nonce) + const encrypted: string = u8aToHex(result.encrypted) + return { encrypted, nonce } +} + +/** + * Takes a nonce & secret to decrypt a message. + * + * @param data Object containing encrypted message and the nonce used for encryption. + * @param secret Secret key for encryption & decryption. + * @returns Decrypted message as byte array. + */ +export function decryptSymmetric( + data: EncryptedSymmetric | EncryptedSymmetricString, + secret: CryptoInput +): Uint8Array | null { + return naclDecrypt( + coToUInt8(data.encrypted), + coToUInt8(data.nonce), + coToUInt8(secret) + ) +} + +/** + * Takes a nonce & secret to decrypt a message. + * + * @param data Object containing encrypted message and the nonce used for encryption. + * @param secret Secret key for encryption & decryption. + * @returns Decrypted message as string. + */ +export function decryptSymmetricStr( + data: EncryptedSymmetric | EncryptedSymmetricString, + secret: CryptoInput +): string | null { + const result = naclDecrypt( + coToUInt8(data.encrypted), + coToUInt8(data.nonce), + coToUInt8(secret) + ) + return result ? u8aToString(result) : null +} + +/** + * Create the blake2b and return the result as a u8a with the specified `bitLength`. + * + * @param value Value to be hashed. + * @param bitLength Bit length of hash. + * @returns Blake2b hash byte array. + */ +export function hash(value: CryptoInput, bitLength?: number): Uint8Array { + return blake2AsU8a(value, bitLength) +} + +/** + * Create the blake2b and return the result as a hex string. + * + * @param value Value to be hashed. + * @returns Blake2b hash as hex string. + */ +export function hashStr(value: CryptoInput): string { + return u8aToHex(hash(value)) +} + +/** + * Hashes numbers, booleans, and objects by stringifying them. Object keys are sorted to yield consistent hashing. + * + * @param value Object or value to be hashed. + * @param nonce Optional nonce to obscure hashed values that could be guessed. + * @returns Blake2b hash as hex string. + */ +export function hashObjectAsStr( + value: Record | string | number | boolean, + nonce?: string +): string { + let input = + // eslint-disable-next-line no-nested-ternary + typeof value === 'object' && value !== null + ? JSON.stringify(jsonabc.sortObj(value)) + : // eslint-disable-next-line no-nested-ternary + typeof value === 'number' && value !== null + ? value.toString() + : typeof value === 'boolean' && value !== null + ? JSON.stringify(value) + : value + if (nonce) { + input = nonce + input + } + return hashStr(input) +} + +/** + * Wrapper around nacl.box. Authenticated encryption of a message for a recipient's public key. + * + * @param message String or byte array to be enrypted. + * @param publicKeyA Public key of the recipient. The owner will be able to decrypt the message. + * @param secretKeyB Private key of the sender. Necessary to authenticate the message during decryption. + * @returns Encrypted message and nonce used for encryption. + */ +export function encryptAsymmetric( + message: CryptoInput, + publicKeyA: CryptoInput, + secretKeyB: CryptoInput +): EncryptedAsymmetric { + const nonce = nacl.randomBytes(24) + const box = nacl.box( + coToUInt8(message, true), + nonce, + coToUInt8(publicKeyA), + coToUInt8(secretKeyB) + ) + return { box, nonce } +} + +/** + * Wrapper around nacl.box. Authenticated encryption of a message for a recipient's public key. + * + * @param message String or byte array to be enrypted. + * @param publicKeyA Public key of the recipient. The owner will be able to decrypt the message. + * @param secretKeyB Private key of the sender. Necessary to authenticate the message during decryption. + * @returns Encrypted message and nonce used for encryption as hex strings. + */ +export function encryptAsymmetricAsStr( + message: CryptoInput, + publicKeyA: CryptoInput, + secretKeyB: CryptoInput +): EncryptedAsymmetricString { + const encrypted = encryptAsymmetric(message, publicKeyA, secretKeyB) + const box: string = u8aToHex(encrypted.box) + const nonce: string = u8aToHex(encrypted.nonce) + return { box, nonce } +} + +/** + * Wrapper around nacl.box.open. Authenticated decryption of an encrypted message. + * + * @param data Object containing encrypted message and nonce used for encryption. + * @param publicKeyB Public key of the sender. Necessary to authenticate the message during decryption. + * @param secretKeyA Private key of the recipient. Required for decryption. + * @returns Decrypted message or false if decryption is unsuccessful. + */ +export function decryptAsymmetric( + data: EncryptedAsymmetric | EncryptedAsymmetricString, + publicKeyB: CryptoInput, + secretKeyA: CryptoInput +): Uint8Array | false { + const decrypted = nacl.box.open( + coToUInt8(data.box), + coToUInt8(data.nonce), + coToUInt8(publicKeyB), + coToUInt8(secretKeyA) + ) + return decrypted || false +} + +/** + * Wrapper around nacl.box.open. Authenticated decryption of an encrypted message. + * + * @param data Object containing encrypted message and nonce used for encryption. + * @param publicKeyB Public key of the sender. Necessary to authenticate the message during decryption. + * @param secretKeyA Private key of the recipient. Required for decryption. + * @returns Decrypted message as string or false if decryption is unsuccessful. + */ +export function decryptAsymmetricAsStr( + data: EncryptedAsymmetric | EncryptedAsymmetricString, + publicKeyB: CryptoInput, + secretKeyA: CryptoInput +): string | false { + const result = decryptAsymmetric( + data, + coToUInt8(publicKeyB), + coToUInt8(secretKeyA) + ) + return result ? u8aToString(result) : false +} + +/** + * Signature of hashing function accepted by [[hashStatements]]. + * + * @param value String to be hashed. + * @param nonce Optional nonce (as string) used to obscure hashed contents. + * @returns String representation of hash. + */ +export interface Hasher { + (value: string, nonce?: string): string +} + +/** + * Additional options for [[hashStatements]]. + */ +export interface HashingOptions { + nonces?: Record + nonceGenerator?: (key: string) => string + hasher?: Hasher +} + +/** + * Default hasher for [[hashStatements]]. + * + * @param value String to be hashed. + * @param nonce Optional nonce (as string) used to obscure hashed contents. + * @returns 256 bit blake2 hash as hex string. + */ +export const saltedBlake2b256: Hasher = (value, nonce) => + blake2AsHex((nonce || '') + value, 256) + +/** + * Configurable computation of salted over an array of statements. Can be used to validate/reproduce salted hashes + * by means of an optional nonce map. + * + * @param statements An array of statement strings to be hashed. + * @param options Optional hasher arguments. + * @param options.nonces An optional map or array of nonces. If present, it should comprise all keys of `statements`, as those will be used map nonces to statements. + * @param options.nonceGenerator An optional nonce generator. Will be used if `options.nonces` is not defined to generate a (new) nonce for each statement. The statement key is passed as its first argument. If no `nonces` or `nonceGenerator` are given this function returns unsalted hashes. + * @param options.hasher The hasher to be used. Computes a hash from a statement and an optional nonce. Required but defaults to 256 bit blake2 over `${nonce}${statement}`. + * @returns An array of objects for each statement which contain a statement, its digest, salted hash and nonce. + */ +export function hashStatements( + statements: string[], + options: HashingOptions = {} +): Array<{ + digest: string + statement: string + saltedHash: string + nonce: string +}> { + // apply defaults + const defaults = { + hasher: saltedBlake2b256, + nonceGenerator: () => uuid(), + } + const hasher = options.hasher || defaults.hasher + const nonceGenerator = options.nonceGenerator || defaults.nonceGenerator + // set source for nonces + const { nonces } = options + const getNonce: HashingOptions['nonceGenerator'] = + typeof nonces === 'object' ? (key) => nonces[key] : nonceGenerator + // iterate over statements to produce salted hashes + return statements.map((statement) => { + // generate unsalted digests from statements as a first step + const digest = hasher(statement) + // if nonces were passed, they would be mapped to the statement via its digest + const nonce = getNonce(digest) + // to simplify validation, the salted hash is computed over unsalted hash (nonce key) & nonce + const saltedHash = hasher(digest, nonce) + return { digest, saltedHash, nonce, statement } + }) +} diff --git a/packages/utils/src/DataUtils.spec.ts b/packages/utils/src/DataUtils.spec.ts new file mode 100644 index 00000000..ba402fd2 --- /dev/null +++ b/packages/utils/src/DataUtils.spec.ts @@ -0,0 +1,118 @@ +/** + * @group unit/utils + */ + +import Keyring, { encodeAddress } from '@polkadot/keyring' +import { validateAddress, validateHash, validateSignature } from './DataUtils' +import { ErrorCode } from './SDKErrors' +import * as Crypto from './Crypto' + +import '../../../testingTools/jestErrorCodeMatcher' + +const key = Buffer.from([0, 0, 7, 0]) + +it('validates address with prefix 29', () => { + expect(() => validateAddress(encodeAddress(key, 29), 'test')).not.toThrow() + expect(validateAddress(encodeAddress(key, 29), 'test')).toBe(true) +}) + +it('throws on address with other prefix', () => { + expect(() => validateAddress(encodeAddress(key, 42), 'test')).toThrow('test') +}) + +it('throws for random strings', () => { + expect(() => validateAddress('', 'test')).toThrowErrorWithCode( + ErrorCode.ERROR_ADDRESS_INVALID + ) + expect(() => validateAddress('0x123', 'test')).toThrowErrorWithCode( + ErrorCode.ERROR_ADDRESS_INVALID + ) + expect(() => validateAddress('bananenbabara', 'test')).toThrowErrorWithCode( + ErrorCode.ERROR_ADDRESS_INVALID + ) + expect(() => + validateAddress('ax843zoidsfho38290rdusa', 'test') + ).toThrowErrorWithCode(ErrorCode.ERROR_ADDRESS_INVALID) +}) + +it('throws if address is no string', () => { + expect(() => + validateAddress(Buffer.from([0, 0, 7]) as any, 'test') + ).toThrowErrorWithCode(ErrorCode.ERROR_ADDRESS_TYPE) +}) + +it('validates hash', () => { + ;['wurst', 'a', '1'].forEach((value) => { + const hash = Crypto.hashStr(value) + expect(validateHash(hash, 'test')).toBe(true) + }) +}) + +it('throws on broken hashes', () => { + const hash = Crypto.hashStr('test') + expect(() => { + validateHash(hash.substr(2), 'test') + }).toThrowErrorWithCode(ErrorCode.ERROR_HASH_MALFORMED) + expect(() => { + validateHash(hash.substr(0, 60), 'test') + }).toThrowErrorWithCode(ErrorCode.ERROR_HASH_MALFORMED) + expect(() => { + validateHash(hash.replace('0', 'O'), 'test') + }).toThrowErrorWithCode(ErrorCode.ERROR_HASH_MALFORMED) + expect(() => { + validateHash(`${hash.substr(0, hash.length - 1)}ß`, 'test') + }).toThrowErrorWithCode(ErrorCode.ERROR_HASH_MALFORMED) + expect(() => { + validateHash(hash.replace(/\w/i, 'P'), 'test') + }).toThrowErrorWithCode(ErrorCode.ERROR_HASH_MALFORMED) +}) + +it('throws if hash is no string', () => { + expect(() => + validateHash(Buffer.from([0, 0, 7]) as any, 'test') + ).toThrowErrorWithCode(ErrorCode.ERROR_HASH_TYPE) +}) + +describe('validate signature util', () => { + const data = 'data' + const keyring = new Keyring({ + type: 'ed25519', + // CORD has registered the ss58 prefix 29 + ss58Format: 29, + }) + const signer = keyring.addFromUri('//Alice') + const signature = Crypto.signStr('data', signer) + + it('verifies when inputs are strings and signature checks out', () => { + expect(validateSignature(data, signature, signer.address)).toBe(true) + }) + + it('throws when signature does not check out', () => { + expect(() => + validateSignature('dörte', signature, signer.address) + ).toThrowErrorWithCode(ErrorCode.ERROR_SIGNATURE_UNVERIFIABLE) + }) + + it('throws non-sdk error if input is bogus', () => { + expect(() => + validateSignature('dörte', 'signature', 'signer') + ).toThrowErrorMatchingInlineSnapshot( + `"Invalid signature length, expected [64..66] bytes, found 9"` + ) + }) + + it('throws when input is incomplete', () => { + expect(() => + validateSignature('data', null as any, 'signer') + ).toThrowErrorWithCode(ErrorCode.ERROR_SIGNATURE_DATA_TYPE) + expect(() => + validateSignature('data', 'signature', undefined as any) + ).toThrowErrorWithCode(ErrorCode.ERROR_SIGNATURE_DATA_TYPE) + expect(() => + validateSignature({ key: ['value'] } as any, 'signature', 'signer') + ).toThrowErrorWithCode(ErrorCode.ERROR_SIGNATURE_DATA_TYPE) + expect(() => (validateSignature as any)()).toThrowErrorWithCode( + ErrorCode.ERROR_SIGNATURE_DATA_TYPE + ) + }) +}) diff --git a/packages/utils/src/DataUtils.ts b/packages/utils/src/DataUtils.ts new file mode 100644 index 00000000..a47f35c0 --- /dev/null +++ b/packages/utils/src/DataUtils.ts @@ -0,0 +1,105 @@ +/* eslint-disable import/prefer-default-export */ +/** + * @packageDocumentation + * @module DataUtils + */ + +/** + * Dummy comment needed for correct doc display, do not remove. + */ +import type { IPublicIdentity } from '@cord.network/types' +import { checkAddress } from '@polkadot/util-crypto' +import { SDKErrors } from '.' +import { verify } from './Crypto' + +/** + * Validates an given address string against the External Address Format (SS58) with our Prefix of 29. + * + * @param address Address string to validate for correct Format. + * @param name Contextual name of the address, e.g. "stream owner". + * @throws [[ERROR_ADDRESS_TYPE]] when address not of type string or of invalid Format. + * + * @returns Boolean whether the given address string checks out against the Format. + */ +export function validateAddress( + address: IPublicIdentity['address'], + name: string +): boolean { + if (typeof address !== 'string') { + throw SDKErrors.ERROR_ADDRESS_TYPE() + } + // CORD has registered ss58 prefix 29 + if (!checkAddress(address, 29)[0]) { + throw SDKErrors.ERROR_ADDRESS_INVALID(address, name) + } + return true +} + +/** + * Validates the format of the given blake2b hash via regex. + * + * @param hash Hash string to validate for correct Format. + * @param name Contextual name of the address, e.g. "stream owner". + * @throws [[ERROR_HASH_TYPE]] when hash not of type string or of invalid Format. + * + * @returns Boolean whether the given hash string checks out against the Format. + */ +export function validateHash(hash: string, name: string): boolean { + if (typeof hash !== 'string') { + throw SDKErrors.ERROR_HASH_TYPE() + } + const blake2bPattern = new RegExp('(0x)[A-F0-9]{64}', 'i') + if (!hash.match(blake2bPattern)) { + throw SDKErrors.ERROR_HASH_MALFORMED(hash, name) + } + return true +} + +/** + * Validates the format of the given blake2b hash via regex. + * + * @param hash Hash string to validate for correct Format. + * @param name Contextual name of the address, e.g. "stream owner". + * @throws [[ERROR_HASH_TYPE]] when hash not of type string or of invalid Format. + * + * @returns Boolean whether the given hash string checks out against the Format. + */ +export function validateId(id: string, name: string): boolean { + if (typeof id !== 'string') { + throw SDKErrors.ERROR_HASH_TYPE() + } + const blake2bPattern = new RegExp('(0x)[A-F0-9]{64}', 'i') + if (!id.match(blake2bPattern)) { + throw SDKErrors.ERROR_HASH_MALFORMED(id, name) + } + return true +} + +/** + * Validates the signature of the given signer address against the signed data. + * + * @param data The signed string of data. + * @param signature The signature of the data to be validated. + * @param signer Address of the signer identity. + * @throws [[ERROR_SIGNATURE_DATA_TYPE]] when parameters are of invalid type. + * @throws [[ERROR_SIGNATURE_UNVERIFIABLE]] when the signature could not be validated against the data. + * + * @returns Boolean whether the signature is valid for the given data. + */ +export function validateSignature( + data: string, + signature: string, + signer: IPublicIdentity['address'] +): boolean { + if ( + typeof data !== 'string' || + typeof signature !== 'string' || + typeof signer !== 'string' + ) { + throw SDKErrors.ERROR_SIGNATURE_DATA_TYPE() + } + if (!verify(data, signature, signer)) { + throw SDKErrors.ERROR_SIGNATURE_UNVERIFIABLE() + } + return true +} diff --git a/packages/utils/src/Decode.spec.ts b/packages/utils/src/Decode.spec.ts new file mode 100644 index 00000000..33c5e2ab --- /dev/null +++ b/packages/utils/src/Decode.spec.ts @@ -0,0 +1,48 @@ +/** + * @group unit/utils + */ + +import { TypeRegistry } from '@polkadot/types' +import { assertCodecIsType, codecIsType } from './Decode' + +const registry = new TypeRegistry() + +const cases = ['Option', 'Option', 'Vec>'] + +describe('positive tests', () => { + it('checks codec types', () => { + cases.forEach((T: any) => { + expect(codecIsType(registry.createType(T), [T])).toBe(true) + }) + }) + + it('asserts codec types', () => { + cases.forEach((T: any) => { + expect(() => assertCodecIsType(registry.createType(T), [T])).not.toThrow() + }) + }) +}) + +describe('negative tests', () => { + it('checks codec types', () => { + cases.forEach((T: any, index) => { + expect( + codecIsType( + registry.createType(T), + cases.filter((_, i) => i !== index) + ) + ).toBe(false) + }) + }) + + it('asserts codec types', () => { + cases.forEach((T: any, index) => { + expect(() => + assertCodecIsType( + registry.createType(T), + cases.filter((_, i) => i !== index) + ) + ).toThrow() + }) + }) +}) diff --git a/packages/utils/src/Decode.ts b/packages/utils/src/Decode.ts new file mode 100644 index 00000000..c6c9b3e6 --- /dev/null +++ b/packages/utils/src/Decode.ts @@ -0,0 +1,35 @@ +/** + * @packageDocumentation + * @module Decode + */ + +import type { Codec } from '@polkadot/types/types' + +/** + * Dummy comment needed for correct doc display, do not remove. + */ + +/** + * Checks nested codec types against a type description string. Uses `codec.toRawType()` internally. + * + * @param codec The codec to type check. + * @param types An array of strings denoting types to check against. + * @returns Whether the codec type is any of the allowed `types`. + */ +export function codecIsType(codec: Codec, types: string[]): boolean { + return types.includes(codec.toRawType()) +} + +/** + * Checks nested codec types against a type description string. Uses `codec.toRawType()` internally. + * + * @param codec The codec to type check. + * @param types An array of strings denoting types to check against. + * @throws `TypeError` If codec type is not contained in the allowed `types`. + */ +export function assertCodecIsType(codec: Codec, types: string[]): void { + if (!codecIsType(codec, types)) + throw new TypeError( + `expected Codec type(s) ${types}, got ${codec.toRawType()}` + ) +} diff --git a/packages/utils/src/SDKErrors.ts b/packages/utils/src/SDKErrors.ts new file mode 100644 index 00000000..7c196e67 --- /dev/null +++ b/packages/utils/src/SDKErrors.ts @@ -0,0 +1,841 @@ +/** + * SDKErrors are CORD-specific errors, with associated codes and descriptions. + * + * @packageDocumentation + * @module SDKErrors + */ + +import type { NonceHash } from '@cord.network/types' + +export enum ErrorCode { + ERROR_TRANSACTION_RECOVERABLE = 1000, + ERROR_TRANSACTION_OUTDATED = 1010, + ERROR_TRANSACTION_DUPLICATE = 1013, + ERROR_TRANSACTION_PRIORITY = 1014, + ERROR_TRANSACTION_USURPED = 1015, + + ERROR_UNAUTHORIZED = 1016, + ERROR_NOT_FOUND = 1017, + + //Schema + ERROR_SCHEMA_ID_NOT_PROVIDED = 10001, + ERROR_SCHEMA_ID_NOT_MATCHING = 10013, + ERROR_SCHEMA_CONTROLLER_TYPE = 10021, + ERROR_SPACE_CONTROLLER_TYPE = 10022, + ERROR_STREAM_ID_NOT_PROVIDED = 10023, + ERROR_STREAM_LINK_NOT_PROVIDED = 10024, + ERROR_STREAM_TYPE_NOT_VALID = 10025, + ERROR_STREAM_CREATOR_NOT_PROVIDED = 10026, + + ERROR_JOURNAL_ID_NOT_PROVIDED = 10027, + ERROR_JOURNAL_HASH_NOT_PROVIDED = 10028, + ERROR_JOURNAL_SCHEMA_ID_NOT_PROVIDED = 10029, + ERROR_JOURNAL_SPACE_ID_NOT_PROVIDED = 10030, + ERROR_JOURNAL_CREATOR_NOT_PROVIDED = 10031, + ERROR_JOURNAL_REVOCATION_BIT_MISSING = 10032, + ERROR_JOURNAL_STREAM_NOT_PROVIDED = 10045, + + ERROR_STREAM_NONCE_MAP_MALFORMED = 10047, + + ERROR_MARK_ID_NOT_PROVIDED = 10033, + ERROR_MARK_HASH_NOT_PROVIDED = 10034, + ERROR_MARK_SCHEMA_ID_NOT_PROVIDED = 10035, + ERROR_MARK_JOURNAL_ID_NOT_PROVIDED = 10036, + ERROR_MARK_CREATOR_NOT_PROVIDED = 10037, + ERROR_MARK_REVOCATION_BIT_MISSING = 10038, + + ERROR_LINK_ID_NOT_PROVIDED = 10039, + ERROR_LINK_HASH_NOT_PROVIDED = 10040, + ERROR_LINK_SCHEMA_ID_NOT_PROVIDED = 10041, + ERROR_LINK_MARK_ID_NOT_PROVIDED = 10042, + ERROR_LINK_CREATOR_NOT_PROVIDED = 10043, + ERROR_LINK_REVOCATION_BIT_MISSING = 10044, + + ERROR_STREAM_NOT_PROVIDED = 10023, + + ERROR_SCHEMA_HASH_INVALID = 30007, + ERROR_SCHEMA_PROPERTIES_NOT_MATCHING = 30013, + + //Stream + ERROR_STREAM_HASH_NOT_PROVIDED = 10002, + ERROR_STREAM_NONCE_MAP_NOT_PROVIDED = 10003, + ERROR_MARK_STREAM_NOT_PROVIDED = 10004, + // ERROR_STREAM_ID_TYPE_MISSING = 10019, + + //Mark + ERROR_MARK_NOT_PROVIDED = 10007, + + // Data is missing + ERROR_OWNER_NOT_PROVIDED = 10005, + ERROR_RFA_NOT_PROVIDED = 10006, + ERROR_REVOCATION_BIT_MISSING = 10008, + ERROR_PROOFS_NOT_PROVIDED = 10009, + ERROR_MARK_SESSION_MISSING = 10010, + ERROR_PE_MISSING = 10011, + ERROR_PE_CREDENTIAL_MISSING = 10012, + ERROR_PE_VERIFICATION = 10014, + ERROR_NO_PROOF_FOR_STATEMENT = 10015, + ERROR_IDENTITY_NOT_PE_ENABLED = 10016, + ERROR_WS_ADDRESS_NOT_SET = 10017, + ERROR_DELEGATION_ID_MISSING = 10018, + // ERROR_PARENT_ID_TYPE_MISSING = 10020, + + // Data type is wrong or malformed + ERROR_ADDRESS_TYPE = 20001, + ERROR_HASH_TYPE = 20002, + ERROR_HASH_MALFORMED = 20003, + ERROR_SIGNATURE_DATA_TYPE = 20005, + ERROR_ENTITY_CONTROLLER_TYPE = 20006, + ERROR_DELEGATION_ID_TYPE = 20007, + ERROR_CONTENT_STREAM_MALFORMED = 20009, + ERROR_CONTENT_NONCE_MAP_MALFORMED = 20010, + ERROR_OBJECT_MALFORMED = 20011, + ERROR_MNEMONIC_PHRASE_MALFORMED = 20012, + ERROR_QUOTE_MALFORMED = 20013, + ERROR_STREAM_HASHTREE_MISMATCH = 20014, + ERROR_PE_MISMATCH = 20015, + ERROR_DID_IDENTIFIER_MISMATCH = 20016, + ERROR_ROOT_NODE_QUERY = 20017, + ERROR_INVALID_DID_PREFIX = 20018, + ERROR_MESSAGE_BODY_MALFORMED = 20019, + ERROR_NODE_QUERY = 20020, + + // Data is invalid + ERROR_ADDRESS_INVALID = 30001, + ERROR_NONCE_HASH_INVALID = 30002, + ERROR_LEGITIMATIONS_UNVERIFIABLE = 30003, + ERROR_SIGNATURE_UNVERIFIABLE = 30004, + ERROR_STREAM_UNVERIFIABLE = 30005, + ERROR_CONTENT_UNVERIFIABLE = 30006, + ERROR_MNEMONIC_PHRASE_INVALID = 30008, + ERROR_IDENTITY_MISMATCH = 30009, + ERROR_ROOT_HASH_UNVERIFIABLE = 30010, + ERROR_NESTED_CONTENT_UNVERIFIABLE = 30011, + ERROR_INVALID_PROOF_FOR_STATEMENT = 30012, + + // Compression / Decompressions + ERROR_DECOMPRESSION_ARRAY = 40001, + ERROR_COMPRESS_OBJECT = 40002, + ERROR_DECODING_MESSAGE = 40003, + ERROR_PARSING_MESSAGE = 40004, + ERROR_MESSAGE_TYPE = 40005, + + ERROR_UNKNOWN = -1, + ERROR_TIMEOUT = -2, +} + +export function isSDKError(input: unknown): input is SDKError { + return ( + ((i: unknown): i is Error & Partial => i instanceof Error)( + input + ) && + input.errorCode !== undefined && + input.errorCode in ErrorCode + ) +} + +export class SDKError extends Error { + public errorCode: ErrorCode + + public constructor(errorCode: ErrorCode, message: string) { + super(message) + this.errorCode = errorCode + } +} + +export const ERROR_TRANSACTION_RECOVERABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_TRANSACTION_RECOVERABLE, + 'Tx failed due to nonce collision, this is recoverable by re-signing!' + ) +} +export const ERROR_TRANSACTION_OUTDATED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_TRANSACTION_OUTDATED, + 'Tx was signed with outdated Nonce' + ) +} +export const ERROR_TRANSACTION_DUPLICATE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_TRANSACTION_DUPLICATE, + 'Identical Tx was already imported to the pool' + ) +} +export const ERROR_TRANSACTION_PRIORITY: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_TRANSACTION_PRIORITY, + 'Tx Priority too low to replace existing Tx with equal nonce' + ) +} +export const ERROR_TRANSACTION_USURPED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_TRANSACTION_USURPED, + 'Tx was replaced by another TX with the same Nonce and higher Priority' + ) +} + +export const ERROR_UNAUTHORIZED: (msg: string) => SDKError = (msg: string) => { + return new SDKError(ErrorCode.ERROR_UNAUTHORIZED, msg) +} + +export const ERROR_NOT_FOUND: (msg: string) => SDKError = (msg: string) => { + return new SDKError(ErrorCode.ERROR_NOT_FOUND, msg) +} + +export const ERROR_SCHEMA_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SCHEMA_ID_NOT_PROVIDED, + 'Schema ID missing' + ) +} + +export const ERROR_SCHEMA_ID_NOT_MATCHING: ( + fromSchema: string, + provided: string +) => SDKError = (fromSchema: string, provided: string) => { + return new SDKError( + ErrorCode.ERROR_SCHEMA_ID_NOT_MATCHING, + `Provided $id "${provided}" and schema $id "${fromSchema}" are not matching` + ) +} + +export const ERROR_SCHEMA_PROPERTIES_NOT_MATCHING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SCHEMA_PROPERTIES_NOT_MATCHING, + 'Required properties do not match Schema properties' + ) +} + +export const ERROR_JOURNAL_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_ID_NOT_PROVIDED, + 'Journal ID missing' + ) +} + +export const ERROR_JOURNAL_HASH_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_HASH_NOT_PROVIDED, + 'Journal hash missing' + ) +} + +export const ERROR_JOURNAL_SCHEMA_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_SCHEMA_ID_NOT_PROVIDED, + 'Journal schema link ID missing' + ) +} + +export const ERROR_JOURNAL_SPACE_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_SPACE_ID_NOT_PROVIDED, + 'Journal space link ID missing' + ) +} + +export const ERROR_JOURNAL_CREATOR_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_CREATOR_NOT_PROVIDED, + 'Journal Creator ID missing' + ) +} + +export const ERROR_JOURNAL_REVOCATION_BIT_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_REVOCATION_BIT_MISSING, + 'Journal revocaltion input missing' + ) +} + +export const ERROR_JOURNAL_STREAM_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_JOURNAL_STREAM_NOT_PROVIDED, + 'Journal stream missing' + ) +} + +export const ERROR_STREAM_NONCE_MAP_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_NONCE_MAP_MALFORMED, + 'Journal nonce map malformed' + ) +} + +export const ERROR_MARK_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_MARK_ID_NOT_PROVIDED, 'Mark ID missing') +} + +export const ERROR_MARK_HASH_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_HASH_NOT_PROVIDED, + 'Mark hash missing' + ) +} + +export const ERROR_MARK_SCHEMA_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_SCHEMA_ID_NOT_PROVIDED, + 'Mark schema link ID missing' + ) +} + +export const ERROR_MARK_JOURNAL_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_JOURNAL_ID_NOT_PROVIDED, + 'Mark journal link ID missing' + ) +} + +export const ERROR_MARK_CREATOR_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_CREATOR_NOT_PROVIDED, + 'Mark Creator ID missing' + ) +} + +export const ERROR_MARK_REVOCATION_BIT_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_REVOCATION_BIT_MISSING, + 'Mark revocaltion input missing' + ) +} + +export const ERROR_LINK_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_LINK_ID_NOT_PROVIDED, 'Link ID missing') +} + +export const ERROR_LINK_HASH_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LINK_HASH_NOT_PROVIDED, + 'Link hash missing' + ) +} + +export const ERROR_LINK_SCHEMA_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LINK_SCHEMA_ID_NOT_PROVIDED, + 'Link schema link ID missing' + ) +} + +export const ERROR_LINK_MARK_ID_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LINK_MARK_ID_NOT_PROVIDED, + 'Link journal link ID missing' + ) +} + +export const ERROR_LINK_CREATOR_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LINK_CREATOR_NOT_PROVIDED, + 'Link Creator ID missing' + ) +} + +export const ERROR_LINK_REVOCATION_BIT_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LINK_REVOCATION_BIT_MISSING, + 'Link revocaltion input missing' + ) +} + +export const ERROR_STREAM_LINK_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_LINK_NOT_PROVIDED, + 'Stream Link missing' + ) +} + +export const ERROR_STREAM_TYPE_NOT_VALID: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_TYPE_NOT_VALID, + 'Stream Link missing' + ) +} + +export const ERROR_STREAM_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_NOT_PROVIDED, + 'Stream not provided' + ) +} +export const ERROR_REVOCATION_BIT_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_REVOCATION_BIT_MISSING, + 'Revoked identifier missing' + ) +} +export const ERROR_OWNER_NOT_PROVIDED: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_OWNER_NOT_PROVIDED, 'Owner missing') +} + +export const ERROR_STREAM_CREATOR_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_CREATOR_NOT_PROVIDED, + 'Owner missing' + ) +} + +export const ERROR_MARK_NOT_PROVIDED: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_MARK_NOT_PROVIDED, 'Mark missing') +} + +export const ERROR_RFA_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_RFA_NOT_PROVIDED, + 'RequestForMark missing' + ) +} +export const ERROR_PROOFS_NOT_PROVIDED: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_PROOFS_NOT_PROVIDED, 'Proofss missing') +} +export const ERROR_MARK_SESSION_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_SESSION_MISSING, + 'Privacy enhancement was forced, but mark session is missing.' + ) +} +export const ERROR_PE_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_PE_MISSING, + 'Privacy enhancement is missing.' + ) +} +export const ERROR_PE_CREDENTIAL_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_PE_CREDENTIAL_MISSING, + 'Missing privacy enhanced credential.' + ) +} +export const ERROR_STREAM_NONCE_MAP_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_NONCE_MAP_NOT_PROVIDED, + 'Hashtree in Stream missing' + ) +} +export const ERROR_MARK_STREAM_NOT_PROVIDED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MARK_STREAM_NOT_PROVIDED, + 'Mark Stream missing' + ) +} +export const ERROR_ADDRESS_TYPE: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_ADDRESS_TYPE, 'Address of wrong type') +} +export const ERROR_HASH_TYPE: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_HASH_TYPE, 'Hash of wrong type') +} + +export const ERROR_HASH_MALFORMED: (hash?: string, type?: string) => SDKError = + (hash?: string, type?: string) => { + if (hash && type) { + return new SDKError( + ErrorCode.ERROR_HASH_MALFORMED, + `Provided ${type} hash invalid or malformed \nHash: ${hash}` + ) + } + if (hash) { + return new SDKError( + ErrorCode.ERROR_HASH_MALFORMED, + `Provided hash invalid or malformed \nHash: ${hash}` + ) + } + + return new SDKError( + ErrorCode.ERROR_HASH_MALFORMED, + `Provided hash invalid or malformed` + ) + } + +export const ERROR_DELEGATION_ID_TYPE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_DELEGATION_ID_TYPE, + 'DelegationId of wrong type' + ) +} + +export const ERROR_DELEGATION_ID_MISSING: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_DELEGATION_ID_MISSING, + 'DelegationId is missing' + ) +} + +export const ERROR_CONTENT_STREAM_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_CONTENT_STREAM_MALFORMED, + 'Stream contents malformed' + ) +} +export const ERROR_OBJECT_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_OBJECT_MALFORMED, + 'Object form is not verifiable' + ) +} +export const ERROR_SCHEMA_CONTROLLER_TYPE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SCHEMA_CONTROLLER_TYPE, + 'Schema owner of wrong type' + ) +} + +export const ERROR_ENTITY_CONTROLLER_TYPE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_ENTITY_CONTROLLER_TYPE, + 'Enity controller of wrong type' + ) +} +export const ERROR_SPACE_CONTROLLER_TYPE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SPACE_CONTROLLER_TYPE, + 'Space controller of wrong type' + ) +} + +export const ERROR_MNEMONIC_PHRASE_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MNEMONIC_PHRASE_MALFORMED, + 'Mnemonic phrase malformed or too short' + ) +} +export const ERROR_QUOTE_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_QUOTE_MALFORMED, + 'Quote form is not verifiable' + ) +} + +export const ERROR_CONTENT_NONCE_MAP_MALFORMED: ( + statement?: string +) => SDKError = (statement) => { + let message = '' + if (statement) { + message = `Nonce map malformed or incomplete: no nonce for statement "${statement}"` + } else { + message = `Nonce map malformed or incomplete` + } + return new SDKError(ErrorCode.ERROR_CONTENT_NONCE_MAP_MALFORMED, message) +} + +export const ERROR_MESSAGE_BODY_MALFORMED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MESSAGE_BODY_MALFORMED, + 'Message body is malformed or wrong type' + ) +} + +export const ERROR_STREAM_HASHTREE_MISMATCH: (key?: string) => SDKError = ( + key?: string +) => { + if (key) { + return new SDKError( + ErrorCode.ERROR_STREAM_HASHTREE_MISMATCH, + `Property '${key}' not found in stream` + ) + } + + return new SDKError( + ErrorCode.ERROR_STREAM_HASHTREE_MISMATCH, + `Property not found in stream` + ) +} + +export const ERROR_SIGNATURE_DATA_TYPE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SIGNATURE_DATA_TYPE, + 'Property non existent' + ) +} +export const ERROR_DID_IDENTIFIER_MISMATCH: ( + identifier: string, + id: string +) => SDKError = (identifier: string, id: string) => { + return new SDKError( + ErrorCode.ERROR_DID_IDENTIFIER_MISMATCH, + `This identifier (${identifier}) doesn't match the DID Document's identifier (${id})` + ) +} +export const ERROR_PE_MISMATCH: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_PE_MISMATCH, + 'Verifier requested public presentation, but privacy enhancement was forced.' + ) +} +export const ERROR_ROOT_NODE_QUERY: (rootId: string) => SDKError = ( + rootId: string +) => { + return new SDKError( + ErrorCode.ERROR_ROOT_NODE_QUERY, + `Could not find root node with id ${rootId}` + ) +} +export const ERROR_NODE_QUERY: (nodeId: string) => SDKError = ( + nodeId: string +) => { + return new SDKError( + ErrorCode.ERROR_NODE_QUERY, + `Could not find node with id ${nodeId}` + ) +} +export const ERROR_INVALID_DID_PREFIX: (identifier: string) => SDKError = ( + identifier: string +) => { + return new SDKError( + ErrorCode.ERROR_INVALID_DID_PREFIX, + `Not a CORD did: ${identifier}` + ) +} + +export const ERROR_ADDRESS_INVALID: ( + address?: string, + type?: string +) => SDKError = (address?: string, type?: string) => { + if (address && type) { + return new SDKError( + ErrorCode.ERROR_ADDRESS_INVALID, + `Provided ${type} address invalid \n\n Address: ${address}` + ) + } + if (address) { + return new SDKError( + ErrorCode.ERROR_ADDRESS_INVALID, + `Provided address invalid \n\n Address: ${address}` + ) + } + + return new SDKError( + ErrorCode.ERROR_ADDRESS_INVALID, + `Provided address invalid` + ) +} + +export const ERROR_NONCE_HASH_INVALID: ( + nonceHash?: NonceHash, + type?: string +) => SDKError = (nonceHash?: NonceHash, type?: string) => { + if (nonceHash && type) { + return new SDKError( + ErrorCode.ERROR_NONCE_HASH_INVALID, + `Provided ${type} NonceHash invalid \n Hash: ${nonceHash.hash} \n Nonce: ${nonceHash.nonce}` + ) + } + if (nonceHash) { + return new SDKError( + ErrorCode.ERROR_NONCE_HASH_INVALID, + `Provided NonceHash invalid \nHash: ${nonceHash}` + ) + } + + return new SDKError( + ErrorCode.ERROR_NONCE_HASH_INVALID, + 'NonceHash could not be validated' + ) +} +export const ERROR_LEGITIMATIONS_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_LEGITIMATIONS_UNVERIFIABLE, + 'Legitimations could not be verified' + ) +} +export const ERROR_SIGNATURE_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SIGNATURE_UNVERIFIABLE, + 'Signature could not be verified' + ) +} +export const ERROR_STREAM_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_STREAM_UNVERIFIABLE, + 'Stream could not be verified' + ) +} + +export const ERROR_CONTENT_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_CONTENT_UNVERIFIABLE, + 'Stream content could not be verified' + ) +} + +export const ERROR_NESTED_CONTENT_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_NESTED_CONTENT_UNVERIFIABLE, + 'Nested stream data does not validate against MType' + ) +} + +export const ERROR_SCHEMA_HASH_INVALID: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_SCHEMA_HASH_INVALID, + 'Schema Hash could not be validated' + ) +} + +export const ERROR_MNEMONIC_PHRASE_INVALID: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_MNEMONIC_PHRASE_INVALID, + 'Mnemonic phrase invalid' + ) +} +export const ERROR_IDENTITY_MISMATCH: ( + context?: string, + type?: string +) => SDKError = (context?: string, type?: string) => { + if (type && context) { + return new SDKError( + ErrorCode.ERROR_IDENTITY_MISMATCH, + `${type} is not owner of the ${context}` + ) + } + if (context) { + return new SDKError( + ErrorCode.ERROR_IDENTITY_MISMATCH, + `Identity is not owner of the ${context}` + ) + } + return new SDKError( + ErrorCode.ERROR_IDENTITY_MISMATCH, + 'Addresses expected to be equal mismatched' + ) +} + +export const ERROR_IDENTITY_NOT_PE_ENABLED: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_IDENTITY_NOT_PE_ENABLED, + 'Identity is not privacy enhaced' + ) +} +export const ERROR_WS_ADDRESS_NOT_SET: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_WS_ADDRESS_NOT_SET, + 'Node address to connect to not configured!' + ) +} + +export const ERROR_ROOT_HASH_UNVERIFIABLE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_ROOT_HASH_UNVERIFIABLE, + 'RootHash could not be verified' + ) +} + +export const ERROR_DECOMPRESSION_ARRAY: (type?: string) => SDKError = ( + type?: string +) => { + if (type) { + return new SDKError( + ErrorCode.ERROR_DECOMPRESSION_ARRAY, + `Provided compressed ${type} not an Array or not of defined length` + ) + } + return new SDKError( + ErrorCode.ERROR_DECOMPRESSION_ARRAY, + 'Provided compressed object not an Array or not of defined length' + ) +} + +export const ERROR_COMPRESS_OBJECT: ( + object?: Record, + type?: string +) => SDKError = (object?: Record, type?: string) => { + if (object && type) { + return new SDKError( + ErrorCode.ERROR_COMPRESS_OBJECT, + `Property Not Provided while compressing ${type}:\n${JSON.stringify( + object, + null, + 2 + )}` + ) + } + if (object) { + return new SDKError( + ErrorCode.ERROR_COMPRESS_OBJECT, + `Property Not Provided while compressing object:\n${JSON.stringify( + object, + null, + 2 + )}` + ) + } + + return new SDKError( + ErrorCode.ERROR_COMPRESS_OBJECT, + `Property Not Provided while compressing object` + ) +} + +export const ERROR_DECODING_MESSAGE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_DECODING_MESSAGE, + 'Error decoding message' + ) +} +export const ERROR_PARSING_MESSAGE: () => SDKError = () => { + return new SDKError( + ErrorCode.ERROR_PARSING_MESSAGE, + 'Error parsing message body' + ) +} + +export const ERROR_MESSAGE_TYPE: ( + type: string, + expectedType: string, + alternativeType?: string +) => SDKError = ( + type: string, + expectedType: string, + alternativeType?: string +) => { + if (alternativeType) { + return new SDKError( + ErrorCode.ERROR_MESSAGE_TYPE, + `Unexpected message type. Received ${type}, expected ${expectedType} or ${alternativeType}` + ) + } + return new SDKError( + ErrorCode.ERROR_MESSAGE_TYPE, + `Unexpected message type. Received ${type}, expected ${expectedType}` + ) +} + +export const ERROR_UNKNOWN: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_UNKNOWN, 'an unknown error ocurred') +} + +export const ERROR_TIMEOUT: () => SDKError = () => { + return new SDKError(ErrorCode.ERROR_TIMEOUT, 'operation timed out') +} + +export const ERROR_PE_VERIFICATION: ( + accFailure: boolean, + keyFailure: boolean +) => SDKError = (accFailure: boolean, keyFailure: boolean) => { + return new SDKError( + ErrorCode.ERROR_PE_VERIFICATION, + `Received privacy enhanced presentation with insufficient data. + \n\tMissing accumulators? ${accFailure} + \n\tMissing issuer public keys? ${keyFailure} + ` + ) +} + +export const ERROR_INVALID_PROOF_FOR_STATEMENT: ( + statement: string +) => SDKError = (statement) => { + return new SDKError( + ErrorCode.ERROR_INVALID_PROOF_FOR_STATEMENT, + `Proof could not be verified for statement\n${statement}` + ) +} + +export const ERROR_NO_PROOF_FOR_STATEMENT: (statement: string) => SDKError = ( + statement +) => { + return new SDKError( + ErrorCode.ERROR_NO_PROOF_FOR_STATEMENT, + `No matching proof found for statement\n${statement}` + ) +} diff --git a/packages/utils/src/UUID.spec.ts b/packages/utils/src/UUID.spec.ts new file mode 100644 index 00000000..ffaa1fe3 --- /dev/null +++ b/packages/utils/src/UUID.spec.ts @@ -0,0 +1,13 @@ +/** + * @group unit/utils + */ + +import UUID from './UUID' + +describe('UUID', () => { + it('generate', () => { + const uuid: string = UUID.generate() + expect(uuid.substr(0, 2)).toEqual('0x') + expect(uuid.substr(2)).toHaveLength(64) + }) +}) diff --git a/packages/utils/src/UUID.ts b/packages/utils/src/UUID.ts new file mode 100644 index 00000000..906b3397 --- /dev/null +++ b/packages/utils/src/UUID.ts @@ -0,0 +1,24 @@ +/** + * Universally unique identifiers (UUIDs) are needed in CORD to uniquely identify specific information. + * + * UUIDs are used for example in [[RequestForMark]] to generate hashes. + * + * @packageDocumentation + * @module UUID + */ + +import { v4 as uuid } from 'uuid' +import { hashStr } from './Crypto' + +/** + * Generates a H256 compliant UUID. + * + * @returns The hashed uuid. + */ +export function generate(): string { + return hashStr(uuid()) +} + +export default { + generate, +} diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts new file mode 100644 index 00000000..c7477879 --- /dev/null +++ b/packages/utils/src/index.ts @@ -0,0 +1,6 @@ +export * as Crypto from './Crypto' +export * as jsonabc from './jsonabc' +export * as UUID from './UUID' +export * as DataUtils from './DataUtils' +export * as DecoderUtils from './Decode' +export * as SDKErrors from './SDKErrors' diff --git a/packages/utils/src/jsonabc.d.ts b/packages/utils/src/jsonabc.d.ts new file mode 100644 index 00000000..37c413ad --- /dev/null +++ b/packages/utils/src/jsonabc.d.ts @@ -0,0 +1,26 @@ +/** + * @packageDocumentation + * @ignore + */ + +// Type definitions for jsonabc 2.3 +// Project: http://novicelab.org/jsonabc +// Definitions by: Florian Keller +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 +/* eslint-disable */ + +/** + * Sort the JSON (clean, parse, sort, stringify). + * @param noArray Sort or don't sort arrays + */ +export function sort(inputStr: string, noArray?: boolean): string; + +/** + * Sort the JSON (clean, parse, sort, stringify). + * @param noArray Sort or don't sort arrays + */ +export function sortObj(input: T, noArray?: boolean): T; + +/** Remove trailing commas */ +export function cleanJSON(input: string): string; diff --git a/packages/utils/src/jsonabc.js b/packages/utils/src/jsonabc.js new file mode 100644 index 00000000..6cc97730 --- /dev/null +++ b/packages/utils/src/jsonabc.js @@ -0,0 +1,93 @@ +// Taken from https://github.com/ShivrajRath/jsonabc/blob/2ccf15f967f0e44e48fb7b163aebef43c0047166/index.js +// Copied here, because the package defines a browser compatible script, but doesn't create it, +// which leads to it failing in react-native. See https://github.com/ShivrajRath/jsonabc/issues/18 +/* eslint-disable */ + + +/*! + JSON ABC | License: MIT. +*/ + +module.exports = { + sort: sort, + sortObj: sortObj, + cleanJSON: cleanJSON +}; + +// Is a value an array? +function isArray (val) { + return Object.prototype.toString.call(val) === '[object Array]'; +} + +// Is a value an Object? +function isPlainObject (val) { + return Object.prototype.toString.call(val) === '[object Object]'; +} + +// Sorting Logic +function sortObj (un, noarray) { + noarray = noarray || false; + + var or = {}; + + if (isArray(un)) { + // Sort or don't sort arrays + if (noarray) { + or = un; + } else { + or = un.sort(); + } + + or.forEach(function (v, i) { + or[i] = sortObj(v, noarray); + }); + + if (!noarray) { + or = or.sort(function (a, b) { + a = JSON.stringify(a); + b = JSON.stringify(b); + return a < b ? -1 : (a > b ? 1 : 0); + }); + } + } else if (isPlainObject(un)) { + or = {}; + Object.keys(un).sort(function (a, b) { + if (a.toLowerCase() < b.toLowerCase()) return -1; + if (a.toLowerCase() > b.toLowerCase()) return 1; + return 0; + }).forEach(function (key) { + or[key] = sortObj(un[key], noarray); + }); + } else { + or = un; + } + + return or; +} + +// Remove trailing commas +function cleanJSON (input) { + input = input.replace(/,[ \t\r\n]+}/g, '}'); + input = input.replace(/,[ \t\r\n]+\]/g, ']'); + return input; +} + +// Sort the JSON (clean, parse, sort, stringify). +function sort (inputStr, noarray) { + var output, obj, r; + + if (inputStr) { + try { + inputStr = cleanJSON(inputStr); + obj = JSON.parse(inputStr); + r = sortObj(obj, noarray); + output = JSON.stringify(r, null, 4); + } catch (ex) { + console.error('jsonabc: Incorrect JSON object.', [], ex); + throw ex; + } + } + return output; +} + +// End. diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json new file mode 100644 index 00000000..8b1bc5a7 --- /dev/null +++ b/packages/utils/tsconfig.build.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.build.json", + + "compilerOptions": { + "outDir": "./lib" + }, + + "include": [ + "src/**/*.ts", "src/**/*.js" + ], + + "exclude": [ + "coverage", + "**/*.spec.ts", + ] +} diff --git a/testingTools/jestErrorCodeMatcher.ts b/testingTools/jestErrorCodeMatcher.ts new file mode 100644 index 00000000..54e48ed5 --- /dev/null +++ b/testingTools/jestErrorCodeMatcher.ts @@ -0,0 +1,57 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +export {} + +interface CodedError { + errorCode: number +} +declare global { + namespace jest { + interface Matchers { + toThrowErrorWithCode(errorOrCode: number | CodedError): R + } + } +} + +expect.extend({ + toThrowErrorWithCode( + received: Error | (() => any), + errorOrCode: number | CodedError + ) { + const not = this.isNot + const expectedErrorCode = + typeof errorOrCode === 'object' + ? (errorOrCode.errorCode as number) + : errorOrCode + let error: any + if (received instanceof Function) { + try { + received() + return { pass: false, message: () => 'Received function did not throw' } + } catch (e) { + error = e + } + } else if (received instanceof Error) { + error = received + } else { + throw new TypeError( + `expect.toThrowErrorWithCode expects a Function or Error, received: ${typeof received}` + ) + } + const receivedErrorCode: Number | undefined = error.errorCode + const message = (): string => + not + ? `Expected: error.errorCode ${this.utils.printExpected( + `!= ${expectedErrorCode}` + )}\n` + + `Received: error.errorCode ${this.utils.printExpected( + `= ${expectedErrorCode}` + )}` + : `Expected: error.errorCode = ${this.utils.printExpected( + expectedErrorCode + )}\n` + + `Received: error.errorCode = ${this.utils.printReceived( + receivedErrorCode + )}` + return { pass: expectedErrorCode === receivedErrorCode, message } + }, +}) diff --git a/testingTools/setup.ts b/testingTools/setup.ts new file mode 100644 index 00000000..ecf27289 --- /dev/null +++ b/testingTools/setup.ts @@ -0,0 +1,6 @@ +import { cryptoWaitReady } from '@polkadot/util-crypto' +export {} + +beforeAll(async () => { + await cryptoWaitReady() +}) diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 00000000..6b067222 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "module": "CommonJS", + "target": "es2017", + "lib": [ + "es6" + ], + "sourceMap": false, + "strict": true, + "allowJs": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "jsx": "preserve", + "moduleResolution": "node", + "forceConsistentCasingInFileNames": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noImplicitAny": true, + "importHelpers": true, + "strictNullChecks": true, + "suppressImplicitAnyIndexErrors": true, + "noUnusedLocals": true, + "outDir": "./dist", + }, + "exclude": [ + "node_modules/**/*", + "lib/**/*", + "./dist/**/*" + ] +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..f4d55654 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "./tsconfig.build.json", + "exclude": [ + "docs/**/*" + ], + "compilerOptions": { + "baseUrl": "./packages", + "sourceMap": true, + "paths": { + "@cord.network/exchange": ["exchange/src"], + "@cord.network/network": ["network/src"], + "@cord.network/config": ["config/src"], + "@cord.network/modules": ["modules/src"], + "@cord.network/messaging": ["messaging/src"], + "@cord.network/api": ["api/src"], + "@cord.network/types": ["types/src"], + "@cord.network/utils": ["utils/src"], + } + }, + "skipLibCheck": true +} diff --git a/typedoc.js b/typedoc.js new file mode 100644 index 00000000..c4978969 --- /dev/null +++ b/typedoc.js @@ -0,0 +1,20 @@ +module.exports = { + exclude: [ + '**/*spec.ts', + '**/__mocks__/**', + '**/testingTools/**', + '**/*.js', + '**/node_modules/**', + '**/__integrationtests__/**', + '**/index.ts', + ], + excludeExternals: true, + excludeNotExported: true, + excludePrivate: true, + stripInternal: true, + hideGenerator: true, + name: '@cord.network/api', + listInvalidSymbolLinks: true, + tsconfig: 'tsconfig.json', + readme: 'README.md', +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..47b344d9 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8626 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 4 + cacheKey: 8 + +"@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.12.13, @babel/code-frame@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/code-frame@npm:7.16.0" + dependencies: + "@babel/highlight": ^7.16.0 + checksum: 8961d0302ec6b8c2e9751a11e06a17617425359fd1645e4dae56a90a03464c68a0916115100fbcd030961870313f21865d0b85858360a2c68aabdda744393607 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/compat-data@npm:7.16.0" + checksum: 2befa4ba145e3acdce3e160dcad0917a073f12d238bde295c37676e7a1d164630848926034df2dfde244cef6a190b25350ffac0b4215c37123787f67aea80e71 + languageName: node + linkType: hard + +"@babel/core@npm:7.16.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": + version: 7.16.0 + resolution: "@babel/core@npm:7.16.0" + dependencies: + "@babel/code-frame": ^7.16.0 + "@babel/generator": ^7.16.0 + "@babel/helper-compilation-targets": ^7.16.0 + "@babel/helper-module-transforms": ^7.16.0 + "@babel/helpers": ^7.16.0 + "@babel/parser": ^7.16.0 + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + source-map: ^0.5.0 + checksum: a140f669daa90c774016a76b1f85641975333c1c219ae0a8e65d8b4c316836e918276e0dfd55613b14f8e578406a92393d4368a63bdd5d0708122976ee2ee8e3 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.16.0, @babel/generator@npm:^7.7.2": + version: 7.16.0 + resolution: "@babel/generator@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: 9ff53e0db72a225c8783c4a277698b4efcead750542ebb9cff31732ba62d092090715a772df10a323446924712f6928ad60c03db4e7051bed3a9701b552d51fb + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.16.0": + version: 7.16.3 + resolution: "@babel/helper-compilation-targets@npm:7.16.3" + dependencies: + "@babel/compat-data": ^7.16.0 + "@babel/helper-validator-option": ^7.14.5 + browserslist: ^4.17.5 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 038bcd43ac914371c51bf6e72b5cedcae432f0d359285d74a9133c6a839bd625a7d5412d7471d50aa78a3e1c79b0a692b50a8d6a1299ebf69733b512ff199323 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-function-name@npm:7.16.0" + dependencies: + "@babel/helper-get-function-arity": ^7.16.0 + "@babel/template": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 8c02371d28678f3bb492e69d4635b2fe6b1c5a93ce129bf883f1fafde2005f4dbc0e643f52103ca558b698c0774bfb84a93f188d71db1c077f754b6220629b92 + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-get-function-arity@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 1a68322c7b5fdffb1b51df32f7a53b1ff2268b5b99d698f0a1a426dcb355482a44ef3dae982a507907ba975314638dabb6d77ac1778098bdbe99707e6c29cae8 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-hoist-variables@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 2ee5b400c267c209a53c90eea406a8f09c30d4d7a2b13e304289d858a2e34a99272c062cfad6dad63705662943951c42ff20042ef539b2d3c4f8743183a28954 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 58ef8e3a4af0c1dc43a2011f43f25502877ac1c5aa9a4a6586f0265ab857b65831f60560044bc9380df43c91ac21cad39a84095b91764b433d1acf18d27e38d6 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-module-imports@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 8e1eb9ac39440e52080b87c78d8d318e7c93658bdd0f3ce0019c908de88cbddafdc241f392898c0b0ba81fc52c8c6d2f9cc1b163ac5ed2a474d49b11646b7516 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-module-transforms@npm:7.16.0" + dependencies: + "@babel/helper-module-imports": ^7.16.0 + "@babel/helper-replace-supers": ^7.16.0 + "@babel/helper-simple-access": ^7.16.0 + "@babel/helper-split-export-declaration": ^7.16.0 + "@babel/helper-validator-identifier": ^7.15.7 + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: a3d0e5556f26ebdf2ae422af3b9a1ba1848fead891f46bcd1c6a4be88ad8e9f348140f81d1843a3481574be1643a9c79b01469231f5b5801f5d5e691efdd11f3 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-optimise-call-expression@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 121ae6054fcec76ed2c4dd83f0281b901c1e3cfac1bbff79adc3667983903ad1030a0ad9a8bea58e52b225e13881cf316f371c65276976e7a6762758a98be8f6 + 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.8.0": + version: 7.14.5 + resolution: "@babel/helper-plugin-utils@npm:7.14.5" + checksum: fe20e90a24d02770a60ebe80ab9f0dfd7258503cea8006c71709ac9af1aa3e47b0de569499673f11ea6c99597f8c0e4880ae1d505986e61101b69716820972fe + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-replace-supers@npm:7.16.0" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.16.0 + "@babel/helper-optimise-call-expression": ^7.16.0 + "@babel/traverse": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 61f04bbe05ff0987d5a8d5253cb101d47004a27951d6c5cd95457e30fcb3adaca85f0bcaa7f31f4d934f22386b935ac7281398c68982d4a4768769d95c028460 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-simple-access@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 2d7155f318411788b42d2f4a3d406de12952ad620d0bd411a0f3b5803389692ad61d9e7fab5f93b23ad3d8a09db4a75ca9722b9873a606470f468bc301944af6 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/helper-split-export-declaration@npm:7.16.0" + dependencies: + "@babel/types": ^7.16.0 + checksum: 8bd87b5ea2046b145f0f55bc75cbdb6df69eaeb32919ee3c1c758757025aebca03e567a4d48389eb4f16a55021adb6ed8fa58aa771e164b15fa5e0a0722f771d + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.15.7": + version: 7.15.7 + resolution: "@babel/helper-validator-identifier@npm:7.15.7" + checksum: f041c28c531d1add5cc345b25d5df3c29c62bce3205b4d4a93dcd164ccf630350acba252d374fad8f5d8ea526995a215829f27183ba7ce7ce141843bf23068a6 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/helper-validator-option@npm:7.14.5" + checksum: 1b25c34a5cb3d8602280f33b9ab687d2a77895e3616458d0f70ddc450ada9b05e342c44f322bc741d51b252e84cff6ec44ae93d622a3354828579a643556b523 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.16.0": + version: 7.16.3 + resolution: "@babel/helpers@npm:7.16.3" + dependencies: + "@babel/template": ^7.16.0 + "@babel/traverse": ^7.16.3 + "@babel/types": ^7.16.0 + checksum: b725b1aab734e9e1407247ee499880583855843fa2855377a2c26277bd9fbd7080219109189bc69b18d71cc30759666bfe66d534729b41452097866d1f5a66ef + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/highlight@npm:7.16.0" + dependencies: + "@babel/helper-validator-identifier": ^7.15.7 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: abf244c48fcff20ec87830e8b99c776f4dcdd9138e63decc195719a94148da35339639e0d8045eb9d1f3e67a39ab90a9c3f5ce2d579fb1a0368d911ddf29b4e5 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.0, @babel/parser@npm:^7.16.3, @babel/parser@npm:^7.7.2": + version: 7.16.3 + resolution: "@babel/parser@npm:7.16.3" + bin: + parser: ./bin/babel-parser.js + checksum: 486b676b9d47d10de72598f9453eb4591535c5639b5e153d46442fb0d8523d775abf6e5f457193730b609d55ad0fd171f28a075c1fa5679f5049279e77cd63b2 + 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.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc + 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.16.0 + resolution: "@babel/plugin-syntax-typescript@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 2da3bdd031230e515615fe39c50d40064d04f64f1d2b60113adff2c112a27e4f9425425e604297d5c2af2b635e7980f3677e434dfeb1d7320ad2cd1ffc8e8c2a + languageName: node + linkType: hard + +"@babel/runtime-corejs3@npm:^7.10.2": + version: 7.16.3 + resolution: "@babel/runtime-corejs3@npm:7.16.3" + dependencies: + core-js-pure: ^3.19.0 + regenerator-runtime: ^0.13.4 + checksum: cdf97a52e6e980325190d680322ef182025249b6ac2fd7efa4e28bbf4e9ae8c41ef48457a25c90f03c5e759d2f66fe8d459c31e0f6b16815c9ca90654041f487 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.15.3, @babel/runtime@npm:^7.16.0, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.9.6": + version: 7.16.3 + resolution: "@babel/runtime@npm:7.16.3" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: ab8ac887096d76185ddbf291d28fb976cd32473696dc497ad4905b784acbd5aa462533ad83a5c5104e10ead28c2e0e119840ee28ed8eff90dcdde9d57f916eda + languageName: node + linkType: hard + +"@babel/template@npm:^7.16.0, @babel/template@npm:^7.3.3": + version: 7.16.0 + resolution: "@babel/template@npm:7.16.0" + dependencies: + "@babel/code-frame": ^7.16.0 + "@babel/parser": ^7.16.0 + "@babel/types": ^7.16.0 + checksum: 940f105cc6a6aee638cd8cfae80b8b80811e0ddd53b6a11f3a68431ebb998564815fb26511b5d9cb4cff66ea67130ba7498555ee015375d32f5f89ceaa6662ea + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.16.3, @babel/traverse@npm:^7.7.2": + version: 7.16.3 + resolution: "@babel/traverse@npm:7.16.3" + dependencies: + "@babel/code-frame": ^7.16.0 + "@babel/generator": ^7.16.0 + "@babel/helper-function-name": ^7.16.0 + "@babel/helper-hoist-variables": ^7.16.0 + "@babel/helper-split-export-declaration": ^7.16.0 + "@babel/parser": ^7.16.3 + "@babel/types": ^7.16.0 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: abb14857b1104c73124612954865e28f95a86eb6741f35851369b4f9eabc17e394c9aa6f21fba6ce23813592353090d409772be828717cbe5154a5e981a753c1 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": + version: 7.16.0 + resolution: "@babel/types@npm:7.16.0" + dependencies: + "@babel/helper-validator-identifier": ^7.15.7 + to-fast-properties: ^2.0.0 + checksum: 5b483da5c6e6f2394fba7ee1da8787a0c9cddd33491271c4da702e49e6faf95ce41d7c8bf9a4ee47f2ef06bdb35096f4d0f6ae4b5bea35ebefe16309d22344b7 + 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 + +"@commitlint/cli@npm:^9.0.1": + version: 9.1.2 + resolution: "@commitlint/cli@npm:9.1.2" + dependencies: + "@babel/runtime": ^7.9.6 + "@commitlint/format": ^9.1.2 + "@commitlint/lint": ^9.1.2 + "@commitlint/load": ^9.1.2 + "@commitlint/read": ^9.1.2 + chalk: 4.1.0 + core-js: ^3.6.1 + get-stdin: 7.0.0 + lodash: ^4.17.19 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: ^15.1.0 + bin: + commitlint: cli.js + checksum: 31891297c51708bba6a2c002d405acf33305e17471f10e156a25545a10abd5765d1f83d24a1788efb66c8e1e57dc0ef90e0f58ad6f80a55978161521779db96c + languageName: node + linkType: hard + +"@commitlint/config-conventional@npm:^9.0.1": + version: 9.1.2 + resolution: "@commitlint/config-conventional@npm:9.1.2" + dependencies: + conventional-changelog-conventionalcommits: 4.3.0 + checksum: 66efdcc631a77c94b92ccda979ea3636b41576644b481a98ac4b7cdc58873f7c3aaa2aa6a5c254fd86a321b68f8d0d95450f980cb9d59237d16700c9a754ea41 + languageName: node + linkType: hard + +"@commitlint/ensure@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/ensure@npm:9.1.2" + dependencies: + "@commitlint/types": ^9.1.2 + lodash: ^4.17.19 + checksum: 49b54f4c40603a3b2423b5e851cea05cffc5ed6771161977108717a29da70bc3e6c4ebf418335e1f0c1354b3da7dd6138281501ebd163cacd1113acdf5ae5fc5 + languageName: node + linkType: hard + +"@commitlint/execute-rule@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/execute-rule@npm:9.1.2" + checksum: 955875af572642bb9bd52838a59d70aab894f11632f8808508db1eb5666a6ae1a2e00fcb86735f09c7318762114f092a0dcc57322e747d52ca433e8c62d6a574 + languageName: node + linkType: hard + +"@commitlint/format@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/format@npm:9.1.2" + dependencies: + "@commitlint/types": ^9.1.2 + chalk: ^4.0.0 + checksum: deef4b8acf42cc0506221e7e0e8614e1616d3ec94a93620c53549f38b4241859ab463e107aaae1cc666a5d4648448ee5016a18210340cc020946811204382393 + languageName: node + linkType: hard + +"@commitlint/is-ignored@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/is-ignored@npm:9.1.2" + dependencies: + "@commitlint/types": ^9.1.2 + semver: 7.3.2 + checksum: 8b922f5aca9665e448d2ef37620f6e84a07bf7c4e74cf44ded615843bb141b3f4cad22d65cf5186326f98027ed01d40efd636e8ea3361a85d73fe2b4b165ce8b + languageName: node + linkType: hard + +"@commitlint/lint@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/lint@npm:9.1.2" + dependencies: + "@commitlint/is-ignored": ^9.1.2 + "@commitlint/parse": ^9.1.2 + "@commitlint/rules": ^9.1.2 + "@commitlint/types": ^9.1.2 + checksum: a32849486b1d616b7612ff9d73118bbdec224d6bfe3efd1598fed0edba4f06740a0b62053984446c581f808e10e5ee1bdde59364e6a8b8337f31ef54c5ee2387 + languageName: node + linkType: hard + +"@commitlint/load@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/load@npm:9.1.2" + dependencies: + "@commitlint/execute-rule": ^9.1.2 + "@commitlint/resolve-extends": ^9.1.2 + "@commitlint/types": ^9.1.2 + chalk: 4.1.0 + cosmiconfig: ^6.0.0 + lodash: ^4.17.19 + resolve-from: ^5.0.0 + checksum: cee43a63e62619039c99d2a562a102b319661bcae68b7eaf0742bd23a2b9c597ce46fb0f31059925b961af401f890a5da2603ed2300f5e7248a4ba3c980137d5 + languageName: node + linkType: hard + +"@commitlint/message@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/message@npm:9.1.2" + checksum: 770bb193aa120be11e1b28c3b8de7e35b0f769701cfd290a5d1ea91cc1a9b7340ac8c7d5642acc86f48ab8912675ed750b85ca7b7d649cee1367e2d70c4983bc + languageName: node + linkType: hard + +"@commitlint/parse@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/parse@npm:9.1.2" + dependencies: + conventional-changelog-angular: ^5.0.0 + conventional-commits-parser: ^3.0.0 + checksum: 855d2793cd752f91efb6d6424affcc4a49b587cf8d368ed9cb9982b874f1f58bb2fb86b892ea8049ee2d13051d9420e68944903f0c2c7d9a2ec5bf4ba0e1515e + languageName: node + linkType: hard + +"@commitlint/read@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/read@npm:9.1.2" + dependencies: + "@commitlint/top-level": ^9.1.2 + fs-extra: ^8.1.0 + git-raw-commits: ^2.0.0 + checksum: 212b5bc977c662eceb7f303c9feb67c952626989b677ffb1ee02a66961dfeef1a83de9440c2ef31aadb30f09cbb4a7e92bfaea293eeabccac2b7b137cf6957e7 + languageName: node + linkType: hard + +"@commitlint/resolve-extends@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/resolve-extends@npm:9.1.2" + dependencies: + import-fresh: ^3.0.0 + lodash: ^4.17.19 + resolve-from: ^5.0.0 + resolve-global: ^1.0.0 + checksum: 18c079357958cd83259cde46d7c57a05779ef2aac1b5e8ff1bc81cbd272cf21666caf71ebe8fe6f1719809fae85de08ca661902549d7beac5a796756b38737a5 + languageName: node + linkType: hard + +"@commitlint/rules@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/rules@npm:9.1.2" + dependencies: + "@commitlint/ensure": ^9.1.2 + "@commitlint/message": ^9.1.2 + "@commitlint/to-lines": ^9.1.2 + "@commitlint/types": ^9.1.2 + checksum: 83ddf60fa5ec9a09d5dac72c709508acff16169b0be3544ccefe5baa365e4b46b16763ca38f757d7927d67b153d32ffe0545cf71becac6cd19b15bffd39ed9b8 + languageName: node + linkType: hard + +"@commitlint/to-lines@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/to-lines@npm:9.1.2" + checksum: 9ba40944c7459e83926dcd20174def3a32f83cbe8039d4e54a140a54720a15489430a4727be5ca48d540b76e38b2e68084896d0b750c71698e663e5ba1471bd6 + languageName: node + linkType: hard + +"@commitlint/top-level@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/top-level@npm:9.1.2" + dependencies: + find-up: ^4.0.0 + checksum: 3f1dc8bbc9f95a22cf67ec45e812d2d0ce36649ae6b8a7504817852796c3ca6c5c253ccced52a59c629fde7500a08629f742853d2188322ea40616454bb28dab + languageName: node + linkType: hard + +"@commitlint/types@npm:^9.1.2": + version: 9.1.2 + resolution: "@commitlint/types@npm:9.1.2" + checksum: af42483f0803b91e839a890b9c8ff0b4ab1a24830b81f3182d6365daa8b40766832a25a19c9e99b1a152193644099217ecc92d364fbeb4d5444749385a4f10a3 + languageName: node + linkType: hard + +"@cord.network/api@workspace:packages/api": + version: 0.0.0-use.local + resolution: "@cord.network/api@workspace:packages/api" + dependencies: + "@cord.network/exchange": "workspace:*" + "@cord.network/messaging": "workspace:*" + "@cord.network/modules": "workspace:*" + "@cord.network/network": "workspace:*" + "@cord.network/types": "workspace:*" + "@cord.network/utils": "workspace:*" + buffer: ^6.0.3 + crypto-browserify: ^3.12.0 + process: ^0.11.10 + rimraf: ^3.0.2 + stream-browserify: ^3.0.0 + terser-webpack-plugin: ^5.1.1 + typescript: ^4.2.2 + url: ^0.11.0 + util: ^0.12.4 + webpack: ^5.27.0 + webpack-cli: ^4.5.0 + languageName: unknown + linkType: soft + +"@cord.network/config@workspace:*, @cord.network/config@workspace:packages/config": + version: 0.0.0-use.local + resolution: "@cord.network/config@workspace:packages/config" + dependencies: + "@cord.network/utils": "workspace:*" + rimraf: ^3.0.2 + typescript: ^4.2.2 + typescript-logging: ^0.6.4 + languageName: unknown + linkType: soft + +"@cord.network/exchange@workspace:*, @cord.network/exchange@workspace:packages/exchange": + version: 0.0.0-use.local + resolution: "@cord.network/exchange@workspace:packages/exchange" + dependencies: + "@cord.network/config": "workspace:*" + "@cord.network/messaging": "workspace:*" + "@cord.network/modules": "workspace:*" + "@cord.network/network": "workspace:*" + "@cord.network/types": "workspace:*" + "@cord.network/utils": "workspace:*" + rimraf: ^3.0.2 + typescript: ^4.2.2 + languageName: unknown + linkType: soft + +"@cord.network/messaging@workspace:*, @cord.network/messaging@workspace:packages/messaging": + version: 0.0.0-use.local + resolution: "@cord.network/messaging@workspace:packages/messaging" + dependencies: + "@cord.network/modules": "workspace:*" + "@cord.network/types": "workspace:*" + "@cord.network/utils": "workspace:*" + "@polkadot/util": ^7.8.2 + rimraf: ^3.0.2 + typescript: ^4.2.2 + languageName: unknown + linkType: soft + +"@cord.network/modules@workspace:*, @cord.network/modules@workspace:packages/modules": + version: 0.0.0-use.local + resolution: "@cord.network/modules@workspace:packages/modules" + dependencies: + "@cord.network/config": "workspace:*" + "@cord.network/network": "workspace:*" + "@cord.network/types": "workspace:*" + "@cord.network/utils": "workspace:*" + "@polkadot/api": 6.7.2 + "@polkadot/keyring": 7.8.2 + "@polkadot/types": 6.7.2 + "@polkadot/types-known": 6.7.2 + "@polkadot/util": 7.8.2 + "@polkadot/util-crypto": 7.8.2 + "@types/uuid": ^8.0.0 + ajv: ^6.12.5 + rimraf: ^3.0.2 + tslib: ^2.0.0 + tweetnacl: ^1.0.3 + typescript: ^4.2.2 + typescript-logging: ^0.6.4 + languageName: unknown + linkType: soft + +"@cord.network/network@workspace:*, @cord.network/network@workspace:packages/network": + version: 0.0.0-use.local + resolution: "@cord.network/network@workspace:packages/network" + dependencies: + "@cord.network/config": "workspace:*" + "@cord.network/type-definitions": 0.2.4-13 + "@cord.network/types": "workspace:*" + "@cord.network/utils": "workspace:*" + "@polkadot/api": 6.7.2 + "@polkadot/keyring": 7.8.2 + "@polkadot/types": 6.7.2 + "@polkadot/util": 7.8.2 + rimraf: ^3.0.2 + typescript: ^4.2.2 + typescript-logging: ^0.6.4 + languageName: unknown + linkType: soft + +"@cord.network/type-definitions@npm:0.2.4-13": + version: 0.2.4-13 + resolution: "@cord.network/type-definitions@npm:0.2.4-13" + dependencies: + "@open-web3/orml-type-definitions": ^1.0.2-0 + checksum: d68c215f847e2df6f5195137655c19f62f0a1f0e4d8c68030d752b195b7e9f46a3f285561bcb716f1b7f05e3ddfe8f15ce2ba78c35935d0585ba310d6c207725 + languageName: node + linkType: hard + +"@cord.network/types@workspace:*, @cord.network/types@workspace:packages/types": + version: 0.0.0-use.local + resolution: "@cord.network/types@workspace:packages/types" + dependencies: + "@polkadot/api": ^6.3.1 + "@polkadot/keyring": ^7.8.2 + "@polkadot/types": ^6.3.1 + rimraf: ^3.0.2 + ts-node: ^8.10.2 + tweetnacl: ^1.0.3 + typescript: ^4.2.2 + languageName: unknown + linkType: soft + +"@cord.network/utils@workspace:*, @cord.network/utils@workspace:packages/utils": + version: 0.0.0-use.local + resolution: "@cord.network/utils@workspace:packages/utils" + dependencies: + "@cord.network/types": "workspace:*" + "@polkadot/keyring": ^7.8.2 + "@polkadot/types": ^6.3.1 + "@polkadot/util": ^7.8.2 + "@polkadot/util-crypto": ^7.8.2 + rimraf: ^3.0.2 + tweetnacl: ^1.0.3 + typescript: ^4.2.2 + uuid: ^8.1.0 + languageName: unknown + linkType: soft + +"@discoveryjs/json-ext@npm:^0.5.0": + version: 0.5.5 + resolution: "@discoveryjs/json-ext@npm:0.5.5" + checksum: 40844548d87689d742a098c3bfe342cc7f0d0500a814fce4592886de68f7e027937938324578311998d49a1f1e5d0394c578bb814fab04375b521637cb7a0dea + 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.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" + dependencies: + ajv: ^6.12.4 + debug: ^4.1.1 + espree: ^7.3.0 + globals: ^13.9.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 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.0.1": + version: 1.1.2 + resolution: "@gar/promisify@npm:1.1.2" + checksum: d05081e0887a49c178b75ee3067bd6ee086f73c154d121b854fb2e044e8a89cb1cbb6de3a0dd93a519b80f0531fda68b099dd7256205f7fbb3490324342f2217 + 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" + 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 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 + languageName: node + linkType: hard + +"@jest/console@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/console@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^27.3.1 + jest-util: ^27.3.1 + slash: ^3.0.0 + checksum: 80e3d9d3ccadfd83df5ce0ab02348d350c9821beedad080760da484099757eb5fbc6d3dcba417c6a80ddc5776ce3b924bd650041a83ff56773c98b7d965711aa + languageName: node + linkType: hard + +"@jest/core@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/core@npm:27.3.1" + dependencies: + "@jest/console": ^27.3.1 + "@jest/reporters": ^27.3.1 + "@jest/test-result": ^27.3.1 + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + emittery: ^0.8.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-changed-files: ^27.3.0 + jest-config: ^27.3.1 + jest-haste-map: ^27.3.1 + jest-message-util: ^27.3.1 + jest-regex-util: ^27.0.6 + jest-resolve: ^27.3.1 + jest-resolve-dependencies: ^27.3.1 + jest-runner: ^27.3.1 + jest-runtime: ^27.3.1 + jest-snapshot: ^27.3.1 + jest-util: ^27.3.1 + jest-validate: ^27.3.1 + jest-watcher: ^27.3.1 + micromatch: ^4.0.4 + 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: f21d0d1fe931b4dfa5bcb811b60c8e15345e2d22a60473152903ff2062035d5b7b1039ff8f5c1d0f2c984e91f64ea21142a4e97ec007854708c4b2236d934ad7 + languageName: node + linkType: hard + +"@jest/environment@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/environment@npm:27.3.1" + dependencies: + "@jest/fake-timers": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + jest-mock: ^27.3.0 + checksum: 8eb31d7565d3f04ab77fb26d111b848e82ec64a2eabb064b37f0a1bca92b40e69aec91cbef04994b44af3455f6325b03efe8ad4f1154d2c0e59c6560aa2621b9 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/fake-timers@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + "@sinonjs/fake-timers": ^8.0.1 + "@types/node": "*" + jest-message-util: ^27.3.1 + jest-mock: ^27.3.0 + jest-util: ^27.3.1 + checksum: 6ebf8c91c48b5a064bb0596414aa0f2eb240030121683120e05b44acda2777d4ddd2a17fb0a532aa95f724e2b3c0acf149702f8a235b1553b5d8d2316f17a08a + languageName: node + linkType: hard + +"@jest/globals@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/globals@npm:27.3.1" + dependencies: + "@jest/environment": ^27.3.1 + "@jest/types": ^27.2.5 + expect: ^27.3.1 + checksum: cefae4249b8b02789b6bd43b003004ab65305ad172dc77aa27cffd84b3d9590ac9592764dd580148f72a49d49446adec44945b901799f4cda7640ca8e8b5e0aa + languageName: node + linkType: hard + +"@jest/reporters@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/reporters@npm:27.3.1" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^27.3.1 + "@jest/test-result": ^27.3.1 + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + 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: ^27.3.1 + jest-resolve: ^27.3.1 + jest-util: ^27.3.1 + jest-worker: ^27.3.1 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^8.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: ac095baa19d825149110e61263ec35b4e460358809b6ed08dedb0a257672725affcb5f26a2cd0dc515a62648beaa0febe615ac9507b30c9c54117a486ce47875 + languageName: node + linkType: hard + +"@jest/source-map@npm:^27.0.6": + version: 27.0.6 + resolution: "@jest/source-map@npm:27.0.6" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: b4c09a0392e58a970b1bede96cd995279d95254efc997acff7fb44ad52fd4e4a372ce955c32777d1eac2006c3869b7d97227126d45a28612a40815823e3cbdb0 + languageName: node + linkType: hard + +"@jest/test-result@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/test-result@npm:27.3.1" + dependencies: + "@jest/console": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 228976bf1a08ba6047f7b4a92c4f55c1e039d35e6d349c952e63d54a76c32b5d87a24cae85a778c7e9321573f9c47266dbb0c34cffe9762fb80a1307f2960461 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/test-sequencer@npm:27.3.1" + dependencies: + "@jest/test-result": ^27.3.1 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.3.1 + jest-runtime: ^27.3.1 + checksum: 385f020770010222954a658fdc104df2116c9ed65f5010cd17a5934382f89791ab5238d76b0bc28d6d69c965e0e1a2742d7313bf9bfc704a80eb66fdafacc2a5 + languageName: node + linkType: hard + +"@jest/transform@npm:^27.3.1": + version: 27.3.1 + resolution: "@jest/transform@npm:27.3.1" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^27.2.5 + 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: ^27.3.1 + jest-regex-util: ^27.0.6 + jest-util: ^27.3.1 + micromatch: ^4.0.4 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: e72afd601122f9013386bfa4e56c753cb55a4eb1e3e1de17bc115bf70a4051dd9640b942ed92a7cf87a3a5ef5c744a12ec40f1c72a96a231c3c2582ae9109287 + 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 + +"@multiformats/blake2@npm:^1.0.5": + version: 1.0.6 + resolution: "@multiformats/blake2@npm:1.0.6" + dependencies: + blakejs: ^1.1.1 + multiformats: ^9.4.3 + checksum: c2f0c2364dca82e4dd17d0160787ef9977e5adbb9ab2f376ae7c08e95a2303137546aded309be32524de6cbb3a71f08e21eb0d1b9a623d6f66ae43d7ba3674a1 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: ^1.1.9 + checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 + 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 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.0.0 + resolution: "@npmcli/fs@npm:1.0.0" + dependencies: + "@gar/promisify": ^1.0.1 + semver: ^7.3.5 + checksum: f2b4990107dd2a5b18794c89aaff6f62f3a67883d49a20602fdfc353cbc7f8c5fd50edeffdc769e454900e01b8b8e43d0b9eb524d00963d69f3c829be1a2e8ac + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + languageName: node + linkType: hard + +"@open-web3/orml-type-definitions@npm:^1.0.2-0": + version: 1.0.2-1 + resolution: "@open-web3/orml-type-definitions@npm:1.0.2-1" + dependencies: + lodash.merge: ^4.6.2 + checksum: 97cfd727f8e1cd3ddf76c033f1ddc7a3b7fc47c6c25d34cf10310145e1b63ccda2762dbd22efbe3300a430b0de5e737fc4084f6cf1b132382251a804a7237d48 + languageName: node + linkType: hard + +"@polkadot/api-derive@npm:6.7.2": + version: 6.7.2 + resolution: "@polkadot/api-derive@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/api": 6.7.2 + "@polkadot/rpc-core": 6.7.2 + "@polkadot/types": 6.7.2 + "@polkadot/util": ^7.8.2 + "@polkadot/util-crypto": ^7.8.2 + rxjs: ^7.4.0 + checksum: 7a7f67f16e5c043e711918ac7c1a1133dd9edab59e2bfc371043e669e92ab6de260d40e28e9ff582b38e453f525da94f371b715fc81227df022135382db92c2c + languageName: node + linkType: hard + +"@polkadot/api@npm:6.7.2, @polkadot/api@npm:^6.3.1": + version: 6.7.2 + resolution: "@polkadot/api@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/api-derive": 6.7.2 + "@polkadot/keyring": ^7.8.2 + "@polkadot/rpc-core": 6.7.2 + "@polkadot/rpc-provider": 6.7.2 + "@polkadot/types": 6.7.2 + "@polkadot/types-known": 6.7.2 + "@polkadot/util": ^7.8.2 + "@polkadot/util-crypto": ^7.8.2 + eventemitter3: ^4.0.7 + rxjs: ^7.4.0 + checksum: 53aa9eac6cf39518d1e7ada883dca76977a95df39c86b81fcc8844ab42e5e28b0b7b329984b45f8dbc017bc10c9a5c7a5e9bb92916a334b79702d7838395b43b + languageName: node + linkType: hard + +"@polkadot/keyring@npm:7.8.2, @polkadot/keyring@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/keyring@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/util": 7.8.2 + "@polkadot/util-crypto": 7.8.2 + peerDependencies: + "@polkadot/util": 7.8.2 + "@polkadot/util-crypto": 7.8.2 + checksum: 9c35be4bebd2930f57a6379cd4dd369b141f843b57b750ebaaa88e4f3e301b906aeb99097cda1bc3147883be554f8e9ed9dd05ecd1487027a0857d141b4a84bf + languageName: node + linkType: hard + +"@polkadot/networks@npm:7.8.2, @polkadot/networks@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/networks@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + checksum: e94cc7a4f0767273a3efef07bde941296b730e8364545b92e01a3b6b627d54ed02d4f4ef7798e43ffd192a2e5a0d116cc7e35d5ccca42a888caa190d51c56b8a + languageName: node + linkType: hard + +"@polkadot/rpc-core@npm:6.7.2": + version: 6.7.2 + resolution: "@polkadot/rpc-core@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/rpc-provider": 6.7.2 + "@polkadot/types": 6.7.2 + "@polkadot/util": ^7.8.2 + rxjs: ^7.4.0 + checksum: 252a2b1e7dceeee8a99b48068b7e5ec1d5a99b1f3de9a5f0a9463196f1b53e265043897da8ed5068708e89fef5c8868dc63344f71afc4bf66f7d7d8f44284936 + languageName: node + linkType: hard + +"@polkadot/rpc-provider@npm:6.7.2": + version: 6.7.2 + resolution: "@polkadot/rpc-provider@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/types": 6.7.2 + "@polkadot/util": ^7.8.2 + "@polkadot/util-crypto": ^7.8.2 + "@polkadot/x-fetch": ^7.8.2 + "@polkadot/x-global": ^7.8.2 + "@polkadot/x-ws": ^7.8.2 + eventemitter3: ^4.0.7 + checksum: 1c41d7a16d03f3df58e0b1513ee9f881ce7796f5f3c6a63206d20ce530c6ad7fb9163012e3c5560ce0a5f73aed0f947486001cbca8f8a54a45b0c8b21b3ea048 + languageName: node + linkType: hard + +"@polkadot/types-known@npm:6.7.2": + version: 6.7.2 + resolution: "@polkadot/types-known@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/networks": ^7.8.2 + "@polkadot/types": 6.7.2 + "@polkadot/util": ^7.8.2 + checksum: e77a874cb195bca5ea41d91d077c4a1df369a76eee8f17d16f0c64b9e3dd171cb0b5cc06884e4ea2bab7cc6d09150686f6d462693d63adc61325db96495ea976 + languageName: node + linkType: hard + +"@polkadot/types@npm:6.7.2, @polkadot/types@npm:^6.3.1": + version: 6.7.2 + resolution: "@polkadot/types@npm:6.7.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/util": ^7.8.2 + "@polkadot/util-crypto": ^7.8.2 + rxjs: ^7.4.0 + checksum: 8d2d4587427caf471877d937b95f137e00303d7c3b48a3dae2f2e803e30c560c28feb594306384b2f43564660f6124bd96f2b28932ab00b4b0fe764b07098842 + languageName: node + linkType: hard + +"@polkadot/util-crypto@npm:7.8.2, @polkadot/util-crypto@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/util-crypto@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/networks": 7.8.2 + "@polkadot/util": 7.8.2 + "@polkadot/wasm-crypto": ^4.2.1 + "@polkadot/x-randomvalues": 7.8.2 + base-x: ^3.0.9 + base64-js: ^1.5.1 + blakejs: ^1.1.1 + bn.js: ^4.12.0 + create-hash: ^1.2.0 + ed2curve: ^0.3.0 + elliptic: ^6.5.4 + hash.js: ^1.1.7 + js-sha3: ^0.8.0 + scryptsy: ^2.1.0 + tweetnacl: ^1.0.3 + xxhashjs: ^0.2.2 + peerDependencies: + "@polkadot/util": 7.8.2 + checksum: 7cc3068e93572451ff4929867fed7577968f640c51a18d07cfec15b3526b237f133929882f461b815e6421ff2c7c41a1462c97670381705139f4f1883d9b7e9e + languageName: node + linkType: hard + +"@polkadot/util@npm:7.8.2, @polkadot/util@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/util@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-textdecoder": 7.8.2 + "@polkadot/x-textencoder": 7.8.2 + "@types/bn.js": ^4.11.6 + bn.js: ^4.12.0 + camelcase: ^6.2.0 + ip-regex: ^4.3.0 + checksum: 6c7320c37c14b9a444a931654a728a5eca365554270168bcbd186dc9e9901240f07a2c1d8063c5833d7c1bdb7f081f9ae72a7f17e29420ffa9c12d2cfe65aa90 + languageName: node + linkType: hard + +"@polkadot/wasm-crypto-asmjs@npm:^4.2.1": + version: 4.2.1 + resolution: "@polkadot/wasm-crypto-asmjs@npm:4.2.1" + dependencies: + "@babel/runtime": ^7.15.3 + checksum: f4c9fed22121eaedeebf7f7bbe3c28e1920f2b84e7a1aea1a9d3807e79d7c236cee71e008527ab2779b079a56d43d6638fe50efa348f918277c65fa083094499 + languageName: node + linkType: hard + +"@polkadot/wasm-crypto-wasm@npm:^4.2.1": + version: 4.2.1 + resolution: "@polkadot/wasm-crypto-wasm@npm:4.2.1" + dependencies: + "@babel/runtime": ^7.15.3 + checksum: 2eab39628f34dd64987c4109a7d3ca0376946ace322aa67c10119be36b9eebf0f7c68f2e4aea1510f1fbd469c70dc3e8f1d3bd58799c7dcbc3a1e6cb08a69b5d + languageName: node + linkType: hard + +"@polkadot/wasm-crypto@npm:^4.2.1": + version: 4.2.1 + resolution: "@polkadot/wasm-crypto@npm:4.2.1" + dependencies: + "@babel/runtime": ^7.15.3 + "@polkadot/wasm-crypto-asmjs": ^4.2.1 + "@polkadot/wasm-crypto-wasm": ^4.2.1 + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + checksum: 2ef25ed7dd297c160fafef9198bd23a3ca5fc8c03fd94903fac4fa8fd11ecc74cea935039e61cebf5458e95f3b6a30f21ceb968d5ddf4a488f05e9cf6d093577 + languageName: node + linkType: hard + +"@polkadot/x-fetch@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-fetch@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-global": 7.8.2 + "@types/node-fetch": ^2.5.12 + node-fetch: ^2.6.6 + checksum: 0e2dddc69bed82b66df109c62a3f515bba386b3129c5f0669bddf37bfdea46545341ba2e77e7b4f77a007d4c8920be7e024f10079e6af10b9816fee82d6872a9 + languageName: node + linkType: hard + +"@polkadot/x-global@npm:7.8.2, @polkadot/x-global@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-global@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + checksum: 9fac7a7a6b6c1c2507e9bd6c04874627827202f789b35f76a4945b46e5afb1f726c6683250261b5b022531b308e60cda7b324bd5912b35ad14640515063f1358 + languageName: node + linkType: hard + +"@polkadot/x-randomvalues@npm:7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-randomvalues@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-global": 7.8.2 + checksum: 9f0927ed2429ed0f94ca5481b64eb378b139399282e9677637141bc4829bf76a85e37806d8050eab08b0969c54d2073d8f5899921a031c5c543ffda43ea0ed03 + languageName: node + linkType: hard + +"@polkadot/x-textdecoder@npm:7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-textdecoder@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-global": 7.8.2 + checksum: 5e26717ce427070a5c9670517a998e7d822fe796b6ed67ed9aa06ad9d9971d88f3e8eb42ab2163a237f761390d9cc76791faa903e97085e65dc7c299926a9086 + languageName: node + linkType: hard + +"@polkadot/x-textencoder@npm:7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-textencoder@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-global": 7.8.2 + checksum: 3464d122aeaa2a45d3576c7862e0b703726cff86671b921a48a99d518209d9a13cfb86229f723003d3e91ce4d3b0f2bf48374becf5662fac890e229d2b31315d + languageName: node + linkType: hard + +"@polkadot/x-ws@npm:^7.8.2": + version: 7.8.2 + resolution: "@polkadot/x-ws@npm:7.8.2" + dependencies: + "@babel/runtime": ^7.16.0 + "@polkadot/x-global": 7.8.2 + "@types/websocket": ^1.0.4 + websocket: ^1.0.34 + checksum: 64b5965bc3bbf441611f15b4dfc019d91381ba3d5334d5e01cc409d5e140742d43c621e03dda4a07c6b31933e3936b8cf33f7d23647c8d392142131113ec5ae8 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.8.3 + resolution: "@sinonjs/commons@npm:1.8.3" + dependencies: + type-detect: 4.0.8 + checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^8.0.1": + version: 8.1.0 + resolution: "@sinonjs/fake-timers@npm:8.1.0" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 + 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 + +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": + version: 7.1.16 + resolution: "@types/babel__core@npm:7.1.16" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: d5aa154ce8c63e5fd47f5b9286a2689eea1e6dd3e1005b0c608bfe72363a44cb32be1e104f81d4b976e8a9f1f802d03184e64a055984fd43a359c5518a0f94cf + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.3 + resolution: "@types/babel__generator@npm:7.6.3" + dependencies: + "@babel/types": ^7.0.0 + checksum: 0aa1881c47e3e471cabb9183ae42176591b168a6fe4714d205aec33a7e480d65a8a1ba7fcd9678337aadc34059dc5baa04841e5adfbbe67ae33bad79e7633b8e + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": + version: 7.14.2 + resolution: "@types/babel__traverse@npm:7.14.2" + dependencies: + "@babel/types": ^7.3.0 + checksum: a797ea09c72307569e3ee08aa3900ca744ce3091114084f2dc59b67a45ee7d01df7865252790dbfa787a7915ce892cdc820c9b920f3683292765fc656b08dc63 + languageName: node + linkType: hard + +"@types/bn.js@npm:^4.11.6": + version: 4.11.6 + resolution: "@types/bn.js@npm:4.11.6" + dependencies: + "@types/node": "*" + checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f + languageName: node + linkType: hard + +"@types/eslint-scope@npm:^3.7.0": + version: 3.7.1 + resolution: "@types/eslint-scope@npm:3.7.1" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: 4271c9adad19ad8a1d23062d9020468a51c7f81594b12b8e68f7d460c09e14d57cae3e82b077c402766369c0c17e2de72da72c405fa465d18a46c0b14ce92530 + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 7.28.2 + resolution: "@types/eslint@npm:7.28.2" + dependencies: + "@types/estree": "*" + "@types/json-schema": "*" + checksum: d177f3eec22971baeef8f244693687ee4c0357125f4a8fb7e614b83e36b98318a0b1a13b31230199d2a91af54122b67883faa7b4d2c29f0c83e2650f6b0d4d9c + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^0.0.50": + version: 0.0.50 + resolution: "@types/estree@npm:0.0.50" + checksum: 9a2b6a4a8c117f34d08fbda5e8f69b1dfb109f7d149b60b00fd7a9fb6ac545c078bc590aa4ec2f0a256d680cf72c88b3b28b60c326ee38a7bc8ee1ee95624922 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.2": + 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.3 + resolution: "@types/istanbul-lib-coverage@npm:2.0.3" + checksum: 0650cba4be8f464bee89b9de0b71a5ea3b5cc676ce24e1196b5d6a51542ce9e613ae4549bf19756bb33dbbbb32b47931040266100062bfb197c597d73e341eb0 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.0 + resolution: "@types/istanbul-lib-report@npm:3.0.0" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.1 + resolution: "@types/istanbul-reports@npm:3.0.1" + dependencies: + "@types/istanbul-lib-report": "*" + checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 + languageName: node + linkType: hard + +"@types/jest@npm:^27.0.1": + 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/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.9 + resolution: "@types/json-schema@npm:7.0.9" + checksum: 259d0e25f11a21ba5c708f7ea47196bd396e379fddb79c76f9f4f62c945879dc21657904914313ec2754e443c5018ea8372362f323f30e0792897fdb2098a705 + 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/minimist@npm:^1.2.0": + version: 1.2.2 + resolution: "@types/minimist@npm:1.2.2" + checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d + languageName: node + linkType: hard + +"@types/node-fetch@npm:^2.5.12": + version: 2.5.12 + resolution: "@types/node-fetch@npm:2.5.12" + dependencies: + "@types/node": "*" + form-data: ^3.0.0 + checksum: ad63c85ba6a9477b8e057ec8682257738130d98e8ece4e31141789bd99df9d9147985cc8bc0cb5c8983ed5aa6bb95d46df23d1e055f4ad5cf8b82fc69cf626c7 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 16.11.7 + resolution: "@types/node@npm:16.11.7" + checksum: 2706403e6efc4aa40fdce8f0b5d9884d5600c3c8610aedc7fa5e7e298d30366f7e8b7296028d52898dca3edef4c3e827b03bf20952c4780f13fa4e79864f7a86 + 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" + checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/parse-json@npm:4.0.0" + checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.5": + version: 2.4.1 + resolution: "@types/prettier@npm:2.4.1" + checksum: df330c2d6fe7c282839b0f17701e069a9c6c96d2ff54704e933a1b3c1b98844d963a7cb00c5629d173604892ceee802312bbaeb8a97f5da21e13db8f653b519e + 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/uuid@npm:^8.0.0": + version: 8.3.1 + resolution: "@types/uuid@npm:8.3.1" + checksum: b41bdc5e86c6f0f1899306be10455636da0f2168c9489b869edd6837ddeb7c0e501b1ff7d857402462986bada2a379125743dd895fa801d03437cd632116a373 + languageName: node + linkType: hard + +"@types/websocket@npm:^1.0.4": + version: 1.0.4 + resolution: "@types/websocket@npm:1.0.4" + dependencies: + "@types/node": "*" + checksum: 969a1586e9c08c4812bf7fc3a51fb5fbc3c2d2b19bc1e605a8277d2d48c36b9dc917ea90d5648cc9dc317775ffd206cf75788fc55dc2b7116ed567dae6f32ea3 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 20.2.1 + resolution: "@types/yargs-parser@npm:20.2.1" + checksum: 1d039e64494a7a61ddd278349a3dc60b19f99ff0517425696e796f794e4252452b9d62178e69755ad03f439f9dc0c8c3d7b3a1201b3a24e134bac1a09fa11eaa + 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:^5.3.0": + version: 5.3.1 + resolution: "@typescript-eslint/eslint-plugin@npm:5.3.1" + dependencies: + "@typescript-eslint/experimental-utils": 5.3.1 + "@typescript-eslint/scope-manager": 5.3.1 + debug: ^4.3.2 + functional-red-black-tree: ^1.0.1 + ignore: ^5.1.8 + regexpp: ^3.2.0 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 084cac897b5f72a7abaea43e29e8a0dd47b1f13904637957e149ad1a8501e777200ae1c7ac13428be7a33490459867eec5848c6d281130f5b064ec52e6b90f6d + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:5.3.1": + version: 5.3.1 + resolution: "@typescript-eslint/experimental-utils@npm:5.3.1" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.3.1 + "@typescript-eslint/types": 5.3.1 + "@typescript-eslint/typescript-estree": 5.3.1 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: "*" + checksum: 638829731400d3f654fdfb7ec173fc568f65cc9fbaaacffa8aa369411ba33acf9220bde9981a1226789fe15a1a1738c1840f5f26841bdc6583df5c72a90f01d7 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^5.3.0": + version: 5.3.1 + resolution: "@typescript-eslint/parser@npm:5.3.1" + dependencies: + "@typescript-eslint/scope-manager": 5.3.1 + "@typescript-eslint/types": 5.3.1 + "@typescript-eslint/typescript-estree": 5.3.1 + debug: ^4.3.2 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 9ca2928ca3400898a16700deb5deb5aeb2e45c9f430e243be78e6aefa8e515edcb0d210e8ad2b195894a228a7d9c9355906cb68b9c7ed6b23642672465e501a3 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.3.1": + version: 5.3.1 + resolution: "@typescript-eslint/scope-manager@npm:5.3.1" + dependencies: + "@typescript-eslint/types": 5.3.1 + "@typescript-eslint/visitor-keys": 5.3.1 + checksum: 336bb99351be878c62c591c408bce24ee08fb3eef76595175263ac906d6153e1b75000696c093b869d904b9a3e80b8d2e550df5f52996c77f702be69c8c4c28d + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.3.1": + version: 5.3.1 + resolution: "@typescript-eslint/types@npm:5.3.1" + checksum: ccba0a505b96860b9a29f8cd1cd3c9dc7903fd21274c538ee988a4cf69c24274822e12ade61d05088626e43e3159ef5a9f5c0f4344d2c2223c6b3649cc70efb7 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.3.1": + version: 5.3.1 + resolution: "@typescript-eslint/typescript-estree@npm:5.3.1" + dependencies: + "@typescript-eslint/types": 5.3.1 + "@typescript-eslint/visitor-keys": 5.3.1 + debug: ^4.3.2 + globby: ^11.0.4 + is-glob: ^4.0.3 + semver: ^7.3.5 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: cc29aabda0e2f86783d82455a790deaa0b66b74373ae76709846d29eccce4fe7e942596e9329df39ad1ad44e7360100e9d0372e21ac66a0ab018ca8c10094c43 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.3.1": + version: 5.3.1 + resolution: "@typescript-eslint/visitor-keys@npm:5.3.1" + dependencies: + "@typescript-eslint/types": 5.3.1 + eslint-visitor-keys: ^3.0.0 + checksum: e2a2fb9dfa77d1db685540dd65c7fc8477ad910459cfdfe3600fff4ed27105f5a976cf1cfddc588f9231d74287e722b038ea17ba7b3ccff672642b492222f303 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ast@npm:1.11.1" + dependencies: + "@webassemblyjs/helper-numbers": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" + checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" + checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" + checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce + languageName: node + linkType: hard + +"@webassemblyjs/helper-numbers@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@xtuc/long": 4.2.2 + checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" + checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/ieee754@npm:1.11.1" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/leb128@npm:1.11.1" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/utf8@npm:1.11.1" + checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/helper-wasm-section": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-opt": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + "@webassemblyjs/wast-printer": 1.11.1 + checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-buffer": 1.11.1 + "@webassemblyjs/wasm-gen": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/helper-api-error": 1.11.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.1 + "@webassemblyjs/ieee754": 1.11.1 + "@webassemblyjs/leb128": 1.11.1 + "@webassemblyjs/utf8": 1.11.1 + checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.11.1": + version: 1.11.1 + resolution: "@webassemblyjs/wast-printer@npm:1.11.1" + dependencies: + "@webassemblyjs/ast": 1.11.1 + "@xtuc/long": 4.2.2 + checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7 + languageName: node + linkType: hard + +"@webpack-cli/configtest@npm:^1.1.0": + version: 1.1.0 + resolution: "@webpack-cli/configtest@npm:1.1.0" + peerDependencies: + webpack: 4.x.x || 5.x.x + webpack-cli: 4.x.x + checksum: 69e7816b5b5d8589d5fc14af591d63831ff6ea2ca2d498c2d8bc354faaef9aeb282f70ad13df2fc5c3726be0f88c3dbc7facc37f3ab5a8cad44f562081792b28 + languageName: node + linkType: hard + +"@webpack-cli/info@npm:^1.4.0": + version: 1.4.0 + resolution: "@webpack-cli/info@npm:1.4.0" + dependencies: + envinfo: ^7.7.3 + peerDependencies: + webpack-cli: 4.x.x + checksum: 6385b1e2c511d0136fa53fcff5ecdc00ce7590d01648b437089e6d9c7b1866da8c6e850c41a7c52d3eb3ae23a31f3f40e1cead77ea2046ee6eb6b23a4124f4a9 + languageName: node + linkType: hard + +"@webpack-cli/serve@npm:^1.6.0": + version: 1.6.0 + resolution: "@webpack-cli/serve@npm:1.6.0" + peerDependencies: + webpack-cli: 4.x.x + peerDependenciesMeta: + webpack-dev-server: + optional: true + checksum: 050a930b63653ae0002e135cc9b0810483dd0857acd8e7ae2f41011f48f8856a150dd60c787105597ef8814541031779be1dc015ef637d70a7524d373cbbf346 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: ac56d4ca6e17790f1b1677f978c0c6808b1900a5b138885d3da21732f62e30e8f0d9120fcf8f6edfff5100ca902b46f8dd7c1e3f903728634523981e80e2885a + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 8ed0d477ce3bc9c6fe2bf6a6a2cc316bb9c4127c5a7827bae947fa8ec34c7092395c5a283cc300c05b5fa01cbbfa1f938f410a7bf75db7c7846fea41949989ec + languageName: node + linkType: hard + +"JSONStream@npm:^1.0.4": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: ^1.2.0 + through: ">=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 2605fa124260c61bad38bb65eba30d2f72216a78e94d0ab19b11b4e0327d572b8d530c0c9cc3b0764f727ad26d39e00bf7ebad57781ca6368394d73169c59e46 + languageName: node + linkType: hard + +"abab@npm:^2.0.3, abab@npm:^2.0.5": + version: 2.0.5 + resolution: "abab@npm:2.0.5" + checksum: 0ec951b46d5418c2c2f923021ec193eaebdb4e802ffd5506286781b454be722a13a8430f98085cd3e204918401d9130ec6cc8f5ae19be315b3a0e857d83196e1 + 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-import-assertions@npm:^1.7.6": + version: 1.8.0 + resolution: "acorn-import-assertions@npm:1.8.0" + peerDependencies: + acorn: ^8 + checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.1": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 + 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:^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.2.4, acorn@npm:^8.4.1": + version: 8.5.0 + resolution: "acorn@npm:8.5.0" + bin: + acorn: bin/acorn + checksum: 2e4c1dbed3da327684863debf31d341bf8882c6893c506653872c00977eee45675feb9129255d6c74c88424d2b20d889ca6de5b39776e5e3cccfc756b3ca1da8 + 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.1.3": + version: 4.1.4 + resolution: "agentkeepalive@npm:4.1.4" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: d49c24d4b333e9507119385895a583872f4f53d62764a89be165926e824056a126955bae4a6d3c6f7cd26f4089621a40f7b27675f7868214d82118f744b9e82d + 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-keywords@npm:^3.5.2": + version: 3.5.2 + resolution: "ajv-keywords@npm:3.5.2" + peerDependencies: + ajv: ^6.9.1 + checksum: 7dc5e5931677a680589050f79dcbe1fefbb8fea38a955af03724229139175b433c63c68f7ae5f86cf8f65d55eb7c25f75a046723e2e58296707617ca690feae9 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.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:^8.0.1": + version: 8.7.1 + resolution: "ajv@npm:8.7.1" + 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: e8102fa84807d5008b7439f8ffd3ccae0f98d37010c18624982d277cb8e324efd9149a5e1f56326c8793e21b858e7e220c3250ee2c29efb52fea943b8512e7aa + 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.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + 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:^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.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + 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.2 + resolution: "anymatch@npm:3.1.2" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + 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 + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.7 + resolution: "are-we-there-yet@npm:1.1.7" + dependencies: + delegates: ^1.0.0 + readable-stream: ^2.0.6 + checksum: 70d251719c969b2745bfe5ddf3ebaefa846a636e90a6d5212573676af5d6670e15457761d4725731e19cbebdce42c4ab0cbedf23ab047f2a08274985aa10a3c7 + 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 + +"aria-query@npm:^4.2.2": + version: 4.2.2 + resolution: "aria-query@npm:4.2.2" + dependencies: + "@babel/runtime": ^7.10.2 + "@babel/runtime-corejs3": ^7.10.2 + checksum: 38401a9a400f26f3dcc24b84997461a16b32869a9893d323602bed8da40a8bcc0243b8d2880e942249a1496cea7a7de769e93d21c0baa439f01e1ee936fed665 + languageName: node + linkType: hard + +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 + languageName: node + linkType: hard + +"array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": + version: 3.1.4 + resolution: "array-includes@npm:3.1.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + is-string: ^1.0.7 + checksum: 69967c38c52698f84b50a7aed5554aadc89c6ac6399b6d92ad061a5952f8423b4bba054c51d40963f791dfa294d7247cdd7988b6b1f2c5861477031c6386e1c0 + 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.5": + version: 1.2.5 + resolution: "array.prototype.flat@npm:1.2.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + checksum: 9cc6414b111abfc7717e39546e4887b1e5ec74df8f1618d83425deaa95752bf05d475d1d241253b4d88d4a01f8e1bc84845ad5b7cc2047f8db2f614512acd40e + 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.js@npm:^5.2.0": + version: 5.4.1 + resolution: "asn1.js@npm:5.4.1" + dependencies: + bn.js: ^4.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + safer-buffer: ^2.1.0 + checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a + languageName: node + linkType: hard + +"ast-types-flow@npm:^0.0.7": + version: 0.0.7 + resolution: "ast-types-flow@npm:0.0.7" + checksum: a26dcc2182ffee111cad7c471759b0bda22d3b7ebacf27c348b22c55f16896b18ab0a4d03b85b4020dce7f3e634b8f00b593888f622915096ea1927fa51866c4 + 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 + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e + 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 + +"axe-core@npm:^4.3.5": + version: 4.3.5 + resolution: "axe-core@npm:4.3.5" + checksum: 973c6a80f0aaa663820b209d4202de7a0c240a2dea2f3cff168b09c0f221b27179b1f0988f00ad11ed63cbc50535920f8ca779de1c60dc82090ab2d275f71fdd + languageName: node + linkType: hard + +"axobject-query@npm:^2.2.0": + version: 2.2.0 + resolution: "axobject-query@npm:2.2.0" + checksum: 96b8c7d807ca525f41ad9b286186e2089b561ba63a6d36c3e7d73dc08150714660995c7ad19cda05784458446a0793b45246db45894631e13853f48c1aa3117f + languageName: node + linkType: hard + +"babel-jest@npm:^27.3.1": + version: 27.3.1 + resolution: "babel-jest@npm:27.3.1" + dependencies: + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/babel__core": ^7.1.14 + babel-plugin-istanbul: ^6.0.0 + babel-preset-jest: ^27.2.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.8.0 + checksum: b0edc7ee345bb66b8e223f1db78081cc9e4684eee276730f341f7089b20e590e98938f76cfce4a72e3734f0c5cee166745c85aa61eca486a3f78b0e3ba07f82b + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.0.0": + 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:^27.2.0": + version: 27.2.0 + resolution: "babel-plugin-jest-hoist@npm:27.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: de6c19b5469310f14b4e1408032b9bbe86fc1f77e7b804c2b808d738045d3890cd7c55b36c4815b49f732843c472d7a5fe0b733cffd5e2284c11d8f1e2ff677e + 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:^27.2.0": + version: 27.2.0 + resolution: "babel-preset-jest@npm:27.2.0" + dependencies: + babel-plugin-jest-hoist: ^27.2.0 + babel-preset-current-node-syntax: ^1.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c484e6e7c61616f4e2b2aeef54a2a48a1c64949cfb1c21884c7595d422997407049a3185f1536a419c344399df1e04f67d5e335f05c720c3b14859db079a674d + 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.9": + version: 3.0.9 + resolution: "base-x@npm:3.0.9" + dependencies: + safe-buffer: ^5.0.1 + checksum: 957101d6fd09e1903e846fd8f69fd7e5e3e50254383e61ab667c725866bec54e5ece5ba49ce385128ae48f9ec93a26567d1d5ebb91f4d56ef4a9cc0d5a5481e8 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"blakejs@npm:^1.1.1": + version: 1.1.1 + resolution: "blakejs@npm:1.1.1" + checksum: 77a0875af41fe0a6b15feacc69a4a730063df697b2932adbde15aa2c9c58a592870cd511a494ceee59cc8143ae64964dfa1bf301dab275b330debcd12c2b3db9 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9, bn.js@npm:^4.12.0": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + languageName: node + linkType: hard + +"bn.js@npm:^5.0.0, bn.js@npm:^5.1.1": + 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 + +"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.0.1, 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.0.0, browserify-aes@npm:^1.0.4": + 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-cipher@npm:^1.0.0": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: ^1.0.4 + browserify-des: ^1.0.0 + evp_bytestokey: ^1.0.0 + checksum: 2d8500acf1ee535e6bebe808f7a20e4c3a9e2ed1a6885fff1facbfd201ac013ef030422bec65ca9ece8ffe82b03ca580421463f9c45af6c8415fd629f4118c13 + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: ^1.0.1 + des.js: ^1.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: b15a3e358a1d78a3b62ddc06c845d02afde6fc826dab23f1b9c016e643e7b1fda41de628d2110b712f6a44fb10cbc1800bc6872a03ddd363fb50768e010395b7 + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": + version: 4.1.0 + resolution: "browserify-rsa@npm:4.1.0" + dependencies: + bn.js: ^5.0.0 + randombytes: ^2.0.1 + checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.2.1 + resolution: "browserify-sign@npm:4.2.1" + dependencies: + bn.js: ^5.1.1 + browserify-rsa: ^4.0.1 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + elliptic: ^6.5.3 + inherits: ^2.0.4 + parse-asn1: ^5.1.5 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 + languageName: node + linkType: hard + +"browserslist@npm:^4.14.5, browserslist@npm:^4.17.5": + version: 4.17.6 + resolution: "browserslist@npm:4.17.6" + dependencies: + caniuse-lite: ^1.0.30001274 + electron-to-chromium: ^1.3.886 + escalade: ^3.1.1 + node-releases: ^2.0.1 + picocolors: ^1.0.0 + bin: + browserslist: cli.js + checksum: 7191280a30621dcb9b285f7f22c462aacbd366a94fcacdac109b8fa1a2fdab826b6545ccb308ad40f5d80f4fc488ae1212af8b16342286b97a1418476a98f77c + 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 + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: ^0.4.0 + checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + 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:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + +"bufferutil@npm:^4.0.1": + version: 4.0.5 + resolution: "bufferutil@npm:4.0.5" + dependencies: + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 37d5bef7cb38d29f9377b8891ff8a57f53ae6057313d77a8aa2a7417df37a72f16987100796cb2f1e1862f3eb80057705f3c052615ec076a0dcc7aa6c83b68c9 + languageName: node + linkType: hard + +"cacache@npm:^15.2.0": + version: 15.3.0 + resolution: "cacache@npm:15.3.0" + dependencies: + "@npmcli/fs": ^1.0.0 + "@npmcli/move-file": ^1.0.1 + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + glob: ^7.1.4 + infer-owner: ^1.0.4 + lru-cache: ^6.0.0 + minipass: ^3.1.1 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.2 + mkdirp: ^1.0.3 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^8.0.1 + tar: ^6.0.2 + unique-filename: ^1.1.1 + checksum: a07327c27a4152c04eb0a831c63c00390d90f94d51bb80624a66f4e14a6b6360bbf02a84421267bd4d00ca73ac9773287d8d7169e8d2eafe378d2ce140579db8 + 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-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" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.2.0 + resolution: "camelcase@npm:6.2.0" + checksum: 8335cfd0ecc472eae685896a42afd8c9dacd193a91f569120b931c87deb053a1ba82102031b9b48a4dbc1d18066caeacf2e4ace8c3c7f0d02936d348dc0b5a87 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001274": + version: 1.0.30001279 + resolution: "caniuse-lite@npm:1.0.30001279" + checksum: c0330577718e4221caae92a1bee8131f546668001840cf66455d5aa6050797f44709865779c5cdcba7cbf32527004a743dc2879497d23f60478f8bbb203cfeeb + languageName: node + linkType: hard + +"chalk@npm:4.1.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 + +"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.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + 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 + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.2.0 + resolution: "ci-info@npm:3.2.0" + checksum: c68995a94e95ce3f233ff845e62dfc56f2e8ff1e3f5c1361bcdd520cbbc9726d8a54cbc1a685cb9ee19c3c5e71a1dade6dda23eb364b59b8e6c32508a9b761bc + 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:^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-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: ^2.0.4 + kind-of: ^6.0.2 + shallow-clone: ^3.0.0 + checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 + 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.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 4efe0a1fccd517b65478a2364b33dadd0a43fc92a56f59aaece9b6186fe5177b2de471253587de7c91516f07c7268c2f6770b6cbcffc0e0ece353b766ec87e55 + 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 + +"colorette@npm:^2.0.14": + version: 2.0.16 + resolution: "colorette@npm:2.0.16" + checksum: cd55596a3a2d1071c1a28eee7fd8a5387593ff1bd10a3e8d0a6221499311fe34a9f2b9272d77c391e0e003dcdc8934fb2f8d106e7ef1f7516f8060c901d41a27 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + +"commander@npm:^7.0.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc + 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 + +"compare-func@npm:^1.3.1": + version: 1.3.4 + resolution: "compare-func@npm:1.3.4" + dependencies: + array-ify: ^1.0.0 + dot-prop: ^3.0.0 + checksum: b3fccca2957d102cd2f00aa7941e6a6264db67fc0f1322dd2ea216ceeb92ea738797304ceb73644a9cfabaf6c1ecd39e793efd1a3804edbfdfaf507cc6804f7a + languageName: node + linkType: hard + +"compare-func@npm:^2.0.0": + version: 2.0.0 + resolution: "compare-func@npm:2.0.0" + dependencies: + array-ify: ^1.0.0 + dot-prop: ^5.1.0 + checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d + 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 + +"confusing-browser-globals@npm:^1.0.9": + version: 1.0.10 + resolution: "confusing-browser-globals@npm:1.0.10" + checksum: 7ccdc44c2ca419cf6576c3e4336106e18d1c5337f547e461342f51aec4a10f96fdfe45414b522be3c7d24ea0b62bf4372cd37768022e4d6161707ffb2c0987e6 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.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 + +"conventional-changelog-angular@npm:^5.0.0": + version: 5.0.13 + resolution: "conventional-changelog-angular@npm:5.0.13" + dependencies: + compare-func: ^2.0.0 + q: ^1.5.1 + checksum: 6ed4972fce25a50f9f038c749cc9db501363131b0fb2efc1fccecba14e4b1c80651d0d758d4c350a609f32010c66fa343eefd49c02e79e911884be28f53f3f90 + languageName: node + linkType: hard + +"conventional-changelog-conventionalcommits@npm:4.3.0": + version: 4.3.0 + resolution: "conventional-changelog-conventionalcommits@npm:4.3.0" + dependencies: + compare-func: ^1.3.1 + lodash: ^4.17.15 + q: ^1.5.1 + checksum: 9d863efe27648c17b7380e2737371f01d64e25cf85c39e1ea27c5009ea9f583edf36c6866cf602aba18b3f7e1edc600876b897b96a58c79dfb06f22b0ae7e9ab + languageName: node + linkType: hard + +"conventional-commits-parser@npm:^3.0.0": + version: 3.2.3 + resolution: "conventional-commits-parser@npm:3.2.3" + dependencies: + JSONStream: ^1.0.4 + is-text-path: ^1.0.1 + lodash: ^4.17.15 + meow: ^8.0.0 + split2: ^3.0.0 + through2: ^4.0.0 + bin: + conventional-commits-parser: cli.js + checksum: 0f57b5cb7cb359eb49e6807cfd82b27cbe9ac30ec580b20ad7e79575561183110532a6c2e6328ce6c4cd05c01458b9bb781f1f6653b14560f7c509b87b0e9ac7 + 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" + dependencies: + safe-buffer: ~5.1.1 + checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed + languageName: node + linkType: hard + +"core-js-pure@npm:^3.19.0": + version: 3.19.1 + resolution: "core-js-pure@npm:3.19.1" + checksum: b6d593ce2ac9da1adf8da3efc0b9cca8cc969d7d758c511db877a41d92216dbdf7a2341f89c07516bf0da1ce8b994e103f604ab37ca31379a35512c05d291804 + languageName: node + linkType: hard + +"core-js@npm:^3.6.1": + version: 3.19.1 + resolution: "core-js@npm:3.19.1" + checksum: 2f669061788dc6fea823f0433d871deeaaaacc7d68ef2748859509522a34df5c83e648c3c6a1993fed0ab188081b3cf32b957b2a1f46156a2b20bd775961ade4 + 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 + +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": ^4.0.0 + import-fresh: ^3.1.0 + parse-json: ^5.0.0 + path-type: ^4.0.0 + yaml: ^1.7.2 + checksum: 8eed7c854b91643ecb820767d0deb038b50780ecc3d53b0b19e03ed8aabed4ae77271198d1ae3d49c3b110867edf679f5faad924820a8d1774144a87cb6f98fc + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.0": + version: 4.0.4 + resolution: "create-ecdh@npm:4.0.4" + dependencies: + bn.js: ^4.1.0 + elliptic: ^6.5.3 + checksum: 0dd7fca9711d09e152375b79acf1e3f306d1a25ba87b8ff14c2fd8e68b83aafe0a7dd6c4e540c9ffbdd227a5fa1ad9b81eca1f233c38bb47770597ba247e614b + 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.0, 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 + +"crypto-browserify@npm:^3.12.0": + version: 3.12.0 + resolution: "crypto-browserify@npm:3.12.0" + dependencies: + browserify-cipher: ^1.0.0 + browserify-sign: ^4.0.0 + create-ecdh: ^4.0.0 + create-hash: ^1.1.0 + create-hmac: ^1.1.0 + diffie-hellman: ^5.0.0 + inherits: ^2.0.1 + pbkdf2: ^3.0.3 + public-encrypt: ^4.0.0 + randombytes: ^2.0.0 + randomfill: ^1.0.3 + checksum: c1609af82605474262f3eaa07daa0b2140026bd264ab316d4bf1170272570dbe02f0c49e29407fe0d3634f96c507c27a19a6765fb856fed854a625f9d15618e2 + languageName: node + linkType: hard + +"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.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + +"cuint@npm:^0.2.2": + version: 0.2.2 + resolution: "cuint@npm:0.2.2" + checksum: b8127a93a7f16ce120ffcb22108014327c9808b258ee20e7dbb4c6740d7cb0f0c12d18a054eb716b0f2470090666abaae8a082d3cd5ef0e94fa447dd155842c4 + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" + dependencies: + es5-ext: ^0.10.50 + type: ^1.0.1 + checksum: 49ca0639c7b822db670de93d4fbce44b4aa072cd848c76292c9978a8cd0fff1028763020ff4b0f147bd77bfe29b4c7f82e0f71ade76b2a06100543cdfd948d19 + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.7": + version: 1.0.7 + resolution: "damerau-levenshtein@npm:1.0.7" + checksum: ec8161cb381523e0db9b5c9b64863736da3197808b6fdc4a3a2ca764c0b4357e9232a4c5592220fb18755a91240b8fee7b13ab1b269fbbdc5f68c36f0053aceb + languageName: node + linkType: hard + +"dargs@npm:^7.0.0": + version: 7.0.0 + resolution: "dargs@npm:7.0.0" + checksum: b8f1e3cba59c42e1f13a114ad4848c3fc1cf7470f633ee9e9f1043762429bc97d91ae31b826fb135eefde203a3fdb20deb0c0a0222ac29d937b8046085d668d1 + 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.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, 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 + +"debug@npm:^2.2.0, 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:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + +"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 + 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 + +"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.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + 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.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 + +"des.js@npm:^1.0.0": + version: 1.0.1 + resolution: "des.js@npm:1.0.1" + dependencies: + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + checksum: 1ec2eedd7ed6bd61dd5e0519fd4c96124e93bb22de8a9d211b02d63e5dd152824853d919bb2090f965cc0e3eb9c515950a9836b332020d810f9c71feb0fd7df4 + languageName: node + linkType: hard + +"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@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.0": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: ^4.1.0 + miller-rabin: ^4.0.0 + randombytes: ^2.0.0 + checksum: 0e620f322170c41076e70181dd1c24e23b08b47dbb92a22a644f3b89b6d3834b0f8ee19e37916164e5eb1ee26d2aa836d6129f92723995267250a0b541811065 + 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:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: ^2.0.2 + checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 + 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:^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 + +"dot-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "dot-prop@npm:3.0.0" + dependencies: + is-obj: ^1.0.0 + checksum: 7bc2735afc0b76387ccb9a437f80300e96a82d2863eb5cb14b30b1d6583a221a8589fd3a86cfdb8d8c877f36e44599f38560d4068db51ef563094d04ad7dfe64 + languageName: node + linkType: hard + +"dot-prop@npm:^5.1.0": + version: 5.3.0 + resolution: "dot-prop@npm:5.3.0" + dependencies: + is-obj: ^2.0.0 + checksum: d5775790093c234ef4bfd5fbe40884ff7e6c87573e5339432870616331189f7f5d86575c5b5af2dcf0f61172990f4f734d07844b1f23482fff09e3c4bead05ea + languageName: node + linkType: hard + +"ed2curve@npm:^0.3.0": + version: 0.3.0 + resolution: "ed2curve@npm:0.3.0" + dependencies: + tweetnacl: 1.x.x + checksum: 6dfbe2310aa5a47372c9dd2fd920be140c8d52aea5793d716a3e3865d2ceaeaf639a7653e5492dfe3b4910eaf65c09a1d5132580afe2fdca18a75ebb428a52f2 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.3.886": + version: 1.3.894 + resolution: "electron-to-chromium@npm:1.3.894" + checksum: 62f11a71403a5a2dee7725c51b727e84608a4a6f4ca27e9f4fc4ac605910247ef59e7d0625a31ab0062367616bf2ff84458341c8420ce4a198defa7e9609b964 + languageName: node + linkType: hard + +"elliptic@npm:^6.5.3, 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.8.1": + version: 0.8.1 + resolution: "emittery@npm:0.8.1" + checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee + 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 + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 + languageName: node + linkType: hard + +"encoding@npm:^0.1.12": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.8.3": + version: 5.8.3 + resolution: "enhanced-resolve@npm:5.8.3" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: d79fbe531106448b768bb0673fb623ec0202d7ee70373ab7d4f4745d5dfe0806f38c9db7e7da8c941288fe475ab3d538db3791fce522056eeea40ca398c9e287 + 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 + +"envinfo@npm:^7.7.3": + version: 7.8.1 + resolution: "envinfo@npm:7.8.1" + bin: + envinfo: dist/cli.js + checksum: de736c98d6311c78523628ff127af138451b162e57af5293c1b984ca821d0aeb9c849537d2fde0434011bed33f6bca5310ca2aab8a51a3f28fc719e89045d648 + 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.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 + +"error-stack-parser@npm:^1.3.6": + version: 1.3.6 + resolution: "error-stack-parser@npm:1.3.6" + dependencies: + stackframe: ^0.3.1 + checksum: 0bfbb5e234a8b23091c34f796697f4e7b4f805ca90bdc8b57d144f79051b834c8590917f5167a8f49c0f90206c8fb986bf5b28fe3ea8efa201f09caf3f0a7af2 + languageName: node + linkType: hard + +"es-abstract@npm:^1.18.5, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": + 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-module-lexer@npm:^0.9.0": + version: 0.9.3 + resolution: "es-module-lexer@npm:0.9.3" + checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 + 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 + +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.50": + version: 0.10.53 + resolution: "es5-ext@npm:0.10.53" + dependencies: + es6-iterator: ~2.0.3 + es6-symbol: ~3.1.3 + next-tick: ~1.0.0 + checksum: 24ec22369260cf98605cb2f51eae9d7df5dc621bc5d3b311f6f5c3d0fcdb7bafae888270f3083ee6e9af27350a5ea49f1fe2dd6406a9017247ca40f091f529b2 + languageName: node + linkType: hard + +"es6-iterator@npm:~2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: 1 + es5-ext: ^0.10.35 + es6-symbol: ^3.1.1 + checksum: 6e48b1c2d962c21dee604b3d9f0bc3889f11ed5a8b33689155a2065d20e3107e2a69cc63a71bd125aeee3a589182f8bbcb5c8a05b6a8f38fa4205671b6d09697 + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" + dependencies: + d: ^1.0.1 + ext: ^1.1.2 + checksum: cd49722c2a70f011eb02143ef1c8c70658d2660dead6641e160b94619f408b9cf66425515787ffe338affdf0285ad54f4eae30ea5bd510e33f8659ec53bcaa70 + 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 + +"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" + 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-airbnb-base@npm:14.2.0": + version: 14.2.0 + resolution: "eslint-config-airbnb-base@npm:14.2.0" + dependencies: + confusing-browser-globals: ^1.0.9 + object.assign: ^4.1.0 + object.entries: ^1.1.2 + peerDependencies: + eslint: ^5.16.0 || ^6.8.0 || ^7.2.0 + eslint-plugin-import: ^2.21.2 + checksum: c59856fc840e321bcd8c300a65742f9c71dc9e2a10a0d0e810ee3f27575da970ba75c01311c246dca513770ea128ce22984c0271b1bf45f9cea53fe9f13b4a39 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-config-prettier@npm:8.3.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: df4cea3032671995bb5ab07e016169072f7fa59f44a53251664d9ca60951b66cdc872683b5c6a3729c91497c11490ca44a79654b395dd6756beb0c3903a37196 + 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" + dependencies: + debug: ^3.2.7 + resolve: ^1.20.0 + checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.7.1": + version: 2.7.1 + resolution: "eslint-module-utils@npm:2.7.1" + dependencies: + debug: ^3.2.7 + find-up: ^2.1.0 + pkg-dir: ^2.0.0 + checksum: c30dfa125aafe65e5f6a30a31c26932106fcf09934a2f47d7f8a393ed9106da7b07416f2337b55c85f9db0175c873ee0827be5429a24ec381b49940f342b9ac3 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.24.2": + version: 2.25.3 + resolution: "eslint-plugin-import@npm:2.25.3" + dependencies: + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 + debug: ^2.6.9 + doctrine: ^2.1.0 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.7.1 + has: ^1.0.3 + is-core-module: ^2.8.0 + is-glob: ^4.0.3 + minimatch: ^3.0.4 + object.values: ^1.1.5 + resolve: ^1.20.0 + tsconfig-paths: ^3.11.0 + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 8bdf4b1fafb0e5c8f57a1673f72d84307d32c06a23942990d198c8b32a85a5ae0098872d1ef5bf80d7dfe8ec542f6a671e3c5e706731a80b493c9015f7a147f5 + languageName: node + linkType: hard + +"eslint-plugin-jsdoc@npm:^36.1.0": + version: 36.1.1 + resolution: "eslint-plugin-jsdoc@npm:36.1.1" + 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: ceaca9f5c39dbbab4cbb2f302e787d1581919273b4a25adca9d1b6d83fbca66a0e58da024bc1f3f21c8710f473745a297cb2a1fe5ed56c9d1f16967995293620 + languageName: node + linkType: hard + +"eslint-plugin-jsx-a11y@npm:^6.4.1": + version: 6.5.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.5.1" + dependencies: + "@babel/runtime": ^7.16.3 + aria-query: ^4.2.2 + array-includes: ^3.1.4 + ast-types-flow: ^0.0.7 + axe-core: ^4.3.5 + axobject-query: ^2.2.0 + damerau-levenshtein: ^1.0.7 + emoji-regex: ^9.2.2 + has: ^1.0.3 + jsx-ast-utils: ^3.2.1 + language-tags: ^1.0.5 + minimatch: ^3.0.4 + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 311ab993ed982d0cc7cb0ba02fbc4b36c4a94e9434f31e97f13c4d67e8ecb8aec36baecfd759ff70498846e7e11d7a197eb04c39ad64934baf3354712fd0bc9d + languageName: node + linkType: hard + +"eslint-plugin-license-header@npm:^0.2.1": + version: 0.2.1 + resolution: "eslint-plugin-license-header@npm:0.2.1" + dependencies: + requireindex: ^1.2.0 + checksum: 85de057614e66c97d658b1d435eacdcf174ba70c7ce6dfb547744e9d519b5e1899d1ad5eca3516845d81fac52a8df694ac2ce8cfa28f8b7fea790efe40d6d253 + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-plugin-prettier@npm:4.0.0" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + eslint: ">=7.28.0" + prettier: ">=2.0.0" + peerDependenciesMeta: + eslint-config-prettier: + optional: true + checksum: 03d69177a3c21fa2229c7e427ce604429f0b20ab7f411e2e824912f572a207c7f5a41fd1f0a95b9b8afe121e291c1b1f1dc1d44c7aad4b0837487f9c19f5210d + languageName: node + linkType: hard + +"eslint-plugin-tsc@npm:^2.0.0": + version: 2.0.0 + resolution: "eslint-plugin-tsc@npm:2.0.0" + dependencies: + typescript-service: ^2.0.3 + checksum: a6483fec0152c9c10542c0e51e36177623c233dc9715228f1f7063d181129084830b4b49f16f922759acb9e711d167e05ed7bc49d88afd21bcb6a24ec82d6369 + languageName: node + linkType: hard + +"eslint-scope@npm:5.1.1, 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.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.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.0.0": + version: 3.1.0 + resolution: "eslint-visitor-keys@npm:3.1.0" + checksum: fd2d613bb315bc549068ca97771d868437fb60c8f13ef8d6d54669773ff53f814b759fa9e57966f15e4c50a5f5e11c6ba47060b8f201f9776311f6c5d5c11b70 + languageName: node + linkType: hard + +"eslint@npm:^7.5.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": ^0.4.3 + "@humanwhocodes/config-array": ^0.5.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 + 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.merge: ^4.6.2 + 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.9 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + 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.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.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + 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 + +"eventemitter3@npm:^4.0.7": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 + languageName: node + linkType: hard + +"events@npm:^3.2.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, 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": + 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:^27.3.1": + version: 27.3.1 + resolution: "expect@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + ansi-styles: ^5.0.0 + jest-get-type: ^27.3.1 + jest-matcher-utils: ^27.3.1 + jest-message-util: ^27.3.1 + jest-regex-util: ^27.0.6 + checksum: e7681ecc7ab1006a9311c66729ba7cef598671e89f48e832f319feb9bb0c79a231d30da039c09ad437e5e18d69aced2a66c102ef63eb58a2e4f39a591bba2f60 + languageName: node + linkType: hard + +"ext@npm:^1.1.2": + version: 1.6.0 + resolution: "ext@npm:1.6.0" + dependencies: + type: ^2.5.0 + checksum: ca3ef4619e838f441a92238a98b77ac873da2175ace746c64303ffe2c3208e79a3acf3bf7004e40b720f3c2a83bf0143e6dd4a7cdfae6e73f54a3bfc7a14b5c2 + 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.1.1": + 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-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.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fastest-levenshtein@npm:^1.0.12": + version: 1.0.12 + resolution: "fastest-levenshtein@npm:1.0.12" + checksum: e1a013698dd1d302c7a78150130c7d50bb678c2c2f8839842a796d66cc7cdf50ea6b3d7ca930b0c8e7e8c2cd84fea8ab831023b382f7aab6922c318c1451beab + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.13.0 + resolution: "fastq@npm:1.13.0" + dependencies: + reusify: ^1.0.4 + checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.1 + resolution: "fb-watchman@npm:2.0.1" + dependencies: + bser: 2.1.1 + checksum: 8510230778ab3a51c27dffb1b76ef2c24fab672a42742d3c0a45c2e9d1e5f20210b1fbca33486088da4a9a3958bde96b5aec0a63aac9894b4e9df65c88b2cbd6 + 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.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.2.4 + resolution: "flatted@npm:3.2.4" + checksum: 7d33846428ab337ec81ef9b8b9103894c1c81f5f67feb32bd4ed106fbc47da60d56edb42efd36c9f1f30a010272aeccd34ec1ffacfe9dfdff19673b1d4df481b + 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 + +"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 + +"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-extra@npm:^9.0.1": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: ^1.0.0 + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: ba71ba32e0faa74ab931b7a0031d1523c66a73e225de7426e275e238e312d07313d2da2d33e34a52aa406c8763ade5712eb3ec9ba4d9edce652bcacdc29e6b20 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.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@^2.3.2: + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + 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=1cc4b2" + dependencies: + node-gyp: latest + checksum: 78db9daf1f6526a49cefee3917cc988f62dc7f25b5dd80ad6de4ffc4af7f0cab7491ac737626ff53e482a111bc53aac9e411fe3602458eca36f6a003ecf69c16 + 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:~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.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-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 + languageName: node + linkType: hard + +"get-stdin@npm:7.0.0": + version: 7.0.0 + resolution: "get-stdin@npm:7.0.0" + checksum: a24ab2cf8ee35bf5d3460c0d8145f2624715d864485789b7101a7cf1b6c1ce0a57319e25304872074121fa60e7104f1af3583a7014e9974c84c61d0702beae24 + 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 + +"git-raw-commits@npm:^2.0.0": + version: 2.0.10 + resolution: "git-raw-commits@npm:2.0.10" + dependencies: + dargs: ^7.0.0 + lodash: ^4.17.15 + meow: ^8.0.0 + split2: ^3.0.0 + through2: ^4.0.0 + bin: + git-raw-commits: cli.js + checksum: 66e2d7b4cdeff946ac639e1bba37f5dcbd9f5c9245348b31e027e4529f6b6733d23f75768d285d5f29c1f08d3485705a4932300a81a45b77b660fe3ce6089c29 + languageName: node + linkType: hard + +"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-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: e795f4e8f06d2a15e86f76e4d92751cf8bbfcf0157cea5c2f0f35678a8195a750b34096b1256e436f0cebc1883b5ff0888c47348443e69546a5a87f9e1eb1167 + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": + 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 + +"global-dirs@npm:^0.1.1": + version: 0.1.1 + resolution: "global-dirs@npm:0.1.1" + dependencies: + ini: ^1.3.4 + checksum: 10624f5a8ddb8634c22804c6b24f93fb591c3639a6bc78e3584e01a238fc6f7b7965824184e57d63f6df36980b6c191484ad7bc6c35a1599b8f1d64be64c2a4a + 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:^13.6.0, globals@npm:^13.9.0": + version: 13.12.0 + resolution: "globals@npm:13.12.0" + dependencies: + type-fest: ^0.20.2 + checksum: 1f959abb11117916468a1afcba527eead152900cad652c8383c4e8976daea7ec55e1ee30c086f48d1b8655719f214e9d92eca083c3a43b5543bc4056e7e5fccf + languageName: node + linkType: hard + +"globby@npm:^11.0.4": + version: 11.0.4 + resolution: "globby@npm:11.0.4" + 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: d3e02d5e459e02ffa578b45f040381c33e3c0538ed99b958f0809230c423337999867d7b0dbf752ce93c46157d3bbf154d3fff988a93ccaeb627df8e1841775b + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, 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.8 + resolution: "graceful-fs@npm:4.2.8" + checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 + languageName: node + linkType: hard + +"handlebars@npm:^4.7.6": + version: 4.7.7 + resolution: "handlebars@npm:4.7.7" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + 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": + 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.1, 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": + 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.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: ^2.0.4 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc + 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 + +"highlight.js@npm:^10.2.0": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: defeafcd546b535d710d8efb8e650af9e3b369ef53e28c3dc7893eacfe263200bba4c5fcf43524ae66d5c0c296b1af0870523ceae3e3104d24b7abf6374a4fea + 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 + +"hosted-git-info@npm:^4.0.1": + version: 4.0.2 + resolution: "hosted-git-info@npm:4.0.2" + dependencies: + lru-cache: ^6.0.0 + checksum: d1b2d7720398ce96a788bd38d198fbddce089a2381f63cfb01743e6c7e5aed656e5547fe74090fb9fe53b2cb785b0e8c9ebdddadff48ed26bb471dd23cd25458 + 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.2 + resolution: "html-escaper@npm:2.0.2" + checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 + 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:^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 + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "https-proxy-agent@npm:5.0.0" + dependencies: + agent-base: 6 + debug: 4 + checksum: 165bfb090bd26d47693597661298006841ab733d0c7383a8cb2f17373387a94c903a3ac687090aa739de05e379ab6f868bae84ab4eac288ad85c328cd1ec9e53 + 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 + +"husky@npm:^7.0.0": + version: 7.0.4 + resolution: "husky@npm:7.0.4" + bin: + husky: lib/bin.js + checksum: c6ec4af63da2c9522da8674a20ad9b48362cc92704896cc8a58c6a2a39d797feb2b806f93fbd83a6d653fbdceb2c3b6e0b602c6b2e8565206ffc2882ef7db9e9 + 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 + +"ieee754@npm:^1.2.1": + 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" + checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 + languageName: node + linkType: hard + +"ignore@npm:^5.1.4, ignore@npm:^5.1.8": + version: 5.1.9 + resolution: "ignore@npm:5.1.9" + checksum: 6f6b2235f4e63648116c5814f76b2d3d63fae9c21b8a466862e865732f59e787c9938a9042f9457091db6f0d811508ea3c8c6a60f35bafc4ceea08bbe8f96fd5 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.1.0, 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.3 + resolution: "import-local@npm:3.0.3" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: 38ae57d35e7fd5f63b55895050c798d4dd590e4e2337e9ffa882fb3ea7a7716f3162c7300e382e0a733ca5d07b389fadff652c00fa7b072d5cb6ea34ca06b179 + 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, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 + 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 + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 + languageName: node + linkType: hard + +"interpret@npm:^2.2.0": + version: 2.2.0 + resolution: "interpret@npm:2.2.0" + checksum: f51efef7cb8d02da16408ffa3504cd6053014c5aeb7bb8c223727e053e4235bf565e45d67028b0c8740d917c603807aa3c27d7bd2f21bf20b6417e2bb3e5fd6e + languageName: node + linkType: hard + +"ip-regex@npm:^4.3.0": + version: 4.3.0 + resolution: "ip-regex@npm:4.3.0" + checksum: 7ff904b891221b1847f3fdf3dbb3e6a8660dc39bc283f79eb7ed88f5338e1a3d1104b779bc83759159be266249c59c2160e779ee39446d79d4ed0890dfd06f08 + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.5 + resolution: "ip@npm:1.1.5" + checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a + 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-callable@npm:^1.1.4, is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + languageName: node + linkType: hard + +"is-core-module@npm:^2.2.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.0": + version: 2.8.0 + resolution: "is-core-module@npm:2.8.0" + dependencies: + has: ^1.0.3 + checksum: f8b52714891e1a6c6577fcb8d5e057bab064a7a30954aab6beb5092e311473eb8da57afd334de4981dc32409ffca998412efc3a2edceb9e397cef6098d21dd91 + languageName: node + 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 + 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:^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-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, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + 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-negative-zero@npm:^2.0.1": + version: 2.0.1 + resolution: "is-negative-zero@npm:2.0.1" + checksum: a46f2e0cb5e16fdb8f2011ed488979386d7e68d381966682e3f4c98fc126efe47f26827912baca2d06a02a644aee458b9cba307fb389f6b161e759125db7a3b8 + 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:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 3ccf0efdea12951e0b9c784e2b00e77e87b2f8bd30b42a498548a8afcc11b3287342a2030c308e473e93a7a19c9ea7854c99a8832a476591c727df2a9c79796c + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 + 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.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" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab + 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:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, 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, 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-text-path@npm:^1.0.1": + version: 1.0.1 + resolution: "is-text-path@npm:1.0.1" + dependencies: + text-extensions: ^1.0.0 + checksum: fb5d78752c22b3f73a7c9540768f765ffcfa38c9e421e2b9af869565307fa1ae5e3d3a2ba016a43549742856846566d327da406e94a5846ec838a288b1704fd2 + 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": + 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.1 + resolution: "is-weakref@npm:1.0.1" + dependencies: + call-bind: ^1.0.0 + checksum: fdafb7b955671dd2f9658ff47c86e4025c0650fc68a3542a40e5a75898a763b1abd6b1e1f9f13207eed49541cdd76af67d73c44989ea358b201b70274cf8f6c1 + languageName: node + linkType: hard + +"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:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + 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 + 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": + version: 5.1.0 + resolution: "istanbul-lib-instrument@npm:5.1.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: 8b82e733c69fe9f94d2e21f3e5760c9bedb110329aa75df4bd40df95f1cac3bf38767e43f35b125cc547ceca7376b72ce7d95cc5238b7e9088345c7b589233d3 + 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.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.0.2": + version: 3.0.5 + resolution: "istanbul-reports@npm:3.0.5" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: b167411c4cd551aec39c8275ef42f25e7083caa5a467c1b35f33b19f37211656ebf03f1cbe5c55d691b44398314dcc73be52dc6b7afb13b7a1a02eb65d702a75 + languageName: node + linkType: hard + +"jest-changed-files@npm:^27.3.0": + version: 27.3.0 + resolution: "jest-changed-files@npm:27.3.0" + dependencies: + "@jest/types": ^27.2.5 + execa: ^5.0.0 + throat: ^6.0.1 + checksum: add4a688ad9be26bc4ae1801737d84f3d57d10d3542b6af67b61ca5cdf1365e08ae4e10b27bf773e41bba29f61f1a0f52b773ec321d0e26e2f7a99cd5f21c551 + languageName: node + linkType: hard + +"jest-circus@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-circus@npm:27.3.1" + dependencies: + "@jest/environment": ^27.3.1 + "@jest/test-result": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + dedent: ^0.7.0 + expect: ^27.3.1 + is-generator-fn: ^2.0.0 + jest-each: ^27.3.1 + jest-matcher-utils: ^27.3.1 + jest-message-util: ^27.3.1 + jest-runtime: ^27.3.1 + jest-snapshot: ^27.3.1 + jest-util: ^27.3.1 + pretty-format: ^27.3.1 + slash: ^3.0.0 + stack-utils: ^2.0.3 + throat: ^6.0.1 + checksum: f3fc8ba6ae2623770c6d1c4808e215569c4c9b0483a8e4e8779deb98e803ea3d543c18e096a952bcc2103191dd10bf779f87594652e346209b4f26bde6acd45b + languageName: node + linkType: hard + +"jest-cli@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-cli@npm:27.3.1" + dependencies: + "@jest/core": ^27.3.1 + "@jest/test-result": ^27.3.1 + "@jest/types": ^27.2.5 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + import-local: ^3.0.2 + jest-config: ^27.3.1 + jest-util: ^27.3.1 + jest-validate: ^27.3.1 + prompts: ^2.0.1 + yargs: ^16.2.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: e27187aa304503c9f45b4f338dba7df5ea35f2406d615b91c611206a18d7db94e6eba3997f9b57651281b9f0ace84b132267e0803c30b05b555f1f6043c1bc47 + languageName: node + linkType: hard + +"jest-config@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-config@npm:27.3.1" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^27.3.1 + "@jest/types": ^27.2.5 + babel-jest: ^27.3.1 + chalk: ^4.0.0 + ci-info: ^3.2.0 + deepmerge: ^4.2.2 + glob: ^7.1.1 + graceful-fs: ^4.2.4 + jest-circus: ^27.3.1 + jest-environment-jsdom: ^27.3.1 + jest-environment-node: ^27.3.1 + jest-get-type: ^27.3.1 + jest-jasmine2: ^27.3.1 + jest-regex-util: ^27.0.6 + jest-resolve: ^27.3.1 + jest-runner: ^27.3.1 + jest-util: ^27.3.1 + jest-validate: ^27.3.1 + micromatch: ^4.0.4 + pretty-format: ^27.3.1 + peerDependencies: + ts-node: ">=9.0.0" + peerDependenciesMeta: + ts-node: + optional: true + checksum: 1a86b03456795012cb0da16e5342bd67a6caa4f8e62f6afb82268e7da185efd16823e25e5049441b2a41b100c557950db2df52e8f5b8d23d6699923e49b7585d + languageName: node + linkType: hard + +"jest-diff@npm:^27.0.0, jest-diff@npm:^27.3.1": + 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:^27.0.6": + version: 27.0.6 + resolution: "jest-docblock@npm:27.0.6" + dependencies: + detect-newline: ^3.0.0 + checksum: 6d68b9f2bef76e0bde06a8e6d13a7e1d2fc67f61a8fa8a089727198e565510aef852a0a089c3c4157b00a82597f792fa83c8480499203978ef38d8cd6578bea0 + languageName: node + linkType: hard + +"jest-each@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-each@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + chalk: ^4.0.0 + jest-get-type: ^27.3.1 + jest-util: ^27.3.1 + pretty-format: ^27.3.1 + checksum: 61bbe4f5ab691049668dcc519c92f4c4ea57a279d51dd124b1e196c4bd63f7a2d81146d3bdec7dc6d5115999b74bf1a68938575bb5e051d41f499f92e2d4e715 + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-environment-jsdom@npm:27.3.1" + dependencies: + "@jest/environment": ^27.3.1 + "@jest/fake-timers": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + jest-mock: ^27.3.0 + jest-util: ^27.3.1 + jsdom: ^16.6.0 + checksum: 669c4f417a62d30ae7942c988a6bf3a224dbc1ccdca3355f0fd51523d60bad7395db31589a95f34d27eaf422f642cd308a78c34f32aa078084fa799fd50ccf8b + languageName: node + linkType: hard + +"jest-environment-node@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-environment-node@npm:27.3.1" + dependencies: + "@jest/environment": ^27.3.1 + "@jest/fake-timers": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + jest-mock: ^27.3.0 + jest-util: ^27.3.1 + checksum: 40bab41957a253525b394055489568e748bea478f5b3903ff5c4e59c373adf4257788c28303dfd08e414271a3ff57cec74848a435066dcb8504865ed594e98c0 + 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:^27.3.1": + version: 27.3.1 + resolution: "jest-haste-map@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.3.2 + graceful-fs: ^4.2.4 + jest-regex-util: ^27.0.6 + jest-serializer: ^27.0.6 + jest-util: ^27.3.1 + jest-worker: ^27.3.1 + micromatch: ^4.0.4 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 43e1afa266121d0d76433e0758d82256ef47cef9599f70a74fbb74acd7e9f2d9269536f5a03691c65a62a0175fd0780ed44ce11880a2f8a2c926a6240af88d45 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-jasmine2@npm:27.3.1" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^27.3.1 + "@jest/source-map": ^27.0.6 + "@jest/test-result": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + chalk: ^4.0.0 + co: ^4.6.0 + expect: ^27.3.1 + is-generator-fn: ^2.0.0 + jest-each: ^27.3.1 + jest-matcher-utils: ^27.3.1 + jest-message-util: ^27.3.1 + jest-runtime: ^27.3.1 + jest-snapshot: ^27.3.1 + jest-util: ^27.3.1 + pretty-format: ^27.3.1 + throat: ^6.0.1 + checksum: 6ad4e3115b0e67f4e3923a67a0bbd30da2b3f68c2227ce43f9a306f67d4d992e9fa71d39850dfc66239fb95211fe466666c70abd93d2ad59f628cca5d3ddcab7 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-leak-detector@npm:27.3.1" + dependencies: + jest-get-type: ^27.3.1 + pretty-format: ^27.3.1 + checksum: ff3ca19d42408cb135069928e1b79d68accd62acb77a36ab9a56ae9de3d20cd0a6c1c98469eda617127d2e780a6a7e5a4e3b9c804c1d6b67afdd65d7270adae4 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-matcher-utils@npm:27.3.1" + dependencies: + chalk: ^4.0.0 + jest-diff: ^27.3.1 + jest-get-type: ^27.3.1 + pretty-format: ^27.3.1 + checksum: 118c428b5509c767596a785697f8bedf90eb06278ffb76ecd57eb8eebc7c66a17dabb5960e100e7b1a91fb2638722bfec0152a3deb1162049eeb98ebe40f6caa + languageName: node + linkType: hard + +"jest-message-util@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-message-util@npm:27.3.1" + dependencies: + "@babel/code-frame": ^7.12.13 + "@jest/types": ^27.2.5 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.4 + pretty-format: ^27.3.1 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 2d10734765e3e965f92b7cf009206a702e644228114bda3e20c40f59fe603422a55aa6632b4413e030bf352a03f362d321c0d881908c1d24b05e097da3ee3c4a + languageName: node + linkType: hard + +"jest-mock@npm:^27.3.0": + version: 27.3.0 + resolution: "jest-mock@npm:27.3.0" + dependencies: + "@jest/types": ^27.2.5 + "@types/node": "*" + checksum: 904b9116e03cbcd3baba08a18be88e29749c5b715ec7659665079b4aa9f54b7b87c4c7e7bf5b99fb966fefa08a25b3886e15ad31ba453104e681075ec9d8418c + 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:^27.0.6": + version: 27.0.6 + resolution: "jest-regex-util@npm:27.0.6" + checksum: 4d613b00f2076560e9d5e5674ec63a4130d7b1584dbbf25d84d3a455b0ff7a12d8f94eaa00facd7934d285330d370c270ca093667d537a5842e95457e8e1ecf4 + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-resolve-dependencies@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + jest-regex-util: ^27.0.6 + jest-snapshot: ^27.3.1 + checksum: 33b215313b3dbd8d7e772adb6a8a52f38f8ea7394b3cc2799695f8eeaf32a79235d3c325f9533344cceb7f34acee0e3927230e31678e4c927f221fe76ede748d + languageName: node + linkType: hard + +"jest-resolve@npm:27.3.1, jest-resolve@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-resolve@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.3.1 + jest-pnp-resolver: ^1.2.2 + jest-util: ^27.3.1 + jest-validate: ^27.3.1 + resolve: ^1.20.0 + resolve.exports: ^1.1.0 + slash: ^3.0.0 + checksum: c3910965375050bf46bdfbfa7ad073ab8f001651db6cee610479e2e40d9adec6ae95831a3e22e26ebf09b2e50febf6a7d37a36ed866e72d69e24e29d40ec8528 + languageName: node + linkType: hard + +"jest-runner-groups@npm:^2.1.0": + version: 2.1.0 + resolution: "jest-runner-groups@npm:2.1.0" + peerDependencies: + jest-docblock: ">= 24" + jest-runner: ">= 24" + checksum: 760ae1b47e0d257441843508652bc09d6b9e09c35be2325d81bb14b082bc9c49974df0123c75a4b45a655c04e61d52dc3d4bf32279243fd86b5656fdb582573a + languageName: node + linkType: hard + +"jest-runner@npm:^27.2.0, jest-runner@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-runner@npm:27.3.1" + dependencies: + "@jest/console": ^27.3.1 + "@jest/environment": ^27.3.1 + "@jest/test-result": ^27.3.1 + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + chalk: ^4.0.0 + emittery: ^0.8.1 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-docblock: ^27.0.6 + jest-environment-jsdom: ^27.3.1 + jest-environment-node: ^27.3.1 + jest-haste-map: ^27.3.1 + jest-leak-detector: ^27.3.1 + jest-message-util: ^27.3.1 + jest-resolve: ^27.3.1 + jest-runtime: ^27.3.1 + jest-util: ^27.3.1 + jest-worker: ^27.3.1 + source-map-support: ^0.5.6 + throat: ^6.0.1 + checksum: 6fe50206fd190124d03a7692e282746702a1f2572df260c39b9e71a4dba2ae4bcf54e6ccc6f653e92c35289d063f6aa08f1c021a95cdfaa628c221e7cdab301b + languageName: node + linkType: hard + +"jest-runtime@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-runtime@npm:27.3.1" + dependencies: + "@jest/console": ^27.3.1 + "@jest/environment": ^27.3.1 + "@jest/globals": ^27.3.1 + "@jest/source-map": ^27.0.6 + "@jest/test-result": ^27.3.1 + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + cjs-module-lexer: ^1.0.0 + collect-v8-coverage: ^1.0.0 + execa: ^5.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.3.1 + jest-message-util: ^27.3.1 + jest-mock: ^27.3.0 + jest-regex-util: ^27.0.6 + jest-resolve: ^27.3.1 + jest-snapshot: ^27.3.1 + jest-util: ^27.3.1 + jest-validate: ^27.3.1 + slash: ^3.0.0 + strip-bom: ^4.0.0 + yargs: ^16.2.0 + checksum: b86c8c48126bbc04c8c6c7a05948237be6ec9e5d1bea9aeef62a7720d5d11236008137bd40e099c8359ac6d4b1fd6f6430e8329cc54fe896438f75f3c232ee27 + languageName: node + linkType: hard + +"jest-serializer@npm:^27.0.6": + version: 27.0.6 + resolution: "jest-serializer@npm:27.0.6" + dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: b0b8d97cb17ad4d1414769e4c81441c608cdfb7e3519afdcddc0f660dae4950cb30aad75a414dde97499c4830d961e8dff09d8683911295e299f0d86a104abdc + languageName: node + linkType: hard + +"jest-snapshot@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-snapshot@npm:27.3.1" + dependencies: + "@babel/core": ^7.7.2 + "@babel/generator": ^7.7.2 + "@babel/parser": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 + "@babel/types": ^7.0.0 + "@jest/transform": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/babel__traverse": ^7.0.4 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 + chalk: ^4.0.0 + expect: ^27.3.1 + graceful-fs: ^4.2.4 + jest-diff: ^27.3.1 + jest-get-type: ^27.3.1 + jest-haste-map: ^27.3.1 + jest-matcher-utils: ^27.3.1 + jest-message-util: ^27.3.1 + jest-resolve: ^27.3.1 + jest-util: ^27.3.1 + natural-compare: ^1.4.0 + pretty-format: ^27.3.1 + semver: ^7.3.2 + checksum: e5607f15210e1428fcbdd350e461506f3e76d717d5d655a66b06fbfda5a60cc91ff50f6c04060bedbf7c93c6ea4a2d3363958c5e79203defe8d440dbb752ecdc + languageName: node + linkType: hard + +"jest-util@npm:^27.0.0, jest-util@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-util@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.4 + picomatch: ^2.2.3 + checksum: 6958d418a867e537a7dc377558422879dabb61437eecc28a2fac44a61c14dc58dcf4514fb5bdc1ddaf19c414040243b2e9e740a046190ca7c9df294a3c911dbe + languageName: node + linkType: hard + +"jest-validate@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-validate@npm:27.3.1" + dependencies: + "@jest/types": ^27.2.5 + camelcase: ^6.2.0 + chalk: ^4.0.0 + jest-get-type: ^27.3.1 + leven: ^3.1.0 + pretty-format: ^27.3.1 + checksum: 0f402027cb43d2a15fe882578aa446f835688ad216eac6ac1f9795244d8d3da362ff932f34fc97307f6fa11951bf8cf13c8efe88aac6ce3ce66d42d7f2916108 + languageName: node + linkType: hard + +"jest-watcher@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-watcher@npm:27.3.1" + dependencies: + "@jest/test-result": ^27.3.1 + "@jest/types": ^27.2.5 + "@types/node": "*" + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + jest-util: ^27.3.1 + string-length: ^4.0.1 + checksum: c150bb81be3aa41c114fbe283e9826c2675f8df091c18db8c53d575f3444966dd1d135aa5af02772e7a88411ac7e67740409f6a7c098d943b8dc056b4f0a845a + languageName: node + linkType: hard + +"jest-worker@npm:^27.0.6, jest-worker@npm:^27.3.1": + version: 27.3.1 + resolution: "jest-worker@npm:27.3.1" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 125d46939d894ef8cf1ffbbf6c63cee10f28218698db3949704d5f613a353f56502da50d3425ec722927c7948c5742d0306f63ad5064a432574b8b217b9ceeba + languageName: node + linkType: hard + +"jest@npm:^27.2.0": + version: 27.3.1 + resolution: "jest@npm:27.3.1" + dependencies: + "@jest/core": ^27.3.1 + import-local: ^3.0.2 + jest-cli: ^27.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: ae4f0c83fb1c87d7a6f440a8d6288f06a2a2fb1e3539bc048918572cded3e1dc10497ce4362a9a4a91f986eb3438f481e733a65581c5d5b08c00f7b4760ff21d + 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-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.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 + +"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.6.0": + version: 16.7.0 + resolution: "jsdom@npm:16.7.0" + dependencies: + abab: ^2.0.5 + acorn: ^8.2.4 + acorn-globals: ^6.0.0 + cssom: ^0.4.4 + cssstyle: ^2.3.0 + data-urls: ^2.0.0 + decimal.js: ^10.2.1 + domexception: ^2.0.1 + escodegen: ^2.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 + 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: ^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: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 + 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-better-errors@npm:^1.0.2": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d + 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-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 + +"json5@npm:2.x, json5@npm:^2.1.2": + version: 2.2.0 + resolution: "json5@npm:2.2.0" + dependencies: + minimist: ^1.2.5 + bin: + json5: lib/cli.js + checksum: e88fc5274bb58fc99547baa777886b069d2dd96d9cfc4490b305fd16d711dabd5979e35a4f90873cefbeb552e216b041a304fe56702bedba76e19bc7845f208d + 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 + +"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 + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d + languageName: node + linkType: hard + +"jsx-ast-utils@npm:^3.2.1": + version: 3.2.1 + resolution: "jsx-ast-utils@npm:3.2.1" + dependencies: + array-includes: ^3.1.3 + object.assign: ^4.1.2 + checksum: dcee22e6382ee5a6bd4187333a44b6420d9d079838119a07055d6e88d137dd0afadc97a2246152b0b65006bd5fc393112dc0cef01956a01a66c1713913953c66 + languageName: node + linkType: hard + +"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 + 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 + +"language-subtag-registry@npm:~0.3.2": + version: 0.3.21 + resolution: "language-subtag-registry@npm:0.3.21" + checksum: 5f794525a5bfcefeea155a681af1c03365b60e115b688952a53c6e0b9532b09163f57f1fcb69d6150e0e805ec0350644a4cb35da98f4902562915be9f89572a1 + languageName: node + linkType: hard + +"language-tags@npm:^1.0.5": + version: 1.0.5 + resolution: "language-tags@npm:1.0.5" + dependencies: + language-subtag-registry: ~0.3.2 + checksum: c81b5d8b9f5f9cfd06ee71ada6ddfe1cf83044dd5eeefcd1e420ad491944da8957688db4a0a9bc562df4afdc2783425cbbdfd152c01d93179cf86888903123cf + 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 + +"loader-runner@npm:^4.2.0": + version: 4.2.0 + resolution: "loader-runner@npm:4.2.0" + checksum: e61aea8b6904b8af53d9de6f0484da86c462c0001f4511bedc837cec63deb9475cea813db62f702cd7930420ccb0e75c78112270ca5c8b61b374294f53c0cb3a + 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.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 + languageName: node + linkType: hard + +"lodash@npm:^4.1.2, lodash@npm:^4.17.15, 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 + +"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 + +"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.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + +"make-error@npm:1.x, 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:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: ^4.1.3 + cacache: ^15.2.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^6.0.0 + minipass: ^3.1.3 + minipass-collect: ^1.0.2 + minipass-fetch: ^1.3.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.2 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.0.0 + ssri: ^8.0.0 + checksum: 0eb371c85fdd0b1584fcfdf3dc3c62395761b3c14658be02620c310305a9a7ecf1617a5e6fb30c1d081c5c8aaf177fa133ee225024313afabb7aa6a10f1e3d04 + 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 + +"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 + +"marked@npm:^1.1.1": + version: 1.2.9 + resolution: "marked@npm:1.2.9" + bin: + marked: bin/marked + checksum: c5a461b8081ee8f672197bf6503c49eba3906614eefea29f3188f5dac06a7fca45a0c2d97ed5d0910a1c96696c827f062ae5cc0b37c9a0acdaafb2acb1467a2f + 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 + +"meow@npm:^8.0.0": + version: 8.1.2 + resolution: "meow@npm:8.1.2" + dependencies: + "@types/minimist": ^1.2.0 + camelcase-keys: ^6.2.2 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: 4.1.0 + normalize-package-data: ^3.0.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.18.0 + yargs-parser: ^20.2.3 + checksum: bc23bf1b4423ef6a821dff9734406bce4b91ea257e7f10a8b7f896f45b59649f07adc0926e2917eacd8cf1df9e4cd89c77623cf63dfd0f8bf54de07a32ee5a85 + 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.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + 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 + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: ^4.0.0 + brorand: ^1.0.1 + bin: + miller-rabin: bin/miller-rabin + checksum: 00cd1ab838ac49b03f236cc32a14d29d7d28637a53096bf5c6246a032a37749c9bd9ce7360cbf55b41b89b7d649824949ff12bc8eee29ac77c6b38eada619ece + languageName: node + linkType: hard + +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 + 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-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" + 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.0, 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 + +"minimist-options@npm:4.1.0": + 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.2.0, minimist@npm:^1.2.5": + version: 1.2.5 + resolution: "minimist@npm:1.2.5" + checksum: 86706ce5b36c16bfc35c5fe3dbb01d5acdc9a22f2b6cc810b6680656a1d2c0e44a0159c9a3ba51fb072bb5c203e49e10b51dcd0eec39c481f4c42086719bae52 + 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:^1.3.2": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: ^0.1.12 + minipass: ^3.1.0 + minipass-sized: ^1.0.3 + minizlib: ^2.0.0 + dependenciesMeta: + encoding: + optional: true + checksum: ec93697bdb62129c4e6c0104138e681e30efef8c15d9429dd172f776f83898471bc76521b539ff913248cc2aa6d2b37b652c993504a51cc53282563640f29216 + 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.2, 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, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": + version: 3.1.5 + resolution: "minipass@npm:3.1.5" + dependencies: + yallist: ^4.0.0 + checksum: 8b410b9a5bd99ceb9d63c895891d1c30511791fdc7b717da4cf9403ca2419bc57af63b8485ffdaa421ef6cff56f63ae0b2f5135f8df502d21296e8c91460ebf9 + languageName: node + linkType: hard + +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": + 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": + 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": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"multiformats@npm:^9.4.3, multiformats@npm:^9.4.7": + version: 9.4.10 + resolution: "multiformats@npm:9.4.10" + checksum: 57093ef493696122d3f843bc683167f535687d327a07a2488ac9b23ca555ca049db99c4f8344aac09646b515c8e48edac92ab5dccd6622b0437760f0b8effe27 + 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.2": + version: 0.6.2 + resolution: "negotiator@npm:0.6.2" + checksum: dfddaff6c06792f1c4c3809e29a427b8daef8cd437c83b08dd51d7ee11bbd1c29d9512d66b801144d6c98e910ffd8723f2432e0cbf8b18d41d2a09599c975ab3 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.0, neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + +"next-tick@npm:~1.0.0": + version: 1.0.0 + resolution: "next-tick@npm:1.0.0" + checksum: 83fcb3d4f8d9380210b1c2b8a610463602d80283f0c0c8571c1688e1ad6cbf3a16b345f5bb7212617d4898bedcfa10dff327dc09ec20a112a5bf43a0271375fb + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.6": + version: 2.6.6 + resolution: "node-fetch@npm:2.6.6" + dependencies: + whatwg-url: ^5.0.0 + checksum: ee8290626bdb73629c59722b75dcf4b9b6a67c1ed7eb9102e368479c4a13b56a48c2bb3ad71571e378e98c8b2c64c820e11f9cd39e4b8557dd138ad571ef9a42 + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.3.0": + version: 4.3.0 + resolution: "node-gyp-build@npm:4.3.0" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 1ecab16d9f275174d516e223f60f65ebe07540347d5c04a6a7d6921060b7f2e3af4f19463d9d1dcedc452e275c2ae71354a99405e55ebd5b655bb2f38025c728 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 8.4.0 + resolution: "node-gyp@npm:8.4.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^9.1.0 + nopt: ^5.0.0 + npmlog: ^4.1.2 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: a5a0045f6a1708a7760cfee2b5e2cd9072dd6a0d5d3376bb96e0bae1f1e43d14a0bd54970e1fbd2632cceb9c23d36a3efabe88c26256693e969566cf977501c2 + 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-releases@npm:^2.0.1": + version: 2.0.1 + resolution: "node-releases@npm:2.0.1" + checksum: b20dd8d4bced11f75060f0387e05e76b9dc4a0451f7bb3516eade6f50499ea7768ba95d8a60d520c193402df1e58cb3fe301510cc1c1ad68949c3d57b5149866 + 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.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-package-data@npm:^3.0.0": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: ^4.0.1 + is-core-module: ^2.5.0 + semver: ^7.3.4 + validate-npm-package-license: ^3.0.1 + checksum: bbcee00339e7c26fdbc760f9b66d429258e2ceca41a5df41f5df06cc7652de8d82e8679ff188ca095cad8eff2b6118d7d866af2b68400f74602fbcbce39c160a + 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-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 + +"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 + +"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.11.0, object-inspect@npm:^1.9.0": + version: 1.11.0 + resolution: "object-inspect@npm:1.11.0" + checksum: 8c64f89ce3a7b96b6925879ad5f6af71d498abc217e136660efecd97452991216f375a7eb47cb1cb50643df939bf0c7cc391567b7abc6a924d04679705e58e27 + languageName: node + linkType: hard + +"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, 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.entries@npm:^1.1.2": + version: 1.1.5 + resolution: "object.entries@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 + languageName: node + linkType: hard + +"object.values@npm:^1.1.5": + version: 1.1.5 + resolution: "object.values@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + 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.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + 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.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: ^2.0.0 + checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + 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-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": + version: 5.1.6 + resolution: "parse-asn1@npm:5.1.6" + dependencies: + asn1.js: ^5.2.0 + browserify-aes: ^1.0.0 + evp_bytestokey: ^1.0.0 + pbkdf2: ^3.0.3 + safe-buffer: ^5.1.1 + checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.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-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.3": + 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 + +"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.2.3": + version: 2.3.0 + resolution: "picomatch@npm:2.3.0" + checksum: 16818720ea7c5872b6af110760dee856c8e4cd79aed1c7a006d076b1cc09eff3ae41ca5019966694c33fbd2e1cc6ea617ab10e4adac6df06556168f13be3fca2 + 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 + +"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@npm:^2.0.5": + version: 2.4.1 + resolution: "prettier@npm:2.4.1" + bin: + prettier: bin-prettier.js + checksum: cc6830588b401b0d742862fe9c46bc9118204fb307c3abe0e49e95b35ed23629573807ffdf9cdd65289c252a0bb51fc0171437f6626ee36378dea80f0ee80b91 + 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 + +"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.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + +"progress@npm:^2.0.0, progress@npm:^2.0.3": + 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.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.5 + checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d + 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 + +"public-encrypt@npm:^4.0.0": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: ^4.1.0 + browserify-rsa: ^4.0.0 + create-hash: ^1.1.0 + parse-asn1: ^5.0.0 + randombytes: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 215d446e43cef021a20b67c1df455e5eea134af0b1f9b8a35f9e850abf32991b0c307327bc5b9bc07162c288d5cdb3d4a783ea6c6640979ed7b5017e3e0c9935 + languageName: node + linkType: hard + +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6 + 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 + +"q@npm:^1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 + languageName: node + linkType: hard + +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 + 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.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, 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 + +"randomfill@npm:^1.0.3": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: ^2.0.5 + safe-buffer: ^5.1.0 + checksum: 33734bb578a868d29ee1b8555e21a36711db084065d94e019a6d03caa67debef8d6a1bfd06a2b597e32901ddc761ab483a85393f0d9a75838f1912461d4dbfc7 + 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-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:^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:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.5.0, 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:^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 + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: ^1.1.6 + checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b + languageName: node + linkType: hard + +"rechoir@npm:^0.7.0": + version: 0.7.1 + resolution: "rechoir@npm:0.7.1" + dependencies: + resolve: ^1.9.0 + checksum: 2a04aab4e28c05fcd6ee6768446bc8b859d8f108e71fc7f5bcbc5ef25e53330ce2c11d10f82a24591a2df4c49c4f61feabe1fd11f844c66feedd4cd7bb61146a + 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.13.4": + version: 0.13.9 + resolution: "regenerator-runtime@npm:0.13.9" + checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e + languageName: node + linkType: hard + +"regexpp@npm:^3.1.0, regexpp@npm:^3.2.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 + 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 + +"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 + +"requireindex@npm:^1.2.0": + version: 1.2.0 + resolution: "requireindex@npm:1.2.0" + checksum: 50d8b10a1ff1fdf6aea7a1870bc7bd238b0fb1917d8d7ca17fd03afc38a65dcd7a8a4eddd031f89128b5f0065833d5c92c4fef67f2c04e8624057fe626c9cf94 + 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:5.0.0, resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + 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-global@npm:1.0.0, resolve-global@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-global@npm:1.0.0" + dependencies: + global-dirs: ^0.1.1 + checksum: c4e11d33e84bde7516b824503ffbe4b6cce863d5ce485680fd3db997b7c64da1df98321b1fd0703b58be8bc9bc83bc96bd83043f96194386b45eb47229efb6b6 + 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@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.9.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.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.9.0#~builtin": + version: 1.20.0 + resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=00b1ff" + dependencies: + is-core-module: ^2.2.0 + path-parse: ^1.0.6 + checksum: bed00be983cd20a8af0e7840664f655c4b269786dbd9595c5f156cd9d8a0050e65cdbbbdafc30ee9b6245b230c78a2c8ab6447a52545b582f476c29adb188cc5 + 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 + +"root-workspace-0b6124@workspace:.": + version: 0.0.0-use.local + resolution: "root-workspace-0b6124@workspace:." + dependencies: + "@commitlint/cli": ^9.0.1 + "@commitlint/config-conventional": ^9.0.1 + "@multiformats/blake2": ^1.0.5 + "@types/jest": ^27.0.1 + "@typescript-eslint/eslint-plugin": ^5.3.0 + "@typescript-eslint/parser": ^5.3.0 + eslint: ^7.5.0 + eslint-config-airbnb-base: 14.2.0 + eslint-config-prettier: ^8.3.0 + eslint-plugin-import: ^2.24.2 + eslint-plugin-jsdoc: ^36.1.0 + eslint-plugin-jsx-a11y: ^6.4.1 + eslint-plugin-license-header: ^0.2.1 + eslint-plugin-prettier: ^4.0.0 + eslint-plugin-tsc: ^2.0.0 + husky: ^7.0.0 + jest: ^27.2.0 + jest-docblock: ^27.0.6 + jest-runner: ^27.2.0 + jest-runner-groups: ^2.1.0 + multiformats: ^9.4.7 + prettier: ^2.0.5 + ts-jest: ^27.0.5 + ts-node: ^9.1.1 + typedoc: ^0.19 + typedoc-plugin-external-module-name: ^4.0.6 + typescript: ^4.2.2 + wait-for-enter: ^1.0.0 + languageName: unknown + linkType: soft + +"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 + languageName: node + linkType: hard + +"rxjs@npm:^7.4.0": + version: 7.4.0 + resolution: "rxjs@npm:7.4.0" + dependencies: + tslib: ~2.1.0 + checksum: 6b33172a760dcad6882fdc836ee8cf1ebe160dd7eaad95c45a12338ffdaa96eb41e48e6c25bbd3d1fdf45075949ff447954bc17a9d01c688558a67967d09c114 + 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 + languageName: node + linkType: hard + +"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 + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.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 + +"schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": + version: 3.1.1 + resolution: "schema-utils@npm:3.1.1" + dependencies: + "@types/json-schema": ^7.0.8 + ajv: ^6.12.5 + ajv-keywords: ^3.5.2 + checksum: fb73f3d759d43ba033c877628fe9751620a26879f6301d3dbeeb48cf2a65baec5cdf99da65d1bf3b4ff5444b2e59cbe4f81c2456b5e0d2ba7d7fd4aed5da29ce + languageName: node + linkType: hard + +"scryptsy@npm:^2.1.0": + version: 2.1.0 + resolution: "scryptsy@npm:2.1.0" + checksum: 46eee33a59895fbdc920da97446572083667512d8408548cc0d5f190eb4b84aa5d75a4bc8d0495530ff6a62d980497c72eb6fe8e6ab9c26aaa3d4dacb7954d08 + 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.3.2": + version: 7.3.2 + resolution: "semver@npm:7.3.2" + bin: + semver: bin/semver.js + checksum: 692f4900dadb43919614b0df9af23fe05743051cda0d1735b5e4d76f93c9e43a266fae73cfc928f5d1489f022c5c0e65dfd2900fcf5b1839c4e9a239729afa7b + languageName: node + linkType: hard + +"semver@npm:7.x, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, 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.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.0": + version: 6.0.0 + resolution: "serialize-javascript@npm:6.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + 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 + +"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 + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 + 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 + +"shelljs@npm:^0.8.4": + version: 0.8.4 + resolution: "shelljs@npm:0.8.4" + dependencies: + glob: ^7.0.0 + interpret: ^1.0.0 + rechoir: ^0.6.2 + bin: + shjs: bin/shjs + checksum: 27f83206ef6a4f5b74a493726c3e6b4c3e07a9c2aac94c5e692d800a61353c18a8234967bd8523b1346abe718beb563843687fb57f466529ba06db3cae6f0bb3 + 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, signal-exit@npm:^3.0.3": + version: 3.0.5 + resolution: "signal-exit@npm:3.0.5" + checksum: a1d3d0d63f581bd298b30ed8f6de21b73a0fe5a0c0f123b2e8ed7168bbff8f4c1a45e681de12a1966a89bb725d8eb727816be1c436e136951f31953e4a201587 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + 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.1.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.0.0": + version: 6.1.0 + resolution: "socks-proxy-agent@npm:6.1.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.1 + socks: ^2.6.1 + checksum: 32ea0d62c848b5c246955e8d6c34832fe6cd8c5f3b66f5ace3a9bd7387bafae3e67d96474d41291723ba7135e2da46d65e008a8a35a793dfa5cb0f4ac05429df + languageName: node + linkType: hard + +"socks@npm:^2.6.1": + version: 2.6.1 + resolution: "socks@npm:2.6.1" + dependencies: + ip: ^1.1.5 + smart-buffer: ^4.1.0 + checksum: 2ca9d616e424f645838ebaabb04f85d94ea999e0f8393dc07f86c435af22ed88cb83958feeabd1bb7bc537c635ed47454255635502c6808a6df61af1f41af750 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": + version: 0.5.20 + resolution: "source-map-support@npm:0.5.20" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43946aff452011960d16154304b11011e0185549493e65dd90da045959409fb2d266ba1c854fff3d5949f8e59382e3fcc7f7c5fa66136007a6750ad06c6c0baa + languageName: node + linkType: hard + +"source-map@npm:0.5.6": + version: 0.5.6 + resolution: "source-map@npm:0.5.6" + checksum: 390b3f5165c9631a74fb6fb55ba61e62a7f9b7d4026ae0e2bfc2899c241d71c1bccb8731c496dc7f7cb79a5f523406eb03d8c5bebe8448ee3fc38168e2d209c8 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0": + 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, source-map@npm:~0.7.2": + 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.10 + resolution: "spdx-license-ids@npm:3.0.10" + checksum: 94fde6f558941f82c737433000e20678eccad448fe5e87cbb98ba1d811a120ddf7fbc4a7a3ebfcd2f49c8c4541ba6537af07750ca5cb54900a064d53f68b888d + languageName: node + linkType: hard + +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: ^3.0.0 + checksum: 8127ddbedd0faf31f232c0e9192fede469913aa8982aa380752e0463b2e31c2359ef6962eb2d24c125bac59eeec76873678d723b1c7ff696216a1cd071e3994a + 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 + +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" + dependencies: + minipass: ^3.1.1 + checksum: bc447f5af814fa9713aa201ec2522208ae0f4d8f3bda7a1f445a797c7b929a02720436ff7c478fb5edc4045adb02b1b88d2341b436a80798734e2494f1067b36 + languageName: node + linkType: hard + +"stack-generator@npm:^1.0.7": + version: 1.1.0 + resolution: "stack-generator@npm:1.1.0" + dependencies: + stackframe: ^1.0.2 + checksum: 93bf3e47300dc15a6323b20e319754c848999c5d9eaec56e91d4d41a722096ec92737db72b93d0d642eae40ae574f6b55db3b7da51595c7ba3d81db0fe96d664 + 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 + +"stackframe@npm:^0.3.1, stackframe@npm:~0.3": + version: 0.3.1 + resolution: "stackframe@npm:0.3.1" + checksum: 510123ec2d9a02dba8153091f0b0c760141ae4ec4be9512e74b83333e39a762380f13d9afcb469fd9ce978bc07fb5181d6f28970a18ae4070bf21d1e4caa4698 + languageName: node + linkType: hard + +"stackframe@npm:^1.0.2": + version: 1.2.0 + resolution: "stackframe@npm:1.2.0" + checksum: 37d659bdd574e118a48c445a9a054a2b8dee6d6ad54eb16c51c7dae622c0f4994b9ff4e47d744aa6cfd14c00b477e145f34db3df78771f3e783ce8f357616d00 + languageName: node + linkType: hard + +"stacktrace-gps@npm:^2.4.3": + version: 2.4.4 + resolution: "stacktrace-gps@npm:2.4.4" + dependencies: + source-map: 0.5.6 + stackframe: ~0.3 + checksum: ff7ddd9c8559846f227ab575b4b6bdf0f0ccf1510935cb3b524a7133cdfc2a9269c9da76960d4b1b1224a79ff440d0d8a8c333fbbf5fde114861c4c0b6ecfd43 + languageName: node + linkType: hard + +"stacktrace-js@npm:1.3.1": + version: 1.3.1 + resolution: "stacktrace-js@npm:1.3.1" + dependencies: + error-stack-parser: ^1.3.6 + stack-generator: ^1.0.7 + stacktrace-gps: ^2.4.3 + checksum: 735875e7c38b04accaf2fab00a0f562bbfe4e5e1c103098ef1f39c1b1c090bd2439ca2d796e9e890a586c2bca092cb39e007488a5d0da2c7d1b5f9d568c7637d + languageName: node + linkType: hard + +"stream-browserify@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: ~2.0.4 + readable-stream: ^3.5.0 + checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 + 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 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, 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.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.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:~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:^6.0.0, 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-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" + 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.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: ^4.0.0 + checksum: 3dda818de06ebbe5b9653e07842d9479f3555ebc77e9a0280caf5a14fb877ffee9ed57007c3b78f5a6324b8dbeec648d9e97a24e2ed9fdb81ddc69ea07100f4a + 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.2.0 + resolution: "supports-hyperlinks@npm:2.2.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a + 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.9": + version: 6.7.3 + resolution: "table@npm:6.7.3" + dependencies: + ajv: ^8.0.1 + lodash.truncate: ^4.4.2 + slice-ansi: ^4.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + checksum: 61d732f51108222d158eca2a91bfaae41c14e0cba6eb04c702ec5a1b136219d4925940d5c4d9aff5720bc4e2385dcbe2ed52dcf37bbbd8b2be48c01c1cf2ed1d + languageName: node + linkType: hard + +"tapable@npm:^2.1.1, tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + +"tar@npm:^6.0.2, 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 + +"terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.1.3": + version: 5.2.5 + resolution: "terser-webpack-plugin@npm:5.2.5" + dependencies: + jest-worker: ^27.0.6 + schema-utils: ^3.1.1 + serialize-javascript: ^6.0.0 + source-map: ^0.6.1 + terser: ^5.7.2 + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: 2a9616466becf2e968bfc0f585678581b5c83a9dd96723c49329b11a8ccc1aaa41701877fbad2b0ce570364fde58c558fb6e7e053171512624e644b99b2f83af + languageName: node + linkType: hard + +"terser@npm:^5.7.2": + version: 5.9.0 + resolution: "terser@npm:5.9.0" + dependencies: + commander: ^2.20.0 + source-map: ~0.7.2 + source-map-support: ~0.5.20 + bin: + terser: bin/terser + checksum: 11c1246b1991015a8881742878af779e3863fad42f626ffda957dbf28c94bf51e7994cffb9ffbec86ff3c23ab45ffa6d79d453c15e664306e35fc7b2c4eee5f4 + 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-extensions@npm:^1.0.0": + version: 1.9.0 + resolution: "text-extensions@npm:1.9.0" + checksum: 56a9962c1b62d39b2bcb369b7558ca85c1b55e554b38dfd725edcc0a1babe5815782a60c17ff6b839093b163dfebb92b804208aaaea616ec7571c8059ae0cf44 + 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 + +"through2@npm:^4.0.0": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: 3 + checksum: ac7430bd54ccb7920fd094b1c7ff3e1ad6edd94202e5528331253e5fde0cc56ceaa690e8df9895de2e073148c52dfbe6c4db74cacae812477a35660090960cc0 + languageName: node + linkType: hard + +"through@npm:>=2.2.7 <3": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + 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 + +"tr46@npm:^2.1.0": + version: 2.1.0 + resolution: "tr46@npm:2.1.0" + dependencies: + punycode: ^2.1.1 + checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 + 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-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:^27.0.5": + version: 27.0.7 + resolution: "ts-jest@npm:27.0.7" + dependencies: + bs-logger: 0.x + fast-json-stable-stringify: 2.x + jest-util: ^27.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: ">=27.0.0 <28" + jest: ^27.0.0 + typescript: ">=3.8 <5.0" + peerDependenciesMeta: + "@babel/core": + optional: true + "@types/jest": + optional: true + babel-jest: + optional: true + bin: + ts-jest: cli.js + checksum: 3711361cb5ae54aac547b00f8ad118ec88333c391af4bff0420497e9faa296eace4e8272c627ecbf4be675af9f68c437e4c2ccc5693c6d744796ec7da6dda131 + languageName: node + linkType: hard + +"ts-node@npm:^8.10.2": + version: 8.10.2 + resolution: "ts-node@npm:8.10.2" + dependencies: + arg: ^4.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + source-map-support: ^0.5.17 + yn: 3.1.1 + peerDependencies: + typescript: ">=2.7" + bin: + ts-node: dist/bin.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 480adb076fdab6dbabd726c6056d651ddc567feda0d3e4770d809c01d000715a0f61f80be0e4a92ef87b7f4a494b79d9595d62de4a3931d740122ae26f0e10d8 + languageName: node + linkType: hard + +"ts-node@npm:^9.1.1": + version: 9.1.1 + resolution: "ts-node@npm:9.1.1" + dependencies: + arg: ^4.1.0 + create-require: ^1.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + source-map-support: ^0.5.17 + yn: 3.1.1 + peerDependencies: + typescript: ">=2.7" + bin: + ts-node: dist/bin.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 356e2647b8b1e6ab00380c0537fa569b63bd9b6f006cc40fd650f81fae1817bd8fecc075300036950d8f45c1d85b95be33cd1e48a1a424a7d86c3dbb42bf60e5 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.11.0": + version: 3.11.0 + resolution: "tsconfig-paths@npm:3.11.0" + dependencies: + "@types/json5": ^0.0.29 + json5: ^1.0.1 + minimist: ^1.2.0 + strip-bom: ^3.0.0 + checksum: e14aaa6883f316d611db41cbb0fc8779b59c66b31d1e045565ad4540c77ccd3d2bb66f7c261b74ff535d3cc6b4a1ce21dc84774bf2a2a603ed6b0fb96f7e0cc7 + languageName: node + linkType: hard + +"tslib@npm:^1.8.1, tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + languageName: node + linkType: hard + +"tslib@npm:^2.0.0": + version: 2.3.1 + resolution: "tslib@npm:2.3.1" + checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 + languageName: node + linkType: hard + +"tslib@npm:~2.1.0": + version: 2.1.0 + resolution: "tslib@npm:2.1.0" + checksum: aa189c8179de0427b0906da30926fd53c59d96ec239dff87d6e6bc831f608df0cbd6f77c61dabc074408bd0aa0b9ae4ec35cb2c15f729e32f37274db5730cb78 + 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 + +"tweetnacl@npm:1.x.x, 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": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: e96dcee18abe50ec82dab6cbc4751b3a82046da54c52e3b2d035b3c519732c0b3dd7a2fa9df24efd1a38d953d8d4813c50985f215f1957ee5e4f26b0fe0da395 + 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.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" + 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 + +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: dae8c64f82c648b985caf321e9dd6e8b7f4f2e2d4f846fc6fd2c8e9dc7769382d8a52369ddbaccd59aeeceb0df7f52fb339c465be5f2e543e81e810e413451ee + languageName: node + linkType: hard + +"type@npm:^2.5.0": + version: 2.5.0 + resolution: "type@npm:2.5.0" + checksum: 0fe1bb4e8ba298b2b245fdc6bca6178887e29e2134d231e468366615b3adffd651d464eb51d8b15f8cfd168577c282a17e19bf80f036a60d4df16308a83a93c4 + 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-default-themes@npm:^0.11.4": + version: 0.11.4 + resolution: "typedoc-default-themes@npm:0.11.4" + checksum: 6ee5e211042440991ff14f737ffe30d98db3b0f6c2e495bc6af7b53a5dec5506c4c4439aa053d851dea206bdeaeb887da17f5d0b8375f02d81f7e3dda32d49c8 + languageName: node + linkType: hard + +"typedoc-plugin-external-module-name@npm:^4.0.6": + version: 4.0.6 + resolution: "typedoc-plugin-external-module-name@npm:4.0.6" + dependencies: + lodash: ^4.1.2 + semver: ^7.1.1 + peerDependencies: + typedoc: ">=0.7.0 <0.20.0" + checksum: 0d52c031a850ce0215dbe0eb8616f732139c51e0fb2e03d39ac9401358e3783827c243ba21517e6f93e1f503919dfaf2084b0a4fadb3306a69439f11e90ec2cc + languageName: node + linkType: hard + +"typedoc@npm:^0.19": + version: 0.19.2 + resolution: "typedoc@npm:0.19.2" + dependencies: + fs-extra: ^9.0.1 + handlebars: ^4.7.6 + highlight.js: ^10.2.0 + lodash: ^4.17.20 + lunr: ^2.3.9 + marked: ^1.1.1 + minimatch: ^3.0.0 + progress: ^2.0.3 + semver: ^7.3.2 + shelljs: ^0.8.4 + typedoc-default-themes: ^0.11.4 + peerDependencies: + typescript: 3.9.x || 4.0.x + bin: + typedoc: bin/typedoc + checksum: aa471537fb341978e98f7eaf5bf20d4f7dbf34ebf4ae290c67be26dad9a4c7778a1658dd2c8c7439a16e0942457a5ca9a438ad279558d23ecef3396a7a57f6a9 + languageName: node + linkType: hard + +"typescript-logging@npm:^0.6.4": + version: 0.6.4 + resolution: "typescript-logging@npm:0.6.4" + dependencies: + stacktrace-js: 1.3.1 + checksum: 883304d1c8e5f57420f9b3d925c72e59bf1e65f248c2586a60eeec19a7ad46de52df5d915f1e53d202e8b6bb3e42be21c696bdf8ab1d392f56dc25f8b3a0e974 + languageName: node + linkType: hard + +"typescript-service@npm:^2.0.3": + version: 2.0.3 + resolution: "typescript-service@npm:2.0.3" + dependencies: + tslib: ^1.9.3 + checksum: 58f9ad5be4aa2a1419129bc829e5547858e87ba1aabb5f9c5504fea9ed17f8601706c795a782ffc99fb97fa82238e761a6a3adedb56786be90e937ebfe050e7b + languageName: node + linkType: hard + +typescript@^4.2.2: + version: 4.4.4 + resolution: "typescript@npm:4.4.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 89ecb8436bb48ef5594d49289f5f89103071716b6e4844278f4fb3362856e31203e187a9c76d205c3f0b674d221a058fd28310dbcbcf5d95e9a57229bb5203f1 + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.2.2#~builtin": + version: 4.4.4 + resolution: "typescript@patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=32657b" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: c97c33903f1eb4f9e178649befdfc859d93157db1eccd1e521e84976ec6861db53412d8018e5e4c5d09268771c65498d42caa64bd881878346c3644f6b7cd202 + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4": + version: 3.14.3 + resolution: "uglify-js@npm:3.14.3" + bin: + uglifyjs: bin/uglifyjs + checksum: eef57b4fec031f687bef46182c33de5eff6bc40fec8d46152f3b92bb044602dd524a04e33ca5f7391f82db969b92ef6aded860f8a4ee5f4bf796d7420b030236 + 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 + +"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.0, universalify@npm:^0.1.2": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + 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 + +"url@npm:^0.11.0": + version: 0.11.0 + resolution: "url@npm:0.11.0" + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + checksum: 50d100d3dd2d98b9fe3ada48cadb0b08aa6be6d3ac64112b867b56b19be4bfcba03c2a9a0d7922bfd7ac17d4834e88537749fe182430dfd9b68e520175900d90 + languageName: node + linkType: hard + +"utf-8-validate@npm:^5.0.2": + version: 5.0.7 + resolution: "utf-8-validate@npm:5.0.7" + dependencies: + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 588d272b359bf555a0c4c2ffe97286edc73126de132f63f4f0c80110bd06b67d3ce44d2b3d24feea6da13ced50c04d774ba4d25fe28576371cd714cd013bd3b7 + 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.4": + 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:^8.1.0": + 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.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^8.1.0": + version: 8.1.0 + resolution: "v8-to-istanbul@npm:8.1.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + source-map: ^0.7.3 + checksum: c7dabf9567e0c210b24d0720e553803cbe1ff81edb1ec7f2080eb4be01ed081a40286cc9f4aaa86d1bf8d57840cefae8fdf326b7cb8faa316ba50c7b948030d4 + 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 + +"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:^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 + +"wait-for-enter@npm:^1.0.0": + version: 1.0.0 + resolution: "wait-for-enter@npm:1.0.0" + checksum: 1e12977a6abe5d8d8e4d523f9f4daafde4f8fc43468e280c9d83ca430606d3b02871d78d2d1255c6899a104bd62c1ae38fae5bd5c11093f1c4bd0de1ffee79cb + languageName: node + linkType: hard + +"walker@npm:^1.0.7": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: 1.0.12 + checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + languageName: node + linkType: hard + +"watchpack@npm:^2.2.0": + version: 2.2.0 + resolution: "watchpack@npm:2.2.0" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: e275f48fae29edee3195c51a8312b609581b9be5ce323d3102ffd082cb124f48d7a393ce05e4110239e4354379e04d78a97ceb26ae367746e7e218bf258135c8 + 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:^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 + +"webpack-cli@npm:^4.5.0": + version: 4.9.1 + resolution: "webpack-cli@npm:4.9.1" + dependencies: + "@discoveryjs/json-ext": ^0.5.0 + "@webpack-cli/configtest": ^1.1.0 + "@webpack-cli/info": ^1.4.0 + "@webpack-cli/serve": ^1.6.0 + colorette: ^2.0.14 + commander: ^7.0.0 + execa: ^5.0.0 + fastest-levenshtein: ^1.0.12 + import-local: ^3.0.2 + interpret: ^2.2.0 + rechoir: ^0.7.0 + webpack-merge: ^5.7.3 + peerDependencies: + webpack: 4.x.x || 5.x.x + peerDependenciesMeta: + "@webpack-cli/generators": + optional: true + "@webpack-cli/migrate": + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + bin: + webpack-cli: bin/cli.js + checksum: 2aff0349c15e54d616e1fd6dc1f59be16ec1a630f652f948c0b4b108776d1889446e3498e83d9d514bf1b28c5125a8b87c4aeb5dceb41b593ba90765af673c4f + languageName: node + linkType: hard + +"webpack-merge@npm:^5.7.3": + version: 5.8.0 + resolution: "webpack-merge@npm:5.8.0" + dependencies: + clone-deep: ^4.0.1 + wildcard: ^2.0.0 + checksum: 88786ab91013f1bd2a683834ff381be81c245a4b0f63304a5103e90f6653f44dab496a0768287f8531761f8ad957d1f9f3ccb2cb55df0de1bd9ee343e079da26 + languageName: node + linkType: hard + +"webpack-sources@npm:^3.2.0": + version: 3.2.1 + resolution: "webpack-sources@npm:3.2.1" + checksum: 438ee4759f70ee2d5ae17a2fc5e66a1f71f0ba8ad9de77edfaf4180c82925f6504790c5a1ddfa2a6d409212cd9e7332a6822d6acabb0f39303bc3b14354872e6 + languageName: node + linkType: hard + +"webpack@npm:^5.27.0": + version: 5.63.0 + resolution: "webpack@npm:5.63.0" + dependencies: + "@types/eslint-scope": ^3.7.0 + "@types/estree": ^0.0.50 + "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/wasm-edit": 1.11.1 + "@webassemblyjs/wasm-parser": 1.11.1 + acorn: ^8.4.1 + acorn-import-assertions: ^1.7.6 + browserslist: ^4.14.5 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.8.3 + es-module-lexer: ^0.9.0 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.4 + json-parse-better-errors: ^1.0.2 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.1.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.1.3 + watchpack: ^2.2.0 + webpack-sources: ^3.2.0 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 8127be3d900d8e57f106f61dc66f8334162d5425d770f46b2110c89057c1607e9be1a20fa37ee53bd6915e3041dc074c5e2aa99665abb18112463b91606946f7 + languageName: node + linkType: hard + +"websocket@npm:^1.0.34": + version: 1.0.34 + resolution: "websocket@npm:1.0.34" + dependencies: + bufferutil: ^4.0.1 + debug: ^2.2.0 + es5-ext: ^0.10.50 + typedarray-to-buffer: ^3.1.5 + utf-8-validate: ^5.0.2 + yaeti: ^0.0.6 + checksum: 8a0ce6d79cc1334bb6ea0d607f0092f3d32700b4dd19e4d5540f2a85f3b50e1f8110da0e4716737056584dde70bbebcb40bbd94bbb437d7468c71abfbfa077d8 + languageName: node + linkType: hard + +"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-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:^8.0.0, whatwg-url@npm:^8.5.0": + version: 8.7.0 + resolution: "whatwg-url@npm:8.7.0" + dependencies: + lodash: ^4.7.0 + tr46: ^2.1.0 + webidl-conversions: ^6.1.0 + checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e + 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:^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.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"wildcard@npm:^2.0.0": + version: 2.0.0 + resolution: "wildcard@npm:2.0.0" + checksum: 1f4fe4c03dfc492777c60f795bbba597ac78794f1b650d68f398fbee9adb765367c516ebd4220889b6a81e9626e7228bbe0d66237abb311573c2ee1f4902a5ad + languageName: node + linkType: hard + +"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" + 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.5.5 + resolution: "ws@npm:7.5.5" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: bd2b437256012af526c69c03d6670a132e7ab0fe5853f3b7092826acea4203fad4ee2a8d0d9bd44834b2b968e747bf34f753ab535f4a3edf40d262da4b1d0805 + 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.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + +"xxhashjs@npm:^0.2.2": + version: 0.2.2 + resolution: "xxhashjs@npm:0.2.2" + dependencies: + cuint: ^0.2.2 + checksum: cf6baf05bafe5651dbf108008bafdb1ebe972f65228633f00b56c49d7a1e614a821fe3345c4eb27462994c7c954d982eae05871be6a48146f30803dd87f3c3b6 + 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" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yaeti@npm:^0.0.6": + version: 0.0.6 + resolution: "yaeti@npm:0.0.6" + checksum: 6db12c152f7c363b80071086a3ebf5032e03332604eeda988872be50d6c8469e1f13316175544fa320f72edad696c2d83843ad0ff370659045c1a68bcecfcfea + 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 + +"yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f + languageName: node + linkType: hard + +"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + 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@npm:^15.1.0": + 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 + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard