From 0a512fa972a11b727748d3191e304d48dce6056d Mon Sep 17 00:00:00 2001 From: Coldin04 Date: Fri, 25 Apr 2025 15:39:24 +0800 Subject: [PATCH] initial commit --- .editorconfig | 9 + .gitattributes | 1 + .gitignore | 30 + .pnp.cjs | 12529 +++++++++++++++++++ .pnp.loader.mjs | 2126 ++++ .prettierrc.json | 6 + .vscode/extensions.json | 8 + .yarn/install-state.gz | Bin 0 -> 363866 bytes README.md | 49 +- env.d.ts | 1 + eslint.config.ts | 22 + index.html | 13 + package.json | 37 + public/favicon.ico | Bin 0 -> 4286 bytes src/App.vue | 85 + src/assets/base.css | 86 + src/assets/logo.svg | 1 + src/assets/main.css | 35 + src/components/HelloWorld.vue | 41 + src/components/TheWelcome.vue | 95 + src/components/WelcomeItem.vue | 87 + src/components/icons/IconCommunity.vue | 7 + src/components/icons/IconDocumentation.vue | 7 + src/components/icons/IconEcosystem.vue | 7 + src/components/icons/IconSupport.vue | 7 + src/components/icons/IconTooling.vue | 19 + src/main.ts | 14 + src/router/index.ts | 23 + src/stores/counter.ts | 12 + src/views/AboutView.vue | 15 + src/views/HomeView.vue | 9 + tsconfig.app.json | 12 + tsconfig.json | 11 + tsconfig.node.json | 19 + vite.config.ts | 18 + yarn.lock | 4084 ++++++ 36 files changed, 19509 insertions(+), 16 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .pnp.cjs create mode 100644 .pnp.loader.mjs create mode 100644 .prettierrc.json create mode 100644 .vscode/extensions.json create mode 100644 .yarn/install-state.gz create mode 100644 env.d.ts create mode 100644 eslint.config.ts create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/assets/base.css create mode 100644 src/assets/logo.svg create mode 100644 src/assets/main.css create mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/TheWelcome.vue create mode 100644 src/components/WelcomeItem.vue create mode 100644 src/components/icons/IconCommunity.vue create mode 100644 src/components/icons/IconDocumentation.vue create mode 100644 src/components/icons/IconEcosystem.vue create mode 100644 src/components/icons/IconSupport.vue create mode 100644 src/components/icons/IconTooling.vue create mode 100644 src/main.ts create mode 100644 src/router/index.ts create mode 100644 src/stores/counter.ts create mode 100644 src/views/AboutView.vue create mode 100644 src/views/HomeView.vue create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5a5809d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +end_of_line = lf +max_line_length = 100 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/.pnp.cjs b/.pnp.cjs new file mode 100644 index 0000000..908eb4c --- /dev/null +++ b/.pnp.cjs @@ -0,0 +1,12529 @@ +#!/usr/bin/env node +/* eslint-disable */ +// @ts-nocheck +"use strict"; + +const RAW_RUNTIME_STATE = +'{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "arithma-battle",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["arithma-battle", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@tsconfig/node22", "npm:22.0.1"],\ + ["@types/node", "npm:22.15.2"],\ + ["@vitejs/plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:5.2.3"],\ + ["@vue/eslint-config-prettier", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.2.0"],\ + ["@vue/eslint-config-typescript", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:14.5.0"],\ + ["@vue/tsconfig", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:0.7.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.0.0"],\ + ["jiti", "npm:2.4.2"],\ + ["npm-run-all2", "npm:7.0.2"],\ + ["pinia", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.0.2"],\ + ["prettier", "npm:3.5.3"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"],\ + ["vite-plugin-vue-devtools", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:7.7.5"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"],\ + ["vue-router", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:4.5.0"],\ + ["vue-tsc", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:2.2.10"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@ampproject/remapping", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-10c0.zip/node_modules/@ampproject/remapping/",\ + "packageDependencies": [\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@antfu/utils", [\ + ["npm:0.7.10", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@antfu-utils-npm-0.7.10-dec7cd882d-10c0.zip/node_modules/@antfu/utils/",\ + "packageDependencies": [\ + ["@antfu/utils", "npm:0.7.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/code-frame", [\ + ["npm:7.26.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-code-frame-npm-7.26.2-4902b56813-10c0.zip/node_modules/@babel/code-frame/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["js-tokens", "npm:4.0.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/compat-data", [\ + ["npm:7.26.8", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-compat-data-npm-7.26.8-fb802c4940-10c0.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.26.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/core", [\ + ["npm:7.26.10", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-core-npm-7.26.10-0b29e369b5-10c0.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.26.10"],\ + ["@ampproject/remapping", "npm:2.3.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/helpers", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["convert-source-map", "npm:2.0.0"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/generator", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-generator-npm-7.27.0-47f3db45ce-10c0.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-annotate-as-pure", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-annotate-as-pure-npm-7.25.9-a0f89e14a0-10c0.zip/node_modules/@babel/helper-annotate-as-pure/",\ + "packageDependencies": [\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-compilation-targets", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-compilation-targets-npm-7.27.0-a682051943-10c0.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "npm:7.27.0"],\ + ["@babel/compat-data", "npm:7.26.8"],\ + ["@babel/helper-validator-option", "npm:7.25.9"],\ + ["browserslist", "npm:4.24.4"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-class-features-plugin", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-create-class-features-plugin-npm-7.27.0-a8d4461e5d-10c0.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-77e4a7591c/5/AppData/Local/Yarn/Berry/cache/@babel-helper-create-class-features-plugin-npm-7.27.0-a8d4461e5d-10c0.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/helper-replace-supers", "virtual:77e4a7591c2b3fe07a410bd2eed77a5fb5ed6980b648d98527201a93cda2b151a0a2847e456b686dbd775def22b1fcb73d46d537c642612e854e30752a933950#npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-member-expression-to-functions", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-member-expression-to-functions-npm-7.25.9-761e6fec27-10c0.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-imports", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-10c0.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-transforms", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10c0.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-module-transforms-virtual-60af4713da/5/AppData/Local/Yarn/Berry/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-10c0.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "virtual:0b29e369b5cabceb66f4f9f7eb2bfea5004820a7141f28569a8c55dbecef082f3ef9191fa4288e8f13bbcfed9896b6f90431a16a9ce18c31d8a25782f02d5f09#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-optimise-call-expression", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-optimise-call-expression-npm-7.25.9-d8006fbada-10c0.zip/node_modules/@babel/helper-optimise-call-expression/",\ + "packageDependencies": [\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-plugin-utils", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-plugin-utils-npm-7.26.5-f9c17c9880-10c0.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-replace-supers", [\ + ["npm:7.26.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10c0.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.26.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:77e4a7591c2b3fe07a410bd2eed77a5fb5ed6980b648d98527201a93cda2b151a0a2847e456b686dbd775def22b1fcb73d46d537c642612e854e30752a933950#npm:7.26.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-replace-supers-virtual-5273c84a2f/5/AppData/Local/Yarn/Berry/cache/@babel-helper-replace-supers-npm-7.26.5-4b002f04c0-10c0.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "virtual:77e4a7591c2b3fe07a410bd2eed77a5fb5ed6980b648d98527201a93cda2b151a0a2847e456b686dbd775def22b1fcb73d46d537c642612e854e30752a933950#npm:7.26.5"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.25.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-skip-transparent-expression-wrappers", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.25.9-215072fae0-10c0.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ + "packageDependencies": [\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-10c0.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-option", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-10c0.zip/node_modules/@babel/helper-validator-option/",\ + "packageDependencies": [\ + ["@babel/helper-validator-option", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helpers", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-helpers-npm-7.27.0-661e2983d3-10c0.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-parser-npm-7.27.0-ab7dea7b75-10c0.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-decorators", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-proposal-decorators-npm-7.25.9-5f30995d50-10c0.zip/node_modules/@babel/plugin-proposal-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-decorators", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-decorators-virtual-d3dac786d7/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-proposal-decorators-npm-7.25.9-5f30995d50-10c0.zip/node_modules/@babel/plugin-proposal-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-decorators", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-create-class-features-plugin", "virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/plugin-syntax-decorators", "virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-decorators", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-decorators-npm-7.25.9-2b13eb2692-10c0.zip/node_modules/@babel/plugin-syntax-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-decorators", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-decorators-virtual-44460a3915/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-decorators-npm-7.25.9-2b13eb2692-10c0.zip/node_modules/@babel/plugin-syntax-decorators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-decorators", "virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-attributes", [\ + ["npm:7.26.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10c0.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "npm:7.26.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.26.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-attributes-virtual-459f87125e/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-10c0.zip/node_modules/@babel/plugin-syntax-import-attributes/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-attributes", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.26.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-meta", [\ + ["npm:7.10.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10c0.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-meta-virtual-f80179a0a4/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-10c0.zip/node_modules/@babel/plugin-syntax-import-meta/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-meta", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.10.4"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-jsx", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10c0.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-6dfd162ddc/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-jsx-npm-7.25.9-3df022f433-10c0.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-typescript", [\ + ["npm:7.25.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10c0.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "npm:7.25.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2dd8ee8c06eaa2bae1f0018852473781c431b3b6adecb35c34d59771a9c4340353024adcd818c072de47cc6f64e3a6ff28b89b3447035093ace6b62995e6b6cc#npm:7.25.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-3f00c33966/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-syntax-typescript-npm-7.25.9-5201e4ba77-10c0.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "virtual:2dd8ee8c06eaa2bae1f0018852473781c431b3b6adecb35c34d59771a9c4340353024adcd818c072de47cc6f64e3a6ff28b89b3447035093ace6b62995e6b6cc#npm:7.25.9"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typescript", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-plugin-transform-typescript-npm-7.27.0-c22c778815-10c0.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "npm:7.27.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.27.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-2dd8ee8c06/5/AppData/Local/Yarn/Berry/cache/@babel-plugin-transform-typescript-npm-7.27.0-c22c778815-10c0.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.27.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-annotate-as-pure", "npm:7.25.9"],\ + ["@babel/helper-create-class-features-plugin", "virtual:d3dac786d76d2dff88a2d16e467bcc99bb12a466ef1ef8f1d059a40eb5793dc68e17f1b8bcc3b2600674dcde90a4b2e8112e453e5dab5ecb7dbdea8a2408780a#npm:7.27.0"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.25.9"],\ + ["@babel/plugin-syntax-typescript", "virtual:2dd8ee8c06eaa2bae1f0018852473781c431b3b6adecb35c34d59771a9c4340353024adcd818c072de47cc6f64e3a6ff28b89b3447035093ace6b62995e6b6cc#npm:7.25.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/template", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-template-npm-7.27.0-941c698259-10c0.zip/node_modules/@babel/template/",\ + "packageDependencies": [\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/traverse", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-traverse-npm-7.27.0-e376c6d256-10c0.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/generator", "npm:7.27.0"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.27.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@babel-types-npm-7.27.0-4fc27759e5-10c0.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.27.0"],\ + ["@babel/helper-string-parser", "npm:7.25.9"],\ + ["@babel/helper-validator-identifier", "npm:7.25.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/aix-ppc64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.25.3-596e62304d/node_modules/@esbuild/aix-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/aix-ppc64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.25.3-1edd327347/node_modules/@esbuild/android-arm/",\ + "packageDependencies": [\ + ["@esbuild/android-arm", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.25.3-e62e1b8bf2/node_modules/@esbuild/android-arm64/",\ + "packageDependencies": [\ + ["@esbuild/android-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.25.3-215146c9d8/node_modules/@esbuild/android-x64/",\ + "packageDependencies": [\ + ["@esbuild/android-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.25.3-65512e4c2c/node_modules/@esbuild/darwin-arm64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.25.3-7fe42d660a/node_modules/@esbuild/darwin-x64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.25.3-201a7f1914/node_modules/@esbuild/freebsd-arm64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.25.3-20f9afe61b/node_modules/@esbuild/freebsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.25.3-819ac896a1/node_modules/@esbuild/linux-arm/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.25.3-b85754cade/node_modules/@esbuild/linux-arm64/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ia32", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.25.3-a86d5d30e1/node_modules/@esbuild/linux-ia32/",\ + "packageDependencies": [\ + ["@esbuild/linux-ia32", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-loong64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.25.3-358c6e9517/node_modules/@esbuild/linux-loong64/",\ + "packageDependencies": [\ + ["@esbuild/linux-loong64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-mips64el", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.25.3-9c62f87885/node_modules/@esbuild/linux-mips64el/",\ + "packageDependencies": [\ + ["@esbuild/linux-mips64el", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ppc64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.25.3-123e21978d/node_modules/@esbuild/linux-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/linux-ppc64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-riscv64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.25.3-e0437d53c4/node_modules/@esbuild/linux-riscv64/",\ + "packageDependencies": [\ + ["@esbuild/linux-riscv64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-s390x", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.25.3-96fce36e3a/node_modules/@esbuild/linux-s390x/",\ + "packageDependencies": [\ + ["@esbuild/linux-s390x", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.25.3-b4040fadc2/node_modules/@esbuild/linux-x64/",\ + "packageDependencies": [\ + ["@esbuild/linux-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/netbsd-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-arm64-npm-0.25.3-84629ad006/node_modules/@esbuild/netbsd-arm64/",\ + "packageDependencies": [\ + ["@esbuild/netbsd-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/netbsd-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.25.3-ca902eeb62/node_modules/@esbuild/netbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/netbsd-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/openbsd-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-arm64-npm-0.25.3-c6c2fe7f15/node_modules/@esbuild/openbsd-arm64/",\ + "packageDependencies": [\ + ["@esbuild/openbsd-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/openbsd-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.25.3-0636136891/node_modules/@esbuild/openbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/openbsd-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/sunos-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.25.3-0dea95bc52/node_modules/@esbuild/sunos-x64/",\ + "packageDependencies": [\ + ["@esbuild/sunos-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-arm64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.25.3-4d19e5306f/node_modules/@esbuild/win32-arm64/",\ + "packageDependencies": [\ + ["@esbuild/win32-arm64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-ia32", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.25.3-75e6c07e3a/node_modules/@esbuild/win32-ia32/",\ + "packageDependencies": [\ + ["@esbuild/win32-ia32", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-x64", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.25.3-7a2812850f/node_modules/@esbuild/win32-x64/",\ + "packageDependencies": [\ + ["@esbuild/win32-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.6.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-community-eslint-utils-npm-4.6.1-c213980841-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.6.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:4.6.1", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-b27cc23c58/5/AppData/Local/Yarn/Berry/cache/@eslint-community-eslint-utils-npm-4.6.1-c213980841-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.12.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-10c0.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.12.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/config-array", [\ + ["npm:0.20.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-config-array-npm-0.20.0-f71b19056c-10c0.zip/node_modules/@eslint/config-array/",\ + "packageDependencies": [\ + ["@eslint/config-array", "npm:0.20.0"],\ + ["@eslint/object-schema", "npm:2.1.6"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/config-helpers", [\ + ["npm:0.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-config-helpers-npm-0.2.1-fb7508162a-10c0.zip/node_modules/@eslint/config-helpers/",\ + "packageDependencies": [\ + ["@eslint/config-helpers", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/core", [\ + ["npm:0.13.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-core-npm-0.13.0-53447b33b9-10c0.zip/node_modules/@eslint/core/",\ + "packageDependencies": [\ + ["@eslint/core", "npm:0.13.0"],\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-eslintrc-npm-3.3.1-c3967fc0c3-10c0.zip/node_modules/@eslint/eslintrc/",\ + "packageDependencies": [\ + ["@eslint/eslintrc", "npm:3.3.1"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["espree", "npm:10.3.0"],\ + ["globals", "npm:14.0.0"],\ + ["ignore", "npm:5.3.2"],\ + ["import-fresh", "npm:3.3.1"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:9.25.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-js-npm-9.25.1-6002ce1a0f-10c0.zip/node_modules/@eslint/js/",\ + "packageDependencies": [\ + ["@eslint/js", "npm:9.25.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/object-schema", [\ + ["npm:2.1.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-object-schema-npm-2.1.6-a777ee59e8-10c0.zip/node_modules/@eslint/object-schema/",\ + "packageDependencies": [\ + ["@eslint/object-schema", "npm:2.1.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/plugin-kit", [\ + ["npm:0.2.8", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@eslint-plugin-kit-npm-0.2.8-b9d7e2ad65-10c0.zip/node_modules/@eslint/plugin-kit/",\ + "packageDependencies": [\ + ["@eslint/plugin-kit", "npm:0.2.8"],\ + ["@eslint/core", "npm:0.13.0"],\ + ["levn", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanfs/core", [\ + ["npm:0.19.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-10c0.zip/node_modules/@humanfs/core/",\ + "packageDependencies": [\ + ["@humanfs/core", "npm:0.19.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanfs/node", [\ + ["npm:0.16.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@humanfs-node-npm-0.16.6-6ee2cad587-10c0.zip/node_modules/@humanfs/node/",\ + "packageDependencies": [\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanfs/core", "npm:0.19.1"],\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageDependencies": [\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/retry", [\ + ["npm:0.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-10c0.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.4.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@humanwhocodes-retry-npm-0.4.2-78a05c1b69-10c0.zip/node_modules/@humanwhocodes/retry/",\ + "packageDependencies": [\ + ["@humanwhocodes/retry", "npm:0.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/fs-minipass", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-10c0.zip/node_modules/@isaacs/fs-minipass/",\ + "packageDependencies": [\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.3.8", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.8"],\ + ["@jridgewell/set-array", "npm:1.2.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.25"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/resolve-uri", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@jridgewell-set-array-npm-1.2.1-2312928209-10c0.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.5.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.25", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.25"],\ + ["@jridgewell/resolve-uri", "npm:3.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.19.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@npmcli-agent-npm-3.0.0-169e79294f-10c0.zip/node_modules/@npmcli/agent/",\ + "packageDependencies": [\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["agent-base", "npm:7.1.3"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["lru-cache", "npm:10.4.3"],\ + ["socks-proxy-agent", "npm:8.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-10c0.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgr/core", [\ + ["npm:0.2.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@pkgr-core-npm-0.2.4-0f9791d1c8-10c0.zip/node_modules/@pkgr/core/",\ + "packageDependencies": [\ + ["@pkgr/core", "npm:0.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@polka/url", [\ + ["npm:1.0.0-next.29", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@polka-url-npm-1.0.0-next.29-b32b372106-10c0.zip/node_modules/@polka/url/",\ + "packageDependencies": [\ + ["@polka/url", "npm:1.0.0-next.29"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/pluginutils", [\ + ["npm:5.1.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-10c0.zip/node_modules/@rollup/pluginutils/",\ + "packageDependencies": [\ + ["@rollup/pluginutils", "npm:5.1.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d92d7baaf6e18522e91277fb431de521279b1657802a5dc52908cf9b63075f6b8a48a6c9bf4d4bec4b44e5853a29ab4da7564df6cce25a3e23a98467a4b97d47#npm:5.1.4", {\ + "packageLocation": "./.yarn/__virtual__/@rollup-pluginutils-virtual-11c1929f19/5/AppData/Local/Yarn/Berry/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-10c0.zip/node_modules/@rollup/pluginutils/",\ + "packageDependencies": [\ + ["@rollup/pluginutils", "virtual:d92d7baaf6e18522e91277fb431de521279b1657802a5dc52908cf9b63075f6b8a48a6c9bf4d4bec4b44e5853a29ab4da7564df6cce25a3e23a98467a4b97d47#npm:5.1.4"],\ + ["@types/estree", "npm:1.0.7"],\ + ["@types/rollup", null],\ + ["estree-walker", "npm:2.0.2"],\ + ["picomatch", "npm:4.0.2"],\ + ["rollup", null]\ + ],\ + "packagePeers": [\ + "@types/rollup",\ + "rollup"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm-eabi", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.40.0-d822271620/node_modules/@rollup/rollup-android-arm-eabi/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm-eabi", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm64", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.40.0-76facbc1df/node_modules/@rollup/rollup-android-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm64", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-arm64", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.40.0-ecf87e5237/node_modules/@rollup/rollup-darwin-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-arm64", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-x64", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.40.0-ce74926f0f/node_modules/@rollup/rollup-darwin-x64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-x64", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-freebsd-arm64", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-freebsd-arm64-npm-4.40.0-bed1584992/node_modules/@rollup/rollup-freebsd-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-freebsd-arm64", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-freebsd-x64", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-freebsd-x64-npm-4.40.0-f49a7d7d89/node_modules/@rollup/rollup-freebsd-x64/",\ + "packageDependencies": [\ + ["@rollup/rollup-freebsd-x64", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm-gnueabihf", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.40.0-064e3d123b/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm-musleabihf", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-musleabihf-npm-4.40.0-00a60b119b/node_modules/@rollup/rollup-linux-arm-musleabihf/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm-musleabihf", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.40.0-5c086b8fa9/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-musl", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.40.0-850a782d25/node_modules/@rollup/rollup-linux-arm64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-loongarch64-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-loongarch64-gnu-npm-4.40.0-3b263a0fca/node_modules/@rollup/rollup-linux-loongarch64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-loongarch64-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-powerpc64le-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-powerpc64le-gnu-npm-4.40.0-5a2f5dc3ed/node_modules/@rollup/rollup-linux-powerpc64le-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-riscv64-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.40.0-b96bd85749/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-riscv64-musl", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-musl-npm-4.40.0-f2cbe491f4/node_modules/@rollup/rollup-linux-riscv64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-riscv64-musl", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-s390x-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-s390x-gnu-npm-4.40.0-4bf492372f/node_modules/@rollup/rollup-linux-s390x-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-s390x-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-gnu", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.40.0-d8de197c1c/node_modules/@rollup/rollup-linux-x64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-musl", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.40.0-bcc4df5cfd/node_modules/@rollup/rollup-linux-x64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-musl", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-arm64-msvc", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.40.0-abb4d0ab4b/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-ia32-msvc", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.40.0-0633021599/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-x64-msvc", [\ + ["npm:4.40.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.40.0-0261999477/node_modules/@rollup/rollup-win32-x64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.40.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sec-ant/readable-stream", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@sec-ant-readable-stream-npm-0.4.1-12d52145e0-10c0.zip/node_modules/@sec-ant/readable-stream/",\ + "packageDependencies": [\ + ["@sec-ant/readable-stream", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sindresorhus/merge-streams", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@sindresorhus-merge-streams-npm-4.0.0-28e7c03ac1-10c0.zip/node_modules/@sindresorhus/merge-streams/",\ + "packageDependencies": [\ + ["@sindresorhus/merge-streams", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node22", [\ + ["npm:22.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@tsconfig-node22-npm-22.0.1-c766fe388f-10c0.zip/node_modules/@tsconfig/node22/",\ + "packageDependencies": [\ + ["@tsconfig/node22", "npm:22.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:1.0.7", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@types-estree-npm-1.0.7-692605611f-10c0.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.15", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:22.15.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@types-node-npm-22.15.2-8c5ac561a4-10c0.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:22.15.2"],\ + ["undici-types", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-eslint-plugin-npm-8.31.0-bde6945293-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-3d9c17341e/5/AppData/Local/Yarn/Berry/cache/@typescript-eslint-eslint-plugin-npm-8.31.0-bde6945293-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0"],\ + ["@typescript-eslint/scope-manager", "npm:8.31.0"],\ + ["@typescript-eslint/type-utils", "virtual:3d9c17341ee1ce3486f249440bacd842e7addc7840d7cb23c0ee8c408c091b2ee2787df33fa6298120ec52287f95196576e0b0384c15e76032d0e2c5d480b3ed#npm:8.31.0"],\ + ["@typescript-eslint/utils", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.31.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["ts-api-utils", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/parser", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-parser-npm-8.31.0-2d729f2620-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-e488c3ee68/5/AppData/Local/Yarn/Berry/cache/@typescript-eslint-parser-npm-8.31.0-2d729f2620-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.31.0"],\ + ["@typescript-eslint/types", "npm:8.31.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:8.31.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.31.0"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/scope-manager", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-scope-manager-npm-8.31.0-d09ab710fa-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:8.31.0"],\ + ["@typescript-eslint/types", "npm:8.31.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.31.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-type-utils-npm-8.31.0-4f5bb0fadb-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3d9c17341ee1ce3486f249440bacd842e7addc7840d7cb23c0ee8c408c091b2ee2787df33fa6298120ec52287f95196576e0b0384c15e76032d0e2c5d480b3ed#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-faaa224bab/5/AppData/Local/Yarn/Berry/cache/@typescript-eslint-type-utils-npm-8.31.0-4f5bb0fadb-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:3d9c17341ee1ce3486f249440bacd842e7addc7840d7cb23c0ee8c408c091b2ee2787df33fa6298120ec52287f95196576e0b0384c15e76032d0e2c5d480b3ed#npm:8.31.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:8.31.0"],\ + ["@typescript-eslint/utils", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["ts-api-utils", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/types", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-types-npm-8.31.0-c2b9b94c80-10c0.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:8.31.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/typescript-estree", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-typescript-estree-npm-8.31.0-9ede3af6ce-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-4cc171bb79/5/AppData/Local/Yarn/Berry/cache/@typescript-eslint-typescript-estree-npm-8.31.0-9ede3af6ce-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:8.31.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:8.31.0"],\ + ["@typescript-eslint/visitor-keys", "npm:8.31.0"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["semver", "npm:7.7.1"],\ + ["ts-api-utils", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:2.1.0"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/utils", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-utils-npm-8.31.0-ae33fa65ee-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-3f830ff1fb/5/AppData/Local/Yarn/Berry/cache/@typescript-eslint-utils-npm-8.31.0-ae33fa65ee-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["@eslint-community/eslint-utils", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:8.31.0"],\ + ["@typescript-eslint/types", "npm:8.31.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:8.31.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/visitor-keys", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@typescript-eslint-visitor-keys-npm-8.31.0-9216727f4a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:8.31.0"],\ + ["@typescript-eslint/types", "npm:8.31.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitejs/plugin-vue", [\ + ["npm:5.2.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vitejs-plugin-vue-npm-5.2.3-cdfec94325-10c0.zip/node_modules/@vitejs/plugin-vue/",\ + "packageDependencies": [\ + ["@vitejs/plugin-vue", "npm:5.2.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:5.2.3", {\ + "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-c98c908235/5/AppData/Local/Yarn/Berry/cache/@vitejs-plugin-vue-npm-5.2.3-cdfec94325-10c0.zip/node_modules/@vitejs/plugin-vue/",\ + "packageDependencies": [\ + ["@vitejs/plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:5.2.3"],\ + ["@types/vite", null],\ + ["@types/vue", null],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "@types/vue",\ + "vite",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/language-core", [\ + ["npm:2.4.12", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@volar-language-core-npm-2.4.12-393e12c4b0-10c0.zip/node_modules/@volar/language-core/",\ + "packageDependencies": [\ + ["@volar/language-core", "npm:2.4.12"],\ + ["@volar/source-map", "npm:2.4.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/source-map", [\ + ["npm:2.4.12", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@volar-source-map-npm-2.4.12-5c53f63c93-10c0.zip/node_modules/@volar/source-map/",\ + "packageDependencies": [\ + ["@volar/source-map", "npm:2.4.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/typescript", [\ + ["npm:2.4.12", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@volar-typescript-npm-2.4.12-5e21def6a7-10c0.zip/node_modules/@volar/typescript/",\ + "packageDependencies": [\ + ["@volar/typescript", "npm:2.4.12"],\ + ["@volar/language-core", "npm:2.4.12"],\ + ["path-browserify", "npm:1.0.1"],\ + ["vscode-uri", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/babel-helper-vue-transform-on", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-babel-helper-vue-transform-on-npm-1.4.0-1897b5e359-10c0.zip/node_modules/@vue/babel-helper-vue-transform-on/",\ + "packageDependencies": [\ + ["@vue/babel-helper-vue-transform-on", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/babel-plugin-jsx", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-babel-plugin-jsx-npm-1.4.0-a25dcd06f0-10c0.zip/node_modules/@vue/babel-plugin-jsx/",\ + "packageDependencies": [\ + ["@vue/babel-plugin-jsx", "npm:1.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:1.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-babel-plugin-jsx-virtual-d14e35dd40/5/AppData/Local/Yarn/Berry/cache/@vue-babel-plugin-jsx-npm-1.4.0-a25dcd06f0-10c0.zip/node_modules/@vue/babel-plugin-jsx/",\ + "packageDependencies": [\ + ["@vue/babel-plugin-jsx", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:1.4.0"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/plugin-syntax-jsx", "virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:7.25.9"],\ + ["@babel/template", "npm:7.27.0"],\ + ["@babel/traverse", "npm:7.27.0"],\ + ["@babel/types", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["@vue/babel-helper-vue-transform-on", "npm:1.4.0"],\ + ["@vue/babel-plugin-resolve-type", "virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:1.4.0"],\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/babel-plugin-resolve-type", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-babel-plugin-resolve-type-npm-1.4.0-fa14df990a-10c0.zip/node_modules/@vue/babel-plugin-resolve-type/",\ + "packageDependencies": [\ + ["@vue/babel-plugin-resolve-type", "npm:1.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:1.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-babel-plugin-resolve-type-virtual-3749e9eb39/5/AppData/Local/Yarn/Berry/cache/@vue-babel-plugin-resolve-type-npm-1.4.0-fa14df990a-10c0.zip/node_modules/@vue/babel-plugin-resolve-type/",\ + "packageDependencies": [\ + ["@vue/babel-plugin-resolve-type", "virtual:d14e35dd4088b0ca4fab080d612c30a2d66ea18bc860854812bfc4e5211738d276d4e0cbc0484ad9d984a5009be2f1d79a16cecaef1a117a714d0f678bf5b5ae#npm:1.4.0"],\ + ["@babel/code-frame", "npm:7.26.2"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/helper-module-imports", "npm:7.25.9"],\ + ["@babel/helper-plugin-utils", "npm:7.26.5"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@types/babel__core", null],\ + ["@vue/compiler-sfc", "npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-core", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-compiler-core-npm-3.5.13-b0c91e9970-10c0.zip/node_modules/@vue/compiler-core/",\ + "packageDependencies": [\ + ["@vue/compiler-core", "npm:3.5.13"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["entities", "npm:4.5.0"],\ + ["estree-walker", "npm:2.0.2"],\ + ["source-map-js", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-dom", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-compiler-dom-npm-3.5.13-8785a9ba19-10c0.zip/node_modules/@vue/compiler-dom/",\ + "packageDependencies": [\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["@vue/compiler-core", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-sfc", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-compiler-sfc-npm-3.5.13-3213a0466e-10c0.zip/node_modules/@vue/compiler-sfc/",\ + "packageDependencies": [\ + ["@vue/compiler-sfc", "npm:3.5.13"],\ + ["@babel/parser", "npm:7.27.0"],\ + ["@vue/compiler-core", "npm:3.5.13"],\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["@vue/compiler-ssr", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["estree-walker", "npm:2.0.2"],\ + ["magic-string", "npm:0.30.17"],\ + ["postcss", "npm:8.5.3"],\ + ["source-map-js", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-ssr", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-compiler-ssr-npm-3.5.13-e1cdeef007-10c0.zip/node_modules/@vue/compiler-ssr/",\ + "packageDependencies": [\ + ["@vue/compiler-ssr", "npm:3.5.13"],\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-vue2", [\ + ["npm:2.7.16", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-compiler-vue2-npm-2.7.16-ac462b66cc-10c0.zip/node_modules/@vue/compiler-vue2/",\ + "packageDependencies": [\ + ["@vue/compiler-vue2", "npm:2.7.16"],\ + ["de-indent", "npm:1.0.2"],\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/devtools-api", [\ + ["npm:6.6.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-devtools-api-npm-6.6.4-495c1fc100-10c0.zip/node_modules/@vue/devtools-api/",\ + "packageDependencies": [\ + ["@vue/devtools-api", "npm:6.6.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.7.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-devtools-api-npm-7.7.5-8019396684-10c0.zip/node_modules/@vue/devtools-api/",\ + "packageDependencies": [\ + ["@vue/devtools-api", "npm:7.7.5"],\ + ["@vue/devtools-kit", "npm:7.7.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/devtools-core", [\ + ["npm:7.7.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-devtools-core-npm-7.7.5-5c9d3f65ba-10c0.zip/node_modules/@vue/devtools-core/",\ + "packageDependencies": [\ + ["@vue/devtools-core", "npm:7.7.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:7.7.5", {\ + "packageLocation": "./.yarn/__virtual__/@vue-devtools-core-virtual-193c325efb/5/AppData/Local/Yarn/Berry/cache/@vue-devtools-core-npm-7.7.5-5c9d3f65ba-10c0.zip/node_modules/@vue/devtools-core/",\ + "packageDependencies": [\ + ["@vue/devtools-core", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:7.7.5"],\ + ["@types/vue", null],\ + ["@vue/devtools-kit", "npm:7.7.5"],\ + ["@vue/devtools-shared", "npm:7.7.5"],\ + ["mitt", "npm:3.0.1"],\ + ["nanoid", "npm:5.1.5"],\ + ["pathe", "npm:2.0.3"],\ + ["vite-hot-client", "virtual:193c325efb049d67b870a05128bf1610f6cbf631f2af555a3d8c2bcb67f99715ff3938c8c33ecd96f7b20f19e6c3d5ca1bbe1db7b56a3e3530e67a360cee9324#npm:2.0.4"],\ + ["vue", null]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/devtools-kit", [\ + ["npm:7.7.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-devtools-kit-npm-7.7.5-8fed67c1fd-10c0.zip/node_modules/@vue/devtools-kit/",\ + "packageDependencies": [\ + ["@vue/devtools-kit", "npm:7.7.5"],\ + ["@vue/devtools-shared", "npm:7.7.5"],\ + ["birpc", "npm:2.3.0"],\ + ["hookable", "npm:5.5.3"],\ + ["mitt", "npm:3.0.1"],\ + ["perfect-debounce", "npm:1.0.0"],\ + ["speakingurl", "npm:14.0.1"],\ + ["superjson", "npm:2.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/devtools-shared", [\ + ["npm:7.7.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-devtools-shared-npm-7.7.5-5ff81341ab-10c0.zip/node_modules/@vue/devtools-shared/",\ + "packageDependencies": [\ + ["@vue/devtools-shared", "npm:7.7.5"],\ + ["rfdc", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/eslint-config-prettier", [\ + ["npm:10.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-eslint-config-prettier-npm-10.2.0-f0abf24dbb-10c0.zip/node_modules/@vue/eslint-config-prettier/",\ + "packageDependencies": [\ + ["@vue/eslint-config-prettier", "npm:10.2.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.2.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-eslint-config-prettier-virtual-18d92766d5/5/AppData/Local/Yarn/Berry/cache/@vue-eslint-config-prettier-npm-10.2.0-f0abf24dbb-10c0.zip/node_modules/@vue/eslint-config-prettier/",\ + "packageDependencies": [\ + ["@vue/eslint-config-prettier", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.2.0"],\ + ["@types/eslint", null],\ + ["@types/prettier", null],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-config-prettier", "virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:10.1.2"],\ + ["eslint-plugin-prettier", "virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:5.2.6"],\ + ["prettier", "npm:3.5.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/prettier",\ + "eslint",\ + "prettier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/eslint-config-typescript", [\ + ["npm:14.5.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-eslint-config-typescript-npm-14.5.0-1f30c6e854-10c0.zip/node_modules/@vue/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@vue/eslint-config-typescript", "npm:14.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:14.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-eslint-config-typescript-virtual-e9c4202a58/5/AppData/Local/Yarn/Berry/cache/@vue-eslint-config-typescript-npm-14.5.0-1f30c6e854-10c0.zip/node_modules/@vue/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@vue/eslint-config-typescript", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:14.5.0"],\ + ["@types/eslint", null],\ + ["@types/eslint-plugin-vue", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/utils", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.0.0"],\ + ["fast-glob", "npm:3.3.3"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"],\ + ["typescript-eslint", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["vue-eslint-parser", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:10.1.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint-plugin-vue",\ + "@types/eslint",\ + "@types/typescript",\ + "eslint-plugin-vue",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/language-core", [\ + ["npm:2.2.10", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-language-core-npm-2.2.10-da5d99bc9c-10c0.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "npm:2.2.10"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e47080194554533e636eadbe5253000ef8765b02a3f48300699e6f3787a9aec5f15ab30099d019cc69d85a271c0df9292861266b00a437bb7a34d1ba85294d63#npm:2.2.10", {\ + "packageLocation": "./.yarn/__virtual__/@vue-language-core-virtual-ae45002642/5/AppData/Local/Yarn/Berry/cache/@vue-language-core-npm-2.2.10-da5d99bc9c-10c0.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "virtual:e47080194554533e636eadbe5253000ef8765b02a3f48300699e6f3787a9aec5f15ab30099d019cc69d85a271c0df9292861266b00a437bb7a34d1ba85294d63#npm:2.2.10"],\ + ["@types/typescript", null],\ + ["@volar/language-core", "npm:2.4.12"],\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["@vue/compiler-vue2", "npm:2.7.16"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["alien-signals", "npm:1.0.13"],\ + ["minimatch", "npm:9.0.5"],\ + ["muggle-string", "npm:0.4.1"],\ + ["path-browserify", "npm:1.0.1"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/reactivity", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-reactivity-npm-3.5.13-7bf539a4bd-10c0.zip/node_modules/@vue/reactivity/",\ + "packageDependencies": [\ + ["@vue/reactivity", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/runtime-core", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-runtime-core-npm-3.5.13-6c90bdb869-10c0.zip/node_modules/@vue/runtime-core/",\ + "packageDependencies": [\ + ["@vue/runtime-core", "npm:3.5.13"],\ + ["@vue/reactivity", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/runtime-dom", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-runtime-dom-npm-3.5.13-d22a720eb3-10c0.zip/node_modules/@vue/runtime-dom/",\ + "packageDependencies": [\ + ["@vue/runtime-dom", "npm:3.5.13"],\ + ["@vue/reactivity", "npm:3.5.13"],\ + ["@vue/runtime-core", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["csstype", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/server-renderer", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-server-renderer-npm-3.5.13-d23f3ccee8-10c0.zip/node_modules/@vue/server-renderer/",\ + "packageDependencies": [\ + ["@vue/server-renderer", "npm:3.5.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:699aeab08802f14e02d53e0ef3c98f682f7f5f512588ba9371472c64aad4f86c4256758b661283477c7306a5acf7a55e1a4a348da74ceb48ab77359cbeef19d7#npm:3.5.13", {\ + "packageLocation": "./.yarn/__virtual__/@vue-server-renderer-virtual-6194b81ac4/5/AppData/Local/Yarn/Berry/cache/@vue-server-renderer-npm-3.5.13-d23f3ccee8-10c0.zip/node_modules/@vue/server-renderer/",\ + "packageDependencies": [\ + ["@vue/server-renderer", "virtual:699aeab08802f14e02d53e0ef3c98f682f7f5f512588ba9371472c64aad4f86c4256758b661283477c7306a5acf7a55e1a4a348da74ceb48ab77359cbeef19d7#npm:3.5.13"],\ + ["@types/vue", null],\ + ["@vue/compiler-ssr", "npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/shared", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-shared-npm-3.5.13-519178ab33-10c0.zip/node_modules/@vue/shared/",\ + "packageDependencies": [\ + ["@vue/shared", "npm:3.5.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/tsconfig", [\ + ["npm:0.7.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/@vue-tsconfig-npm-0.7.0-0ac0d76949-10c0.zip/node_modules/@vue/tsconfig/",\ + "packageDependencies": [\ + ["@vue/tsconfig", "npm:0.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:0.7.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-tsconfig-virtual-b180d19671/5/AppData/Local/Yarn/Berry/cache/@vue-tsconfig-npm-0.7.0-0ac0d76949-10c0.zip/node_modules/@vue/tsconfig/",\ + "packageDependencies": [\ + ["@vue/tsconfig", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:0.7.0"],\ + ["@types/typescript", null],\ + ["@types/vue", null],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "@types/vue",\ + "typescript",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/abbrev-npm-3.0.1-a34d600e50-10c0.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.14.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/acorn-npm-8.14.1-aee76ee752-10c0.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-jsx", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "npm:5.3.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-64331c13be/5/AppData/Local/Yarn/Berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.14.1"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:7.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/agent-base-npm-7.1.3-b2c16e72fb-10c0.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:7.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["alien-signals", [\ + ["npm:1.0.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/alien-signals-npm-1.0.13-ef7e5c363e-10c0.zip/node_modules/alien-signals/",\ + "packageDependencies": [\ + ["alien-signals", "npm:1.0.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ansi-regex-npm-6.1.0-abe011aae4-10c0.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arithma-battle", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["arithma-battle", "workspace:."],\ + ["@tsconfig/node22", "npm:22.0.1"],\ + ["@types/node", "npm:22.15.2"],\ + ["@vitejs/plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:5.2.3"],\ + ["@vue/eslint-config-prettier", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.2.0"],\ + ["@vue/eslint-config-typescript", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:14.5.0"],\ + ["@vue/tsconfig", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:0.7.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.0.0"],\ + ["jiti", "npm:2.4.2"],\ + ["npm-run-all2", "npm:7.0.2"],\ + ["pinia", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.0.2"],\ + ["prettier", "npm:3.5.3"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"],\ + ["vite-plugin-vue-devtools", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:7.7.5"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"],\ + ["vue-router", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:4.5.0"],\ + ["vue-tsc", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:2.2.10"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["birpc", [\ + ["npm:2.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/birpc-npm-2.3.0-3a0a6de3ce-10c0.zip/node_modules/birpc/",\ + "packageDependencies": [\ + ["birpc", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["boolbase", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/boolbase-npm-1.0.0-965fe9af6d-10c0.zip/node_modules/boolbase/",\ + "packageDependencies": [\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/braces-npm-3.0.3-582c14023c-10c0.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.3"],\ + ["fill-range", "npm:7.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["browserslist", [\ + ["npm:4.24.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/browserslist-npm-4.24.4-2fdeb5face-10c0.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.24.4"],\ + ["caniuse-lite", "npm:1.0.30001715"],\ + ["electron-to-chromium", "npm:1.5.142"],\ + ["node-releases", "npm:2.0.19"],\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bundle-name", [\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/bundle-name-npm-4.1.0-4688335533-10c0.zip/node_modules/bundle-name/",\ + "packageDependencies": [\ + ["bundle-name", "npm:4.1.0"],\ + ["run-applescript", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:19.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/cacache-npm-19.0.1-395cba1936-10c0.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:19.0.1"],\ + ["@npmcli/fs", "npm:4.0.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.4.5"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:7.0.3"],\ + ["ssri", "npm:12.0.0"],\ + ["tar", "npm:7.4.3"],\ + ["unique-filename", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caniuse-lite", [\ + ["npm:1.0.30001715", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/caniuse-lite-npm-1.0.30001715-820121c75b-10c0.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001715"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:4.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/chownr-npm-3.0.0-5275e85d25-10c0.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["convert-source-map", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ + "packageDependencies": [\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["copy-anything", [\ + ["npm:3.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/copy-anything-npm-3.0.5-562d15fb3f-10c0.zip/node_modules/copy-anything/",\ + "packageDependencies": [\ + ["copy-anything", "npm:3.0.5"],\ + ["is-what", "npm:4.1.16"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/cross-spawn-npm-7.0.6-264bddf921-10c0.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.6"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssesc", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/cssesc-npm-3.0.0-15ec56f86f-10c0.zip/node_modules/cssesc/",\ + "packageDependencies": [\ + ["cssesc", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["csstype", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/csstype-npm-3.1.3-e9a1c85013-10c0.zip/node_modules/csstype/",\ + "packageDependencies": [\ + ["csstype", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["de-indent", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/de-indent-npm-1.0.2-66cccde30f-10c0.zip/node_modules/de-indent/",\ + "packageDependencies": [\ + ["de-indent", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:4.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/debug-npm-4.4.0-f6efe76023-10c0.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-981e2220e0/5/AppData/Local/Yarn/Berry/cache/debug-npm-4.4.0-f6efe76023-10c0.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.3"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-is", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ + "packageDependencies": [\ + ["deep-is", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["default-browser", [\ + ["npm:5.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/default-browser-npm-5.2.1-e2f8bca718-10c0.zip/node_modules/default-browser/",\ + "packageDependencies": [\ + ["default-browser", "npm:5.2.1"],\ + ["bundle-name", "npm:4.1.0"],\ + ["default-browser-id", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["default-browser-id", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/default-browser-id-npm-5.0.0-41fa64d5bb-10c0.zip/node_modules/default-browser-id/",\ + "packageDependencies": [\ + ["default-browser-id", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-lazy-prop", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/define-lazy-prop-npm-3.0.0-6bb0fc1510-10c0.zip/node_modules/define-lazy-prop/",\ + "packageDependencies": [\ + ["define-lazy-prop", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["electron-to-chromium", [\ + ["npm:1.5.142", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/electron-to-chromium-npm-1.5.142-e6ac22be09-10c0.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.5.142"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["entities", [\ + ["npm:4.5.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/entities-npm-4.5.0-7cdb83b832-10c0.zip/node_modules/entities/",\ + "packageDependencies": [\ + ["entities", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["error-stack-parser-es", [\ + ["npm:0.1.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/error-stack-parser-es-npm-0.1.5-95e4b831f8-10c0.zip/node_modules/error-stack-parser-es/",\ + "packageDependencies": [\ + ["error-stack-parser-es", "npm:0.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esbuild", [\ + ["npm:0.25.3", {\ + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.25.3-4d81c233e9/node_modules/esbuild/",\ + "packageDependencies": [\ + ["esbuild", "npm:0.25.3"],\ + ["@esbuild/aix-ppc64", "npm:0.25.3"],\ + ["@esbuild/android-arm", "npm:0.25.3"],\ + ["@esbuild/android-arm64", "npm:0.25.3"],\ + ["@esbuild/android-x64", "npm:0.25.3"],\ + ["@esbuild/darwin-arm64", "npm:0.25.3"],\ + ["@esbuild/darwin-x64", "npm:0.25.3"],\ + ["@esbuild/freebsd-arm64", "npm:0.25.3"],\ + ["@esbuild/freebsd-x64", "npm:0.25.3"],\ + ["@esbuild/linux-arm", "npm:0.25.3"],\ + ["@esbuild/linux-arm64", "npm:0.25.3"],\ + ["@esbuild/linux-ia32", "npm:0.25.3"],\ + ["@esbuild/linux-loong64", "npm:0.25.3"],\ + ["@esbuild/linux-mips64el", "npm:0.25.3"],\ + ["@esbuild/linux-ppc64", "npm:0.25.3"],\ + ["@esbuild/linux-riscv64", "npm:0.25.3"],\ + ["@esbuild/linux-s390x", "npm:0.25.3"],\ + ["@esbuild/linux-x64", "npm:0.25.3"],\ + ["@esbuild/netbsd-arm64", "npm:0.25.3"],\ + ["@esbuild/netbsd-x64", "npm:0.25.3"],\ + ["@esbuild/openbsd-arm64", "npm:0.25.3"],\ + ["@esbuild/openbsd-x64", "npm:0.25.3"],\ + ["@esbuild/sunos-x64", "npm:0.25.3"],\ + ["@esbuild/win32-arm64", "npm:0.25.3"],\ + ["@esbuild/win32-ia32", "npm:0.25.3"],\ + ["@esbuild/win32-x64", "npm:0.25.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escalade", [\ + ["npm:3.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/escalade-npm-3.2.0-19b50dd48f-10c0.zip/node_modules/escalade/",\ + "packageDependencies": [\ + ["escalade", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint", [\ + ["npm:9.25.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-npm-9.25.1-be5aefaed2-10c0.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "npm:9.25.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1", {\ + "packageLocation": "./.yarn/__virtual__/eslint-virtual-ed494664e5/5/AppData/Local/Yarn/Berry/cache/eslint-npm-9.25.1-be5aefaed2-10c0.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["@eslint-community/eslint-utils", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:4.6.1"],\ + ["@eslint-community/regexpp", "npm:4.12.1"],\ + ["@eslint/config-array", "npm:0.20.0"],\ + ["@eslint/config-helpers", "npm:0.2.1"],\ + ["@eslint/core", "npm:0.13.0"],\ + ["@eslint/eslintrc", "npm:3.3.1"],\ + ["@eslint/js", "npm:9.25.1"],\ + ["@eslint/plugin-kit", "npm:0.2.8"],\ + ["@humanfs/node", "npm:0.16.6"],\ + ["@humanwhocodes/module-importer", "npm:1.0.1"],\ + ["@humanwhocodes/retry", "npm:0.4.2"],\ + ["@types/estree", "npm:1.0.7"],\ + ["@types/jiti", null],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["ajv", "npm:6.12.6"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["eslint-scope", "npm:8.3.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"],\ + ["esquery", "npm:1.6.0"],\ + ["esutils", "npm:2.0.3"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["file-entry-cache", "npm:8.0.0"],\ + ["find-up", "npm:5.0.0"],\ + ["glob-parent", "npm:6.0.2"],\ + ["ignore", "npm:5.3.2"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-glob", "npm:4.0.3"],\ + ["jiti", "npm:2.4.2"],\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["minimatch", "npm:3.1.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["optionator", "npm:0.9.4"]\ + ],\ + "packagePeers": [\ + "@types/jiti",\ + "jiti"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-config-prettier", [\ + ["npm:10.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-config-prettier-npm-10.1.2-f2e2dd1288-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "npm:10.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:10.1.2", {\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-667c0cf122/5/AppData/Local/Yarn/Berry/cache/eslint-config-prettier-npm-10.1.2-f2e2dd1288-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:10.1.2"],\ + ["@types/eslint", null],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-prettier", [\ + ["npm:5.2.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-plugin-prettier-npm-5.2.6-bf19bff84b-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "npm:5.2.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:5.2.6", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-087cb80317/5/AppData/Local/Yarn/Berry/cache/eslint-plugin-prettier-npm-5.2.6-bf19bff84b-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:5.2.6"],\ + ["@types/eslint", null],\ + ["@types/eslint-config-prettier", null],\ + ["@types/prettier", null],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-config-prettier", "virtual:18d92766d5d1964ff71e90b36ec95d3ad9f536e0d54ab5d89722e6bd4c7bd617ba93c9ccb29a9a699ea9379ffe3dfd0a2efea7cae92af2ea5305209a4a82037c#npm:10.1.2"],\ + ["prettier", "npm:3.5.3"],\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["synckit", "npm:0.11.4"]\ + ],\ + "packagePeers": [\ + "@types/eslint-config-prettier",\ + "@types/eslint",\ + "@types/prettier",\ + "eslint-config-prettier",\ + "eslint",\ + "prettier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-vue", [\ + ["npm:10.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-plugin-vue-npm-10.0.0-bee09c839f-10c0.zip/node_modules/eslint-plugin-vue/",\ + "packageDependencies": [\ + ["eslint-plugin-vue", "npm:10.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.0.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-39c224c1ed/5/AppData/Local/Yarn/Berry/cache/eslint-plugin-vue-npm-10.0.0-bee09c839f-10c0.zip/node_modules/eslint-plugin-vue/",\ + "packageDependencies": [\ + ["eslint-plugin-vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:10.0.0"],\ + ["@eslint-community/eslint-utils", "virtual:3f830ff1fbd6f6d5c2ddee78d3ad30971ee78363cb2b1cf947d2d618dda1f8009053ac74f7da11fe2773b8d8ecaaa3c7072ebb4f44f83ef1c74736098999c349#npm:4.6.1"],\ + ["@types/eslint", null],\ + ["@types/vue-eslint-parser", null],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["natural-compare", "npm:1.4.0"],\ + ["nth-check", "npm:2.1.1"],\ + ["postcss-selector-parser", "npm:6.1.2"],\ + ["semver", "npm:7.7.1"],\ + ["vue-eslint-parser", null],\ + ["xml-name-validator", "npm:4.0.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/vue-eslint-parser",\ + "eslint",\ + "vue-eslint-parser"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:8.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-scope-npm-8.3.0-2f4303c4f9-10c0.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:8.3.0"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-visitor-keys", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-10c0.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["espree", [\ + ["npm:10.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/espree-npm-10.3.0-e5b10052f5-10c0.zip/node_modules/espree/",\ + "packageDependencies": [\ + ["espree", "npm:10.3.0"],\ + ["acorn", "npm:8.14.1"],\ + ["acorn-jsx", "virtual:e5b10052f5b961a2f38f3edbfbbcd7baf074e555f688eaf63695fed94838b848c6291487952754e262c19f60bf34d659b71e3d5260e2ea073949e1b6269dc165#npm:5.3.2"],\ + ["eslint-visitor-keys", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esquery", [\ + ["npm:1.6.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/esquery-npm-1.6.0-16fee31531-10c0.zip/node_modules/esquery/",\ + "packageDependencies": [\ + ["esquery", "npm:1.6.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:5.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estree-walker", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/estree-walker-npm-2.0.2-dfab42f65c-10c0.zip/node_modules/estree-walker/",\ + "packageDependencies": [\ + ["estree-walker", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:9.5.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/execa-npm-9.5.2-f74ad877bc-10c0.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:9.5.2"],\ + ["@sindresorhus/merge-streams", "npm:4.0.0"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["figures", "npm:6.1.0"],\ + ["get-stream", "npm:9.0.1"],\ + ["human-signals", "npm:8.0.1"],\ + ["is-plain-obj", "npm:4.1.0"],\ + ["is-stream", "npm:4.0.1"],\ + ["npm-run-path", "npm:6.0.0"],\ + ["pretty-ms", "npm:9.2.0"],\ + ["signal-exit", "npm:4.1.0"],\ + ["strip-final-newline", "npm:4.0.0"],\ + ["yoctocolors", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/exponential-backoff-npm-3.1.2-e030c582de-10c0.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-diff", [\ + ["npm:1.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ + "packageDependencies": [\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.3.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fast-glob-npm-3.3.3-2a653be532-10c0.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.3.3"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-levenshtein", [\ + ["npm:2.0.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ + "packageDependencies": [\ + ["fast-levenshtein", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.19.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fastq-npm-1.19.1-ca0a13ec3f-10c0.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.19.1"],\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fdir", [\ + ["npm:6.4.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fdir-npm-6.4.4-ac98cf8d06-10c0.zip/node_modules/fdir/",\ + "packageDependencies": [\ + ["fdir", "npm:6.4.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:13dba315b30721812929c770ddde019c62f0f5aaf3d322e194cc0bf6cf728a558519bedd52ec8aab338ba88d51755f53d336e981f79120c140fd5c81616eeabd#npm:6.4.4", {\ + "packageLocation": "./.yarn/__virtual__/fdir-virtual-57192d6e07/5/AppData/Local/Yarn/Berry/cache/fdir-npm-6.4.4-ac98cf8d06-10c0.zip/node_modules/fdir/",\ + "packageDependencies": [\ + ["fdir", "virtual:13dba315b30721812929c770ddde019c62f0f5aaf3d322e194cc0bf6cf728a558519bedd52ec8aab338ba88d51755f53d336e981f79120c140fd5c81616eeabd#npm:6.4.4"],\ + ["@types/picomatch", null],\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "packagePeers": [\ + "@types/picomatch",\ + "picomatch"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["figures", [\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/figures-npm-6.1.0-af5576db56-10c0.zip/node_modules/figures/",\ + "packageDependencies": [\ + ["figures", "npm:6.1.0"],\ + ["is-unicode-supported", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-entry-cache", [\ + ["npm:8.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/file-entry-cache-npm-8.0.0-5b09d19a83-10c0.zip/node_modules/file-entry-cache/",\ + "packageDependencies": [\ + ["file-entry-cache", "npm:8.0.0"],\ + ["flat-cache", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fill-range-npm-7.1.1-bf491486db-10c0.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.1.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flat-cache", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/flat-cache-npm-4.0.1-12bf2455f7-10c0.zip/node_modules/flat-cache/",\ + "packageDependencies": [\ + ["flat-cache", "npm:4.0.1"],\ + ["flatted", "npm:3.3.3"],\ + ["keyv", "npm:4.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flatted", [\ + ["npm:3.3.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/flatted-npm-3.3.3-ca455563b2-10c0.zip/node_modules/flatted/",\ + "packageDependencies": [\ + ["flatted", "npm:3.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/foreground-child-npm-3.3.1-b7775fda04-10c0.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.3.1"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-extra", [\ + ["npm:11.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fs-extra-npm-11.3.0-a6b1b4d5ad-10c0.zip/node_modules/fs-extra/",\ + "packageDependencies": [\ + ["fs-extra", "npm:11.3.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jsonfile", "npm:6.1.0"],\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:3.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["node-gyp", "npm:11.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gensync", [\ + ["npm:1.0.0-beta.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/gensync-npm-1.0.0-beta.2-224666d72f-10c0.zip/node_modules/gensync/",\ + "packageDependencies": [\ + ["gensync", "npm:1.0.0-beta.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:9.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/get-stream-npm-9.0.1-2e58b883c0-10c0.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:9.0.1"],\ + ["@sec-ant/readable-stream", "npm:0.4.1"],\ + ["is-stream", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.4.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/glob-npm-10.4.5-8c63175f05-10c0.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.4.5"],\ + ["foreground-child", "npm:3.3.1"],\ + ["jackspeak", "npm:3.4.3"],\ + ["minimatch", "npm:9.0.5"],\ + ["minipass", "npm:7.1.2"],\ + ["package-json-from-dist", "npm:1.0.1"],\ + ["path-scurry", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:11.12.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/globals-npm-11.12.0-1fa7f41a6c-10c0.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:14.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/globals-npm-14.0.0-5fc3d8d5da-10c0.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:14.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.11", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["he", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/he-npm-1.2.0-3b73a2ff07-10c0.zip/node_modules/he/",\ + "packageDependencies": [\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hookable", [\ + ["npm:5.5.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/hookable-npm-5.5.3-82b0342097-10c0.zip/node_modules/hookable/",\ + "packageDependencies": [\ + ["hookable", "npm:5.5.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:7.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-10c0.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:7.0.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/https-proxy-agent-npm-7.0.6-27a95c2690-10c0.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:7.0.6"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:8.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/human-signals-npm-8.0.1-7ef2814855-10c0.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:8.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.3.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ignore-npm-5.3.2-346d3ba017-10c0.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/import-fresh-npm-3.3.1-1916794950-10c0.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.1"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip-address", [\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ip-address-npm-9.0.5-9fa024d42a-10c0.zip/node_modules/ip-address/",\ + "packageDependencies": [\ + ["ip-address", "npm:9.0.5"],\ + ["jsbn", "npm:1.1.0"],\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-docker", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-docker-npm-3.0.0-1570e32177-10c0.zip/node_modules/is-docker/",\ + "packageDependencies": [\ + ["is-docker", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-inside-container", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-inside-container-npm-1.0.0-f2c9e9bb96-10c0.zip/node_modules/is-inside-container/",\ + "packageDependencies": [\ + ["is-inside-container", "npm:1.0.0"],\ + ["is-docker", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-obj", [\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-plain-obj-npm-4.1.0-a4f2a92b44-10c0.zip/node_modules/is-plain-obj/",\ + "packageDependencies": [\ + ["is-plain-obj", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-stream-npm-4.0.1-328fd196cc-10c0.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-unicode-supported", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-unicode-supported-npm-2.1.0-70e6898c4a-10c0.zip/node_modules/is-unicode-supported/",\ + "packageDependencies": [\ + ["is-unicode-supported", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-what", [\ + ["npm:4.1.16", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-what-npm-4.1.16-1622ed8fd8-10c0.zip/node_modules/is-what/",\ + "packageDependencies": [\ + ["is-what", "npm:4.1.16"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-wsl", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/is-wsl-npm-3.1.0-311c6d2265-10c0.zip/node_modules/is-wsl/",\ + "packageDependencies": [\ + ["is-wsl", "npm:3.1.0"],\ + ["is-inside-container", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:3.4.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/jackspeak-npm-3.4.3-546bfad080-10c0.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:3.4.3"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jiti", [\ + ["npm:2.4.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/jiti-npm-2.4.2-d980cbb540-10c0.zip/node_modules/jiti/",\ + "packageDependencies": [\ + ["jiti", "npm:2.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-tokens", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/js-tokens-npm-4.0.0-0ac852e9e2-10c0.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsbn", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/jsbn-npm-1.1.0-1da0181838-10c0.zip/node_modules/jsbn/",\ + "packageDependencies": [\ + ["jsbn", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsesc", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/jsesc-npm-3.1.0-2f4f998cd7-10c0.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-parse-even-better-errors", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/json-parse-even-better-errors-npm-4.0.0-04142095b2-10c0.zip/node_modules/json-parse-even-better-errors/",\ + "packageDependencies": [\ + ["json-parse-even-better-errors", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stable-stringify-without-jsonify", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageDependencies": [\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json5", [\ + ["npm:2.2.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/json5-npm-2.2.3-9962c55073-10c0.zip/node_modules/json5/",\ + "packageDependencies": [\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsonfile", [\ + ["npm:6.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/jsonfile-npm-6.1.0-20a4796cee-10c0.zip/node_modules/jsonfile/",\ + "packageDependencies": [\ + ["jsonfile", "npm:6.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:4.5.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:4.5.4"],\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kolorist", [\ + ["npm:1.8.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/kolorist-npm-1.8.0-2cc04dcc05-10c0.zip/node_modules/kolorist/",\ + "packageDependencies": [\ + ["kolorist", "npm:1.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["levn", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ + "packageDependencies": [\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash", [\ + ["npm:4.17.21", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ + "packageDependencies": [\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.merge", [\ + ["npm:4.6.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ + "packageDependencies": [\ + ["lodash.merge", "npm:4.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.4.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/lru-cache-npm-10.4.3-30c10b861a-10c0.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.4.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/lru-cache-npm-5.1.1-f475882a51-10c0.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:5.1.1"],\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["magic-string", [\ + ["npm:0.30.17", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/magic-string-npm-0.30.17-da1b7593b1-10c0.zip/node_modules/magic-string/",\ + "packageDependencies": [\ + ["magic-string", "npm:0.30.17"],\ + ["@jridgewell/sourcemap-codec", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:14.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/make-fetch-happen-npm-14.0.3-23b30e8691-10c0.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["@npmcli/agent", "npm:3.0.0"],\ + ["cacache", "npm:19.0.1"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-fetch", "npm:4.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:1.0.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["promise-retry", "npm:2.0.1"],\ + ["ssri", "npm:12.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["memorystream", [\ + ["npm:0.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/memorystream-npm-0.3.1-ae973f1d16-10c0.zip/node_modules/memorystream/",\ + "packageDependencies": [\ + ["memorystream", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.8", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/micromatch-npm-4.0.8-c9570e4aca-10c0.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.8"],\ + ["braces", "npm:3.0.3"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minimatch-npm-9.0.5-9aa93d97fa-10c0.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.5"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-npm-7.1.2-3a5327d36d-10c0.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:4.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-fetch-npm-4.0.1-ce1d15e957-10c0.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:4.0.1"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.1.2"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:3.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/minizlib-npm-3.0.2-f56e815013-10c0.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:3.0.2"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mitt", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/mitt-npm-3.0.1-ce290ffa77-10c0.zip/node_modules/mitt/",\ + "packageDependencies": [\ + ["mitt", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/mkdirp-npm-3.0.1-f94bfa769e-10c0.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mrmime", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/mrmime-npm-2.0.1-c00bdddb2f-10c0.zip/node_modules/mrmime/",\ + "packageDependencies": [\ + ["mrmime", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["muggle-string", [\ + ["npm:0.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/muggle-string-npm-0.4.1-fe3c825cc2-10c0.zip/node_modules/muggle-string/",\ + "packageDependencies": [\ + ["muggle-string", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nanoid", [\ + ["npm:3.3.11", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/nanoid-npm-3.3.11-f98c1f9ef6-10c0.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:3.3.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/nanoid-npm-5.1.5-79b61a9d37-10c0.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:5.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["natural-compare", [\ + ["npm:1.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ + "packageDependencies": [\ + ["natural-compare", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/negotiator-npm-1.0.0-47d727e27e-10c0.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:11.2.0", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-11.2.0-36aeb0fa50/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:11.2.0"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.2"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:14.0.3"],\ + ["nopt", "npm:8.1.0"],\ + ["proc-log", "npm:5.0.0"],\ + ["semver", "npm:7.7.1"],\ + ["tar", "npm:7.4.3"],\ + ["tinyglobby", "npm:0.2.13"],\ + ["which", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-releases", [\ + ["npm:2.0.19", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/node-releases-npm-2.0.19-b123ed6240-10c0.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/nopt-npm-8.1.0-5570ef63cd-10c0.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:8.1.0"],\ + ["abbrev", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-normalize-package-bin", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/npm-normalize-package-bin-npm-4.0.0-d2d7e5e821-10c0.zip/node_modules/npm-normalize-package-bin/",\ + "packageDependencies": [\ + ["npm-normalize-package-bin", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-all2", [\ + ["npm:7.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/npm-run-all2-npm-7.0.2-e992a8f1fc-10c0.zip/node_modules/npm-run-all2/",\ + "packageDependencies": [\ + ["npm-run-all2", "npm:7.0.2"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["cross-spawn", "npm:7.0.6"],\ + ["memorystream", "npm:0.3.1"],\ + ["minimatch", "npm:9.0.5"],\ + ["pidtree", "npm:0.6.0"],\ + ["read-package-json-fast", "npm:4.0.0"],\ + ["shell-quote", "npm:1.8.2"],\ + ["which", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:6.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/npm-run-path-npm-6.0.0-606e0c0261-10c0.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:6.0.0"],\ + ["path-key", "npm:4.0.0"],\ + ["unicorn-magic", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nth-check", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/nth-check-npm-2.1.1-f97afc8169-10c0.zip/node_modules/nth-check/",\ + "packageDependencies": [\ + ["nth-check", "npm:2.1.1"],\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["open", [\ + ["npm:10.1.1", {\ + "packageLocation": "./.yarn/unplugged/open-npm-10.1.1-13cf9d367f/node_modules/open/",\ + "packageDependencies": [\ + ["open", "npm:10.1.1"],\ + ["default-browser", "npm:5.2.1"],\ + ["define-lazy-prop", "npm:3.0.0"],\ + ["is-inside-container", "npm:1.0.0"],\ + ["is-wsl", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["optionator", [\ + ["npm:0.9.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/optionator-npm-0.9.4-1f114b00e8-10c0.zip/node_modules/optionator/",\ + "packageDependencies": [\ + ["optionator", "npm:0.9.4"],\ + ["deep-is", "npm:0.1.4"],\ + ["fast-levenshtein", "npm:2.0.6"],\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"],\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:7.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/p-map-npm-7.0.3-93bbec0d8c-10c0.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:7.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["package-json-from-dist", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/package-json-from-dist-npm-1.0.1-4631a88465-10c0.zip/node_modules/package-json-from-dist/",\ + "packageDependencies": [\ + ["package-json-from-dist", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-ms", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/parse-ms-npm-4.0.0-2360c34597-10c0.zip/node_modules/parse-ms/",\ + "packageDependencies": [\ + ["parse-ms", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-browserify", [\ + ["npm:1.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/path-browserify-npm-1.0.1-f975d99a99-10c0.zip/node_modules/path-browserify/",\ + "packageDependencies": [\ + ["path-browserify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.11.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/path-scurry-npm-1.11.1-aaf8c339af-10c0.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.11.1"],\ + ["lru-cache", "npm:10.4.3"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pathe", [\ + ["npm:2.0.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/pathe-npm-2.0.3-0924246ee0-10c0.zip/node_modules/pathe/",\ + "packageDependencies": [\ + ["pathe", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["perfect-debounce", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/perfect-debounce-npm-1.0.0-0968810009-10c0.zip/node_modules/perfect-debounce/",\ + "packageDependencies": [\ + ["perfect-debounce", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/picocolors-npm-1.1.1-4fede47cf1-10c0.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/picomatch-npm-4.0.2-e93516ddf2-10c0.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pidtree", [\ + ["npm:0.6.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/pidtree-npm-0.6.0-3d92e16117-10c0.zip/node_modules/pidtree/",\ + "packageDependencies": [\ + ["pidtree", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pinia", [\ + ["npm:3.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/pinia-npm-3.0.2-2d2f052067-10c0.zip/node_modules/pinia/",\ + "packageDependencies": [\ + ["pinia", "npm:3.0.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.0.2", {\ + "packageLocation": "./.yarn/__virtual__/pinia-virtual-4cc9a18f82/5/AppData/Local/Yarn/Berry/cache/pinia-npm-3.0.2-2d2f052067-10c0.zip/node_modules/pinia/",\ + "packageDependencies": [\ + ["pinia", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.0.2"],\ + ["@types/typescript", null],\ + ["@types/vue", null],\ + ["@vue/devtools-api", "npm:7.7.5"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "@types/vue",\ + "typescript",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss", [\ + ["npm:8.5.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/postcss-npm-8.5.3-37174aa03d-10c0.zip/node_modules/postcss/",\ + "packageDependencies": [\ + ["postcss", "npm:8.5.3"],\ + ["nanoid", "npm:3.3.11"],\ + ["picocolors", "npm:1.1.1"],\ + ["source-map-js", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-selector-parser", [\ + ["npm:6.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/postcss-selector-parser-npm-6.1.2-46a8e03b00-10c0.zip/node_modules/postcss-selector-parser/",\ + "packageDependencies": [\ + ["postcss-selector-parser", "npm:6.1.2"],\ + ["cssesc", "npm:3.0.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prelude-ls", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ + "packageDependencies": [\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.5.3", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.5.3-787132ce04/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.5.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier-linter-helpers", [\ + ["npm:1.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ + "packageDependencies": [\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-ms", [\ + ["npm:9.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/pretty-ms-npm-9.2.0-94581e643b-10c0.zip/node_modules/pretty-ms/",\ + "packageDependencies": [\ + ["pretty-ms", "npm:9.2.0"],\ + ["parse-ms", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proc-log", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/proc-log-npm-5.0.0-405173f9b4-10c0.zip/node_modules/proc-log/",\ + "packageDependencies": [\ + ["proc-log", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:2.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["read-package-json-fast", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/read-package-json-fast-npm-4.0.0-59ef005465-10c0.zip/node_modules/read-package-json-fast/",\ + "packageDependencies": [\ + ["read-package-json-fast", "npm:4.0.0"],\ + ["json-parse-even-better-errors", "npm:4.0.0"],\ + ["npm-normalize-package-bin", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/reusify-npm-1.1.0-96242be57f-10c0.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rfdc", [\ + ["npm:1.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/rfdc-npm-1.4.1-1a1c63d052-10c0.zip/node_modules/rfdc/",\ + "packageDependencies": [\ + ["rfdc", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rollup", [\ + ["npm:4.40.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/rollup-npm-4.40.0-5ee51badc3-10c0.zip/node_modules/rollup/",\ + "packageDependencies": [\ + ["rollup", "npm:4.40.0"],\ + ["@rollup/rollup-android-arm-eabi", "npm:4.40.0"],\ + ["@rollup/rollup-android-arm64", "npm:4.40.0"],\ + ["@rollup/rollup-darwin-arm64", "npm:4.40.0"],\ + ["@rollup/rollup-darwin-x64", "npm:4.40.0"],\ + ["@rollup/rollup-freebsd-arm64", "npm:4.40.0"],\ + ["@rollup/rollup-freebsd-x64", "npm:4.40.0"],\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.40.0"],\ + ["@rollup/rollup-linux-arm-musleabihf", "npm:4.40.0"],\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.40.0"],\ + ["@rollup/rollup-linux-loongarch64-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-powerpc64le-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-riscv64-musl", "npm:4.40.0"],\ + ["@rollup/rollup-linux-s390x-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.40.0"],\ + ["@rollup/rollup-linux-x64-musl", "npm:4.40.0"],\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.40.0"],\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.40.0"],\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.40.0"],\ + ["@types/estree", "npm:1.0.7"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-applescript", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/run-applescript-npm-7.0.0-b061c2c4fa-10c0.zip/node_modules/run-applescript/",\ + "packageDependencies": [\ + ["run-applescript", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:6.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/semver-npm-6.3.1-bcba31fdbe-10c0.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:6.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.7.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/semver-npm-7.7.1-4572475307-10c0.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shell-quote", [\ + ["npm:1.8.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/shell-quote-npm-1.8.2-6153748703-10c0.zip/node_modules/shell-quote/",\ + "packageDependencies": [\ + ["shell-quote", "npm:1.8.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:4.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sirv", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/sirv-npm-3.0.1-6bef01ff05-10c0.zip/node_modules/sirv/",\ + "packageDependencies": [\ + ["sirv", "npm:3.0.1"],\ + ["@polka/url", "npm:1.0.0-next.29"],\ + ["mrmime", "npm:2.0.1"],\ + ["totalist", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.8.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/socks-npm-2.8.4-8194b86bd0-10c0.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.8.4"],\ + ["ip-address", "npm:9.0.5"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:8.0.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:8.0.5"],\ + ["agent-base", "npm:7.1.3"],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["socks", "npm:2.8.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-js", [\ + ["npm:1.2.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/source-map-js-npm-1.2.1-b9a47d7e1a-10c0.zip/node_modules/source-map-js/",\ + "packageDependencies": [\ + ["source-map-js", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["speakingurl", [\ + ["npm:14.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/speakingurl-npm-14.0.1-0eaad8267a-10c0.zip/node_modules/speakingurl/",\ + "packageDependencies": [\ + ["speakingurl", "npm:14.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/sprintf-js-npm-1.1.3-b99efd75b2-10c0.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:12.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ssri-npm-12.0.0-97c0e53d2e-10c0.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:12.0.0"],\ + ["minipass", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:6.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.1.0"],\ + ["ansi-regex", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/strip-final-newline-npm-4.0.0-4dfc6b8843-10c0.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["superjson", [\ + ["npm:2.2.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/superjson-npm-2.2.2-4393408fba-10c0.zip/node_modules/superjson/",\ + "packageDependencies": [\ + ["superjson", "npm:2.2.2"],\ + ["copy-anything", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:7.2.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["synckit", [\ + ["npm:0.11.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/synckit-npm-0.11.4-e68f3d0cc8-10c0.zip/node_modules/synckit/",\ + "packageDependencies": [\ + ["synckit", "npm:0.11.4"],\ + ["@pkgr/core", "npm:0.2.4"],\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:7.4.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/tar-npm-7.4.3-1dbbd1ffc3-10c0.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:7.4.3"],\ + ["@isaacs/fs-minipass", "npm:4.0.1"],\ + ["chownr", "npm:3.0.0"],\ + ["minipass", "npm:7.1.2"],\ + ["minizlib", "npm:3.0.2"],\ + ["mkdirp", "npm:3.0.1"],\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinyglobby", [\ + ["npm:0.2.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/tinyglobby-npm-0.2.13-13dba315b3-10c0.zip/node_modules/tinyglobby/",\ + "packageDependencies": [\ + ["tinyglobby", "npm:0.2.13"],\ + ["fdir", "virtual:13dba315b30721812929c770ddde019c62f0f5aaf3d322e194cc0bf6cf728a558519bedd52ec8aab338ba88d51755f53d336e981f79120c140fd5c81616eeabd#npm:6.4.4"],\ + ["picomatch", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["totalist", [\ + ["npm:3.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/totalist-npm-3.0.1-91e71f3baa-10c0.zip/node_modules/totalist/",\ + "packageDependencies": [\ + ["totalist", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-api-utils", [\ + ["npm:2.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/ts-api-utils-npm-2.1.0-2549dfd29f-10c0.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-4bce8bb622/5/AppData/Local/Yarn/Berry/cache/ts-api-utils-npm-2.1.0-2549dfd29f-10c0.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:2.1.0"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tslib", [\ + ["npm:2.8.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/tslib-npm-2.8.1-66590b21b8-10c0.zip/node_modules/tslib/",\ + "packageDependencies": [\ + ["tslib", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-check", [\ + ["npm:0.4.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ + "packageDependencies": [\ + ["type-check", "npm:0.4.0"],\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript", [\ + ["patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/typescript-patch-f64146f279-10c0.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript-eslint", [\ + ["npm:8.31.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/typescript-eslint-npm-8.31.0-d70ab94d80-10c0.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "npm:8.31.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0", {\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-virtual-4e4e8054c1/5/AppData/Local/Yarn/Berry/cache/typescript-eslint-npm-8.31.0-d70ab94d80-10c0.zip/node_modules/typescript-eslint/",\ + "packageDependencies": [\ + ["typescript-eslint", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/eslint-plugin", "virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0"],\ + ["@typescript-eslint/parser", "virtual:4e4e8054c1d7401d485a7ed305070e0bd4d5afc4584a072c6e91b74aa51fce26e5f78cc251983959aeb45557deaeb554f71fc0e4587c7943ad037ec67ae9f860#npm:8.31.0"],\ + ["@typescript-eslint/utils", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:8.31.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["undici-types", [\ + ["npm:6.21.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/undici-types-npm-6.21.0-eb2b0ed56a-10c0.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicorn-magic", [\ + ["npm:0.3.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/unicorn-magic-npm-0.3.0-4d15f393a4-10c0.zip/node_modules/unicorn-magic/",\ + "packageDependencies": [\ + ["unicorn-magic", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/unique-filename-npm-4.0.0-bfc100c4e3-10c0.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:4.0.0"],\ + ["unique-slug", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/unique-slug-npm-5.0.0-11508c0469-10c0.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:5.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["universalify", [\ + ["npm:2.0.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/universalify-npm-2.0.1-040ba5a21e-10c0.zip/node_modules/universalify/",\ + "packageDependencies": [\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["update-browserslist-db", [\ + ["npm:1.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/update-browserslist-db-npm-1.1.3-569a9be54b-10c0.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "npm:1.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-d61a3b9678/5/AppData/Local/Yarn/Berry/cache/update-browserslist-db-npm-1.1.3-569a9be54b-10c0.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "virtual:2fdeb5face9914bb5fd94c70f084d153c80d2f09e5aabee010e4220b248dc23fca8f73c7beed0195e45ae6e2b1cb25388f709d7bfc4f00e473d573887faf4e5c#npm:1.1.3"],\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.24.4"],\ + ["escalade", "npm:3.2.0"],\ + ["picocolors", "npm:1.1.1"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["util-deprecate", [\ + ["npm:1.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ + "packageDependencies": [\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite", [\ + ["npm:6.3.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vite-npm-6.3.3-3e26e16e98-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "npm:6.3.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-1107d65763/5/AppData/Local/Yarn/Berry/cache/vite-npm-6.3.3-3e26e16e98-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"],\ + ["@types/jiti", null],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", "npm:22.15.2"],\ + ["@types/sass", null],\ + ["@types/sass-embedded", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["@types/tsx", null],\ + ["@types/yaml", null],\ + ["esbuild", "npm:0.25.3"],\ + ["fdir", "virtual:13dba315b30721812929c770ddde019c62f0f5aaf3d322e194cc0bf6cf728a558519bedd52ec8aab338ba88d51755f53d336e981f79120c140fd5c81616eeabd#npm:6.4.4"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["jiti", "npm:2.4.2"],\ + ["less", null],\ + ["lightningcss", null],\ + ["picomatch", "npm:4.0.2"],\ + ["postcss", "npm:8.5.3"],\ + ["rollup", "npm:4.40.0"],\ + ["sass", null],\ + ["sass-embedded", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null],\ + ["tinyglobby", "npm:0.2.13"],\ + ["tsx", null],\ + ["yaml", null]\ + ],\ + "packagePeers": [\ + "@types/jiti",\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass-embedded",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "@types/tsx",\ + "@types/yaml",\ + "jiti",\ + "less",\ + "lightningcss",\ + "sass-embedded",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser",\ + "tsx",\ + "yaml"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-hot-client", [\ + ["npm:2.0.4", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vite-hot-client-npm-2.0.4-f85c54669d-10c0.zip/node_modules/vite-hot-client/",\ + "packageDependencies": [\ + ["vite-hot-client", "npm:2.0.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:193c325efb049d67b870a05128bf1610f6cbf631f2af555a3d8c2bcb67f99715ff3938c8c33ecd96f7b20f19e6c3d5ca1bbe1db7b56a3e3530e67a360cee9324#npm:2.0.4", {\ + "packageLocation": "./.yarn/__virtual__/vite-hot-client-virtual-32c771053a/5/AppData/Local/Yarn/Berry/cache/vite-hot-client-npm-2.0.4-f85c54669d-10c0.zip/node_modules/vite-hot-client/",\ + "packageDependencies": [\ + ["vite-hot-client", "virtual:193c325efb049d67b870a05128bf1610f6cbf631f2af555a3d8c2bcb67f99715ff3938c8c33ecd96f7b20f19e6c3d5ca1bbe1db7b56a3e3530e67a360cee9324#npm:2.0.4"],\ + ["@types/vite", null],\ + ["vite", null]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "vite"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-plugin-inspect", [\ + ["npm:0.8.9", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vite-plugin-inspect-npm-0.8.9-4f5d702081-10c0.zip/node_modules/vite-plugin-inspect/",\ + "packageDependencies": [\ + ["vite-plugin-inspect", "npm:0.8.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:0.8.9", {\ + "packageLocation": "./.yarn/__virtual__/vite-plugin-inspect-virtual-d92d7baaf6/5/AppData/Local/Yarn/Berry/cache/vite-plugin-inspect-npm-0.8.9-4f5d702081-10c0.zip/node_modules/vite-plugin-inspect/",\ + "packageDependencies": [\ + ["vite-plugin-inspect", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:0.8.9"],\ + ["@antfu/utils", "npm:0.7.10"],\ + ["@nuxt/kit", null],\ + ["@rollup/pluginutils", "virtual:d92d7baaf6e18522e91277fb431de521279b1657802a5dc52908cf9b63075f6b8a48a6c9bf4d4bec4b44e5853a29ab4da7564df6cce25a3e23a98467a4b97d47#npm:5.1.4"],\ + ["@types/nuxt__kit", null],\ + ["@types/vite", null],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["error-stack-parser-es", "npm:0.1.5"],\ + ["fs-extra", "npm:11.3.0"],\ + ["open", "npm:10.1.1"],\ + ["perfect-debounce", "npm:1.0.0"],\ + ["picocolors", "npm:1.1.1"],\ + ["sirv", "npm:3.0.1"],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"]\ + ],\ + "packagePeers": [\ + "@nuxt/kit",\ + "@types/nuxt__kit",\ + "@types/vite",\ + "vite"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-plugin-vue-devtools", [\ + ["npm:7.7.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vite-plugin-vue-devtools-npm-7.7.5-a717c4863d-10c0.zip/node_modules/vite-plugin-vue-devtools/",\ + "packageDependencies": [\ + ["vite-plugin-vue-devtools", "npm:7.7.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:7.7.5", {\ + "packageLocation": "./.yarn/__virtual__/vite-plugin-vue-devtools-virtual-a1efa627b0/5/AppData/Local/Yarn/Berry/cache/vite-plugin-vue-devtools-npm-7.7.5-a717c4863d-10c0.zip/node_modules/vite-plugin-vue-devtools/",\ + "packageDependencies": [\ + ["vite-plugin-vue-devtools", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:7.7.5"],\ + ["@types/vite", null],\ + ["@vue/devtools-core", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:7.7.5"],\ + ["@vue/devtools-kit", "npm:7.7.5"],\ + ["@vue/devtools-shared", "npm:7.7.5"],\ + ["execa", "npm:9.5.2"],\ + ["sirv", "npm:3.0.1"],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"],\ + ["vite-plugin-inspect", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:0.8.9"],\ + ["vite-plugin-vue-inspector", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:5.3.1"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "vite"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-plugin-vue-inspector", [\ + ["npm:5.3.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vite-plugin-vue-inspector-npm-5.3.1-49236b5acc-10c0.zip/node_modules/vite-plugin-vue-inspector/",\ + "packageDependencies": [\ + ["vite-plugin-vue-inspector", "npm:5.3.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:5.3.1", {\ + "packageLocation": "./.yarn/__virtual__/vite-plugin-vue-inspector-virtual-f01bb9fb59/5/AppData/Local/Yarn/Berry/cache/vite-plugin-vue-inspector-npm-5.3.1-49236b5acc-10c0.zip/node_modules/vite-plugin-vue-inspector/",\ + "packageDependencies": [\ + ["vite-plugin-vue-inspector", "virtual:a1efa627b0ec91e6fd15b204cbef0407767eb7c4876dfa5cbd9f48307756db6ad998e00568685c7dc21e16920886abdc008eb294c8d2f9c8f3b75034e22449e2#npm:5.3.1"],\ + ["@babel/core", "npm:7.26.10"],\ + ["@babel/plugin-proposal-decorators", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.25.9"],\ + ["@babel/plugin-syntax-import-attributes", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.26.0"],\ + ["@babel/plugin-syntax-import-meta", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.10.4"],\ + ["@babel/plugin-transform-typescript", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:7.27.0"],\ + ["@types/vite", null],\ + ["@vue/babel-plugin-jsx", "virtual:f01bb9fb59827409c8665c5a71c64d8960bdff92406b79c8dbb0bada6327ee77f1522fef8db965a53fc7a8cf641c842bb0d2afb1cde698e80f9e68eda2d806d6#npm:1.4.0"],\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["kolorist", "npm:1.8.0"],\ + ["magic-string", "npm:0.30.17"],\ + ["vite", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:6.3.3"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "vite"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vscode-uri", [\ + ["npm:3.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vscode-uri-npm-3.1.0-4985fc49ab-10c0.zip/node_modules/vscode-uri/",\ + "packageDependencies": [\ + ["vscode-uri", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue", [\ + ["npm:3.5.13", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vue-npm-3.5.13-59cb3fae80-10c0.zip/node_modules/vue/",\ + "packageDependencies": [\ + ["vue", "npm:3.5.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13", {\ + "packageLocation": "./.yarn/__virtual__/vue-virtual-699aeab088/5/AppData/Local/Yarn/Berry/cache/vue-npm-3.5.13-59cb3fae80-10c0.zip/node_modules/vue/",\ + "packageDependencies": [\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"],\ + ["@types/typescript", null],\ + ["@vue/compiler-dom", "npm:3.5.13"],\ + ["@vue/compiler-sfc", "npm:3.5.13"],\ + ["@vue/runtime-dom", "npm:3.5.13"],\ + ["@vue/server-renderer", "virtual:699aeab08802f14e02d53e0ef3c98f682f7f5f512588ba9371472c64aad4f86c4256758b661283477c7306a5acf7a55e1a4a348da74ceb48ab77359cbeef19d7#npm:3.5.13"],\ + ["@vue/shared", "npm:3.5.13"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-eslint-parser", [\ + ["npm:10.1.3", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vue-eslint-parser-npm-10.1.3-d7a30e8e7b-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "npm:10.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:10.1.3", {\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-4c16cc0bd7/5/AppData/Local/Yarn/Berry/cache/vue-eslint-parser-npm-10.1.3-d7a30e8e7b-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "virtual:e9c4202a586b530c0288b69642b06c9b8f3a54969f1490a4a1a5d7b5bfb44d8bf1e065615947936b079144efbbe8bd93aeb9e663b7eb8abed6f67b3bcaa14e4a#npm:10.1.3"],\ + ["@types/eslint", null],\ + ["debug", "virtual:4cc171bb7957cc47db5b808dac6dfcd82660e85341a5cfb7ce3fc8599d7e3c9293ea3705ced0795d6592b9073fadbbd5c92211adb9c58846c99c57fc95c94ed0#npm:4.4.0"],\ + ["eslint", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:9.25.1"],\ + ["eslint-scope", "npm:8.3.0"],\ + ["eslint-visitor-keys", "npm:4.2.0"],\ + ["espree", "npm:10.3.0"],\ + ["esquery", "npm:1.6.0"],\ + ["lodash", "npm:4.17.21"],\ + ["semver", "npm:7.7.1"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-router", [\ + ["npm:4.5.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vue-router-npm-4.5.0-eade46eba9-10c0.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "npm:4.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:4.5.0", {\ + "packageLocation": "./.yarn/__virtual__/vue-router-virtual-521ad69dc8/5/AppData/Local/Yarn/Berry/cache/vue-router-npm-4.5.0-eade46eba9-10c0.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:4.5.0"],\ + ["@types/vue", null],\ + ["@vue/devtools-api", "npm:6.6.4"],\ + ["vue", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:3.5.13"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-tsc", [\ + ["npm:2.2.10", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/vue-tsc-npm-2.2.10-d816286ca7-10c0.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "npm:2.2.10"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:2.2.10", {\ + "packageLocation": "./.yarn/__virtual__/vue-tsc-virtual-e470801945/5/AppData/Local/Yarn/Berry/cache/vue-tsc-npm-2.2.10-d816286ca7-10c0.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "virtual:7d6457be6b857bdb44066d1c6f9d2471ca71cf43c0df847ead5ae9289c5e9f98de3a67668fdd588c95fcb212da2ba4f12a34babd1f52380566b5d7bf44a88ca5#npm:2.2.10"],\ + ["@types/typescript", null],\ + ["@volar/typescript", "npm:2.4.12"],\ + ["@vue/language-core", "virtual:e47080194554533e636eadbe5253000ef8765b02a3f48300699e6f3787a9aec5f15ab30099d019cc69d85a271c0df9292861266b00a437bb7a34d1ba85294d63#npm:2.2.10"],\ + ["typescript", "patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:2.0.2", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/which-npm-5.0.0-15aa39eb60-10c0.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:5.0.0"],\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["word-wrap", [\ + ["npm:1.2.5", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/word-wrap-npm-1.2.5-42d00c4b09-10c0.zip/node_modules/word-wrap/",\ + "packageDependencies": [\ + ["word-wrap", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:7.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xml-name-validator", [\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/xml-name-validator-npm-4.0.0-0857c21729-10c0.zip/node_modules/xml-name-validator/",\ + "packageDependencies": [\ + ["xml-name-validator", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:3.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/yallist-npm-3.1.1-a568a556b4-10c0.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/yallist-npm-5.0.0-8732dd9f1c-10c0.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yoctocolors", [\ + ["npm:2.1.1", {\ + "packageLocation": "../../../../AppData/Local/Yarn/Berry/cache/yoctocolors-npm-2.1.1-b7d3fb8a79-10c0.zip/node_modules/yoctocolors/",\ + "packageDependencies": [\ + ["yoctocolors", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ +}'; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +} + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const os = require('os'); +const events = require('events'); +const nodeUtils = require('util'); +const stream = require('stream'); +const zlib = require('zlib'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const buffer = require('buffer'); +const readline = require('readline'); +const assert = require('assert'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + uid = 0; + gid = 0; + size = 0; + blksize = 0; + atimeMs = 0; + mtimeMs = 0; + ctimeMs = 0; + birthtimeMs = 0; + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = 0; + ino = 0; + mode = DEFAULT_MODE; + nlink = 1; + rdev = 0; + blocks = 1; + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + uid = BigInt(0); + gid = BigInt(0); + size = BigInt(0); + blksize = BigInt(0); + atimeMs = BigInt(0); + mtimeMs = BigInt(0); + ctimeMs = BigInt(0); + birthtimeMs = BigInt(0); + atimeNs = BigInt(0); + mtimeNs = BigInt(0); + ctimeNs = BigInt(0); + birthtimeNs = BigInt(0); + atime = /* @__PURE__ */ new Date(0); + mtime = /* @__PURE__ */ new Date(0); + ctime = /* @__PURE__ */ new Date(0); + birthtime = /* @__PURE__ */ new Date(0); + dev = BigInt(0); + ino = BigInt(0); + mode = BigInt(DEFAULT_MODE); + nlink = BigInt(1); + rdev = BigInt(0); + blocks = BigInt(1); + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = /* @__PURE__ */ new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + bigintStats[key] = new Date(element); + } + } + } + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) + return false; + if (a.birthtimeMs !== b.birthtimeMs) + return false; + if (a.blksize !== b.blksize) + return false; + if (a.blocks !== b.blocks) + return false; + if (a.ctimeMs !== b.ctimeMs) + return false; + if (a.dev !== b.dev) + return false; + if (a.gid !== b.gid) + return false; + if (a.ino !== b.ino) + return false; + if (a.isBlockDevice() !== b.isBlockDevice()) + return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) + return false; + if (a.isDirectory() !== b.isDirectory()) + return false; + if (a.isFIFO() !== b.isFIFO()) + return false; + if (a.isFile() !== b.isFile()) + return false; + if (a.isSocket() !== b.isSocket()) + return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) + return false; + if (a.mode !== b.mode) + return false; + if (a.mtimeMs !== b.mtimeMs) + return false; + if (a.nlink !== b.nlink) + return false; + if (a.rdev !== b.rdev) + return false; + if (a.size !== b.size) + return false; + if (a.uid !== b.uid) + return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) + return false; + if (aN.mtimeNs !== bN.mtimeNs) + return false; + if (aN.ctimeNs !== bN.ctimeNs) + return false; + if (aN.birthtimeNs !== bN.birthtimeNs) + return false; + return true; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + home: `~`, + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + /** + * @deprecated + */ + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + pnpData: `.pnp.data.json`, + pnpEsmLoader: `.pnp.loader.mjs`, + rc: `.yarnrc.yml`, + env: `.env` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.default.posix.resolve(ppath.cwd(), ...segments); + } + }; +} +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePathWin32(p) { + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + } + closed = false; + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) + return cb(null, dirent); + return Promise.resolve(dirent); + } + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) + return cb(null); + return Promise.resolve(); + } + closeSync() { + this.throwIfClosed(); + this.opts.onClose?.(); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + const entryPath = fakeFs.pathUtils.join(path, filename); + return Object.assign(fakeFs.statSync(entryPath), { + name: filename, + path: void 0 + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + fakeFs; + path; + bigint; + status = "ready" /* Ready */; + changeListeners = /* @__PURE__ */ new Map(); + lastStats; + startTimeout = null; + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + /** + * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes. + * + * @param opts.persistent Decides whether the interval should be immediately unref-ed. + */ + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + unregisterChangeListener(listener) { + this.removeListener("change" /* Change */, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) + clearInterval(interval); + this.changeListeners.delete(listener); + } + /** + * Unregisters all listeners and clears all assigned intervals. + */ + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + hasChangeListeners() { + return this.changeListeners.size > 0; + } + /** + * Refs all stored intervals. + */ + ref() { + for (const interval of this.changeListeners.values()) + interval.ref(); + return this; + } + /** + * Unrefs all stored intervals. + */ + unref() { + for (const interval of this.changeListeners.values()) + interval.unref(); + return this; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); + let statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +class FakeFS { + pathUtils; + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = crypto.createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async rmPromise(p, opts) { + return this.baseFs.rmPromise(this.mapToBase(p), opts); + } + rmSync(p, opts) { + return this.baseFs.rmSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + // @ts-expect-error + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + // @ts-expect-error + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + realFs; + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async rmPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmSync(p, opts) { + return this.realFs.rmSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + // @ts-expect-error + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + // @ts-expect-error + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const MOUNT_MASK = 4278190080; +class MountFS extends BasePortableFakeFS { + baseFs; + mountInstances; + fdMap = /* @__PURE__ */ new Map(); + nextFd = 3; + factoryPromise; + factorySync; + filter; + getMountPoint; + magic; + maxAge; + maxOpenFiles; + typeCheck; + isMount = /* @__PURE__ */ new Set(); + notMount = /* @__PURE__ */ new Set(); + realPaths = /* @__PURE__ */ new Map(); + constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { + if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) + throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); + super(); + this.baseFs = baseFs; + this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.factoryPromise = factoryPromise; + this.factorySync = factorySync; + this.filter = filter; + this.getMountPoint = getMountPoint; + this.magic = magicByte << 24; + this.maxAge = maxAge; + this.maxOpenFiles = maxOpenFiles; + this.typeCheck = typeCheck; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.discardAndClose?.(); + this.mountInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(mountFs, fd) { + const remappedFd = this.nextFd++ | this.magic; + this.fdMap.set(remappedFd, [mountFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (mountFs, { subPath }) => { + return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (mountFs, { subPath }) => { + return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [mountFs, realFd] = entry; + return await mountFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [mountFs, realFd] = entry; + return mountFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`write`); + const [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return await mountFs.writePromise(realFd, buffer, offset); + } else { + return await mountFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`writeSync`); + const [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return mountFs.writeSync(realFd, buffer, offset); + } else { + return mountFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return await mountFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return mountFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (mountFs, { archivePath, subPath }) => { + const stream = mountFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (mountFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await mountFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (mountFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, mountFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (mountFs, { subPath }) => { + return mountFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (mountFs, { subPath }) => { + return await mountFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (mountFs, { subPath }) => { + return mountFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [mountFs, realFd] = entry; + return mountFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [mountFs, realFd] = entry; + return mountFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [mountFs, realFd] = entry; + return mountFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [mountFs, realFd] = entry; + return mountFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (mountFs, { subPath }) => { + return await mountFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (mountFs, { subPath }) => { + return mountFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (mountFs, { subPath }) => { + return await mountFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (mountFs, { subPath }) => { + return mountFs.chownSync(subPath, uid, gid); + }); + } + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, async (mountFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await mountFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, (mountFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return mountFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (mountFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, async (mountFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(mountFsS, subPathS, this.baseFs, destP); + }, async (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return await fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return await mountFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (mountFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, (mountFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(mountFsS, subPathS, this.baseFs, destP); + }, (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return mountFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.utimesSync(subPath, atime, mtime); + }); + } + async lutimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lutimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.lutimesPromise(subPath, atime, mtime); + }); + } + lutimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.lutimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.lutimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.rmdirSync(subPath, opts); + }); + } + async rmPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.rmPromise(subPath, opts); + }); + } + rmSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.rmSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (mountFs, { subPath }) => { + return await mountFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (mountFs, { subPath }) => { + return mountFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (mountFs, { subPath }) => { + return await mountFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (mountFs, { subPath }) => { + return mountFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + return await this.baseFs.readFilePromise(p, encoding); + }, async (mountFs, { subPath }) => { + return await mountFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + return this.baseFs.readFileSync(p, encoding); + }, (mountFs, { subPath }) => { + return mountFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (mountFs, { subPath }) => { + return await mountFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (mountFs, { subPath }) => { + return mountFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [mountFs, realFd] = entry; + return mountFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [mountFs, realFd] = entry; + return mountFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + // @ts-expect-error + a, + b + ); + }, (mountFs, { subPath }) => { + return mountFs.watch( + subPath, + // @ts-expect-error + a, + b + ); + }); + } + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile( + p, + // @ts-expect-error + a, + b + ); + }, () => { + return watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return await discard(); + const normalizedP = this.resolve(p); + const mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return await discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return await discard(); + return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return discard(); + return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); + } + findMount(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); + if (!mountPoint) + return null; + filePath = this.pathUtils.join(filePath, mountPoint); + if (!this.isMount.has(filePath)) { + if (this.notMount.has(filePath)) + continue; + try { + if (this.typeCheck !== null && (this.baseFs.statSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { + this.notMount.add(filePath); + continue; + } + } catch { + return null; + } + this.isMount.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFilesTimeout = null; + limitOpenFiles(max) { + if (this.mountInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.mountInstances.size - max; + for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { + if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { + continue; + } else if (now >= expiresAt) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getMountPromise(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + const createFsInstance = await this.factoryPromise(this.baseFs, p); + cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: createFsInstance(), + expiresAt: 0, + refCount: 0 + }; + } + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + cachedMountFs.refCount += 1; + try { + return await accept(cachedMountFs.childFs); + } finally { + cachedMountFs.refCount -= 1; + } + } else { + const mountFs = (await this.factoryPromise(this.baseFs, p))(); + try { + return await accept(mountFs); + } finally { + mountFs.saveAndClose?.(); + } + } + } + getMountSync(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: this.factorySync(this.baseFs, p), + expiresAt: 0, + refCount: 0 + }; + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedMountFs.childFs); + } else { + const childFs = this.factorySync(this.baseFs, p); + try { + return accept(childFs); + } finally { + childFs.saveAndClose?.(); + } + } + } +} + +class PosixFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + baseFs; + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; + +class NodePathFS extends ProxiedFS { + baseFs; + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (!isUtf8(path, str)) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} +function isUtf8(buf, str) { + if (typeof buffer__default.default.isUtf8 !== `undefined`) + return buffer__default.default.isUtf8(buf); + return Buffer.byteLength(str) === buf.byteLength; +} + +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + [kBaseFs]; + [kFd]; + [kRefs] = 1; + [kClosePromise] = void 0; + [kCloseResolve] = void 0; + [kCloseReject] = void 0; + constructor(fd, baseFs) { + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + try { + this[kRef](this.appendFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + // FIXME: Missing FakeFS version + datasync() { + throw new Error(`Method not implemented.`); + } + // FIXME: Missing FakeFS version + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions ??= {}; + buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = bufferOrOptions.length ?? buffer.byteLength; + position = bufferOrOptions.position ?? null; + } else { + buffer = bufferOrOptions; + } + offset ??= 0; + length ??= 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + try { + this[kRef](this.readFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + readLines(options) { + return readline.createInterface({ + input: this.createReadStream(options), + crlfDelay: Infinity + }); + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + // FIXME: Missing FakeFS version + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + try { + this[kRef](this.writeFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + // TODO: Use writev from FakeFS when that is implemented + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + // FIXME: Missing FakeFS version + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) return Promise.resolve(); + if (this[kClosePromise]) return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [kRef](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `rmSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `rmPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeFs.existsPromise(p).then((exists) => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + callback(error, 0, buffer); + }); + }); + }); + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + { + const patchedFsPromises = patchedFs.promises; + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +let cachedInstance; +let registeredFactory = () => { + throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); +}; +function setFactory(factory) { + registeredFactory = factory; +} +function getInstance() { + if (typeof cachedInstance === `undefined`) + cachedInstance = registeredFactory(); + return cachedInstance; +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) ; + if (Module["thisProgram"]) ; + if (Module["quit"]) ; + var wasmBinary; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return LE_HEAP_LOAD_I16((ptr >> 1) * 2); + case "i32": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "i64": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "float": + return LE_HEAP_LOAD_F32((ptr >> 2) * 4); + case "double": + return LE_HEAP_LOAD_F64((ptr >> 3) * 8); + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") return UTF8ToString(ret2); + if (returnType === "boolean") return Boolean(ret2); + return ret2; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments); + }; + } + var UTF8Decoder = new TextDecoder("utf8"); + function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4; + } + return len; + } + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function writeArrayToMemory(array, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8; + var HEAP_DATA_VIEW; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = new Int16Array(buf); + Module["HEAP32"] = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = new Float32Array(buf); + Module["HEAPF64"] = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile = "data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASELIAMhBQsgBkIuEBciA0UEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyAFEBwMAgsgA0GjEkGoEiACQYACcSIHG0EEECwgB0UEQCADIAkEf0EtBSABLwEIC0H//wNxEA0LIAMgCQR/QS0FIAEvAQoLQf//A3EQDSADIAEvAQwQDSADIAsEf0HjAAUgASgCEAtB//8DcRANIAYgASgCFDYCPAJ/IAZBPGoQjQEiCEUEQEEAIQlBIQwBCwJ/IAgoAhQiBEHQAE4EQCAEQQl0DAELIAhB0AA2AhRBgMACCyEEIAgoAgRBBXQgCCgCCEELdGogCCgCAEEBdmohCSAIKAIMIAQgCCgCEEEFdGpqQaDAAWoLIQQgAyAJQf//A3EQDSADIARB//8DcRANIAMCfyALBEBBACABKQMoQhRUDQEaCyABKAIYCxASIAEpAyAhDCADAn8gAwJ/AkAgBwRAIAxC/v///w9YBEAgASkDKEL/////D1QNAgsgA0F/EBJBfwwDC0F/IAxC/v///w9WDQEaCyAMpwsQEiABKQMoIgxC/////w8gDEL/////D1QbpwsQEiADIAEoAjAiBAR/IAQvAQQFQQALQf//A3EQDSADIAEoAjQgAhBsIAVBgAYQbGpB//8DcRANIAdFBEAgAyABKAI4IgQEfyAELwEEBUEAC0H//wNxEA0gAyABLwE8EA0gAyABLwFAEA0gAyABKAJEEBIgAyABKQNIIgxC/////w8gDEL/////D1QbpxASCyADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAMQCCAFEBwMAgsgACAGIAMtAAAEfiADKQMQBUIACxAbIQQgAxAIIARBf0wNACABKAIwIgMEQCAAIAMQYUF/TA0BCyAFBEAgACAFQYAGEGtBf0wNAQsgBRAcIAEoAjQiBQRAIAAgBSACEGtBAEgNAgsgBw0CIAEoAjgiAUUNAiAAIAEQYUEATg0CDAELIAUQHAtBfyEKCyAGQUBrJAAgCgtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvcAwICfgF/IAOtIQQgACkDmC4hBQJAIAACfyAAAn4gACgCoC4iBkEDaiIDQT9NBEAgBCAGrYYgBYQMAQsgBkHAAEYEQCAAKAIEIAAoAhBqIAU3AAAgACgCEEEIagwCCyAAKAIEIAAoAhBqIAQgBq2GIAWENwAAIAAgACgCEEEIajYCECAGQT1rIQMgBEHAACAGa62ICyIENwOYLiAAIAM2AqAuIANBOU4EQCAAKAIEIAAoAhBqIAQ3AAAgACAAKAIQQQhqNgIQDAILIANBGU4EQCAAKAIEIAAoAhBqIAQ+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiBDcDmC4gACAAKAKgLkEgayIDNgKgLgsgA0EJTgR/IAAoAgQgACgCEGogBD0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghBCAAKAKgLkEQawUgAwtBAUgNASAAKAIQCyIDQQFqNgIQIAAoAgQgA2ogBDwAAAsgAEEANgKgLiAAQgA3A5guIAAoAgQgACgCEGogAjsAACAAIAAoAhBBAmoiAzYCECAAKAIEIANqIAJBf3M7AAAgACAAKAIQQQJqIgM2AhAgAgRAIAAoAgQgA2ogASACEAcaIAAgACgCECACajYCEAsLrAQCAX8BfgJAIAANACABUA0AIAMEQCADQQA2AgQgA0ESNgIAC0EADwsCQAJAIAAgASACIAMQiQEiBEUNAEEYEAkiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAkiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEkNgIEIABCPyACQQBCAEEOQSQRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQciEASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB3IQBakYaIAAoAgwiAyAERw0CQbSEAUG0hAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQiAkEDcUEDRw0BQbyEASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAsCQCAFKAIEIgJBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAA2AgBBwIQBQcCEASgCACABaiIBNgIAIAAgAUEBcjYCBCAAQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASAANgIAQbyEAUG8hAEoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEBAkAgAkH/AU0EQCAFKAIIIgQgAkEDdiICQQN0QdyEAWpGGiAEIAUoAgwiA0YEQEG0hAFBtIQBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAFQRRqIgQoAgAiAg0AIAVBEGoiBCgCACICDQBBACEDDAELA0AgBCEHIAIiA0EUaiIEKAIAIgINACADQRBqIQQgAygCECICDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAgRAIAMgAjYCECACIAM2AhgLIAUoAhQiAkUNACADIAI2AhQgAiADNgIYCyAAIAFBAXI2AgQgACABaiABNgIAIABByIQBKAIARw0BQbyEASABNgIADwsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFB/wFNBEAgAUEDdiICQQN0QdyEAWohAQJ/QbSEASgCACIDQQEgAnQiAnFFBEBBtIQBIAIgA3I2AgAgAQwBCyABKAIICyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCA8LQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBCHYiAiACQYD+P2pBEHZBCHEiBHQiAiACQYDgH2pBEHZBBHEiA3QiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAEciACcmsiAkEBdCABIAJBFWp2QQFxckEcaiECCyAAIAI2AhwgAkECdEHkhgFqIQcCQAJAQbiEASgCACIEQQEgAnQiA3FFBEBBuIQBIAMgBHI2AgAgByAANgIAIAAgBzYCGAwBCyABQQBBGSACQQF2ayACQR9GG3QhAiAHKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWoiB0EQaigCACIDDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC1gCAX8BfgJAAn9BACAARQ0AGiAArUIChiICpyIBIABBBHJBgIAESQ0AGkF/IAEgAkIgiKcbCyIBEAkiAEUNACAAQQRrLQAAQQNxRQ0AIABBACABEBkLIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAQgBWshAwsgAwsUACAAEEAgACgCABAgIAAoAgQQIAutBAIBfgV/IwBBEGsiBCQAIAAgAWshBgJAAkAgAUEBRgRAIAAgBi0AACACEBkMAQsgAUEJTwRAIAAgBikAADcAACAAIAJBAWtBB3FBAWoiBWohACACIAVrIgFFDQIgBSAGaiECA0AgACACKQAANwAAIAJBCGohAiAAQQhqIQAgAUEIayIBDQALDAILAkACQAJAAkAgAUEEaw4FAAICAgECCyAEIAYoAAAiATYCBCAEIAE2AgAMAgsgBCAGKQAANwMADAELQQghByAEQQhqIQgDQCAIIAYgByABIAEgB0sbIgUQByAFaiEIIAcgBWsiBw0ACyAEIAQpAwg3AwALAkAgBQ0AIAJBEEkNACAEKQMAIQMgAkEQayIGQQR2QQFqQQdxIgEEQANAIAAgAzcACCAAIAM3AAAgAkEQayECIABBEGohACABQQFrIgENAAsLIAZB8ABJDQADQCAAIAM3AHggACADNwBwIAAgAzcAaCAAIAM3AGAgACADNwBYIAAgAzcAUCAAIAM3AEggACADNwBAIAAgAzcAOCAAIAM3ADAgACADNwAoIAAgAzcAICAAIAM3ABggACADNwAQIAAgAzcACCAAIAM3AAAgAEGAAWohACACQYABayICQQ9LDQALCyACQQhPBEBBCCAFayEBA0AgACAEKQMANwAAIAAgAWohACACIAFrIgJBB0sNAAsLIAJFDQEgACAEIAIQBxoLIAAgAmohAAsgBEEQaiQAIAALXwECfyAAKAIIIgEEQCABEAsgAEEANgIICwJAIAAoAgQiAUUNACABKAIAIgJBAXFFDQAgASgCEEF+Rw0AIAEgAkF+cSICNgIAIAINACABECAgAEEANgIECyAAQQA6AAwL1wICBH8BfgJAAkAgACgCQCABp0EEdGooAgAiA0UEQCACBEAgAkEANgIEIAJBFDYCAAsMAQsgACgCACADKQNIIgdBABAUIQMgACgCACEAIANBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQtCACEBIwBBEGsiBiQAQX8hAwJAIABCGkEBEBRBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsgAEIEIAZBCmogAhAtIgRFDQBBHiEAQQEhBQNAIAQQDCAAaiEAIAVBAkcEQCAFQQFqIQUMAQsLIAQtAAAEfyAEKQMQIAQpAwhRBUEAC0UEQCACBEAgAkEANgIEIAJBFDYCAAsgBBAIDAELIAQQCCAAIQMLIAZBEGokACADIgBBAEgNASAHIACtfCIBQn9VDQEgAgRAIAJBFjYCBCACQQQ2AgALC0IAIQELIAELYAIBfgF/AkAgAEUNACAAQQhqEF8iAEUNACABIAEoAjBBAWo2AjAgACADNgIIIAAgAjYCBCAAIAE2AgAgAEI/IAEgA0EAQgBBDiACEQoAIgQgBEIAUxs3AxggACEFCyAFCyIAIAAoAiRBAWtBAU0EQCAAQQBCAEEKEA4aIABBADYCJAsLbgACQAJAAkAgA0IQVA0AIAJFDQECfgJAAkACQCACKAIIDgMCAAEECyACKQMAIAB8DAILIAIpAwAgAXwMAQsgAikDAAsiA0IAUw0AIAEgA1oNAgsgBARAIARBADYCBCAEQRI2AgALC0J/IQMLIAMLggICAX8CfgJAQQEgAiADGwRAIAIgA2oQCSIFRQRAIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgAq0hBgJAAkAgAARAIAAgBhATIgBFBEAgBARAIARBADYCBCAEQQ42AgALDAULIAUgACACEAcaIAMNAQwCCyABIAUgBhARIgdCf1cEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMBAsgBiAHVQRAIAQEQCAEQQA2AgQgBEERNgIACwwECyADRQ0BCyACIAVqIgBBADoAACACQQFIDQAgBSECA0AgAi0AAEUEQCACQSA6AAALIAJBAWoiAiAASQ0ACwsLIAUPCyAFEAZBAAuBAQEBfwJAIAAEQCADQYAGcSEFQQAhAwNAAkAgAC8BCCACRw0AIAUgACgCBHFFDQAgA0EATg0DIANBAWohAwsgACgCACIADQALCyAEBEAgBEEANgIEIARBCTYCAAtBAA8LIAEEQCABIAAvAQo7AQALIAAvAQpFBEBBwBQPCyAAKAIMC1cBAX9BEBAJIgNFBEBBAA8LIAMgATsBCiADIAA7AQggA0GABjYCBCADQQA2AgACQCABBEAgAyACIAEQYyIANgIMIAANASADEAZBAA8LIANBADYCDAsgAwvuBQIEfwV+IwBB4ABrIgQkACAEQQhqIgNCADcDICADQQA2AhggA0L/////DzcDECADQQA7AQwgA0G/hig2AgggA0EBOgAGIANBADsBBCADQQA2AgAgA0IANwNIIANBgIDYjXg2AkQgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0EAOwEAIANCADcDUCABKQMIUCIDRQRAIAEoAgAoAgApA0ghBwsCfgJAIAMEQCAHIQkMAQsgByEJA0AgCqdBBHQiBSABKAIAaigCACIDKQNIIgggCSAIIAlUGyIJIAEpAyBWBEAgAgRAIAJBADYCBCACQRM2AgALQn8MAwsgAygCMCIGBH8gBi8BBAVBAAtB//8Dca0gCCADKQMgfHxCHnwiCCAHIAcgCFQbIgcgASkDIFYEQCACBEAgAkEANgIEIAJBEzYCAAtCfwwDCyAAKAIAIAEoAgAgBWooAgApA0hBABAUIQYgACgCACEDIAZBf0wEQCACBEAgAiADKAIMNgIAIAIgAygCEDYCBAtCfwwDCyAEQQhqIANBAEEBIAIQaEJ/UQRAIARBCGoQNkJ/DAMLAkACQCABKAIAIAVqKAIAIgMvAQogBC8BEkkNACADKAIQIAQoAhhHDQAgAygCFCAEKAIcRw0AIAMoAjAgBCgCOBBiRQ0AAkAgBCgCICIGIAMoAhhHBEAgBCkDKCEIDAELIAMpAyAiCyAEKQMoIghSDQAgCyEIIAMpAyggBCkDMFENAgsgBC0AFEEIcUUNACAGDQAgCEIAUg0AIAQpAzBQDQELIAIEQCACQQA2AgQgAkEVNgIACyAEQQhqEDZCfwwDCyABKAIAIAVqKAIAKAI0IAQoAjwQbyEDIAEoAgAgBWooAgAiBUEBOgAEIAUgAzYCNCAEQQA2AjwgBEEIahA2IApCAXwiCiABKQMIVA0ACwsgByAJfSIHQv///////////wAgB0L///////////8AVBsLIQcgBEHgAGokACAHC8YBAQJ/QdgAEAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAECf0EYEAkiAkUEQCAABEAgAEEANgIEIABBDjYCAAtBAAwBCyACQQA2AhAgAkIANwMIIAJBADYCACACCyIANgJQIABFBEAgARAGQQAPCyABQgA3AwAgAUEANgIQIAFCADcCCCABQgA3AhQgAUEANgJUIAFCADcCHCABQgA3ACEgAUIANwMwIAFCADcDOCABQUBrQgA3AwAgAUIANwNIIAELgBMCD38CfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohEyAFQThqIRBBACEBA0ACQCAOQQBIDQBB/////wcgDmsgAUgEQEGEhAFBPTYCAEF/IQ4MAQsgASAOaiEOCyAFKAJMIgchAQJAAkACQAJAAkACQAJAAkAgBQJ/AkAgBy0AACIGBEADQAJAAkAgBkH/AXEiBkUEQCABIQYMAQsgBkElRw0BIAEhBgNAIAEtAAFBJUcNASAFIAFBAmoiCDYCTCAGQQFqIQYgAS0AAiEMIAghASAMQSVGDQALCyAGIAdrIQEgAARAIAAgByABEC4LIAENDSAFKAJMIQEgBSgCTCwAAUEwa0EKTw0DIAEtAAJBJEcNAyABLAABQTBrIQ9BASERIAFBA2oMBAsgBSABQQFqIgg2AkwgAS0AASEGIAghAQwACwALIA4hDSAADQggEUUNAkEBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhB4QQEhDSABQQFqIgFBCkcNAQwKCwtBASENIAFBCk8NCANAIAQgAUECdGooAgANCCABQQFqIgFBCkcNAAsMCAtBfyEPIAFBAWoLIgE2AkxBACEIAkAgASwAACIKQSBrIgZBH0sNAEEBIAZ0IgZBidEEcUUNAANAAkAgBSABQQFqIgg2AkwgASwAASIKQSBrIgFBIE8NAEEBIAF0IgFBidEEcUUNACABIAZyIQYgCCEBDAELCyAIIQEgBiEICwJAIApBKkYEQCAFAn8CQCABLAABQTBrQQpPDQAgBSgCTCIBLQACQSRHDQAgASwAAUECdCAEakHAAWtBCjYCACABLAABQQN0IANqQYADaygCACELQQEhESABQQNqDAELIBENCEEAIRFBACELIAAEQCACIAIoAgAiAUEEajYCACABKAIAIQsLIAUoAkxBAWoLIgE2AkwgC0F/Sg0BQQAgC2shCyAIQYDAAHIhCAwBCyAFQcwAahB3IgtBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQdyEJIAUoAkwhAQtBACEGA0AgBiESQX8hDSABLAAAQcEAa0E5Sw0HIAUgAUEBaiIKNgJMIAEsAAAhBiAKIQEgBiASQTpsakGf7ABqLQAAIgZBAWtBCEkNAAsgBkETRg0CIAZFDQYgD0EATgRAIAQgD0ECdGogBjYCACAFIAMgD0EDdGopAwA3A0AMBAsgAA0BC0EAIQ0MBQsgBUFAayAGIAIQeCAFKAJMIQoMAgsgD0F/Sg0DC0EAIQEgAEUNBAsgCEH//3txIgwgCCAIQYDAAHEbIQZBACENQaQIIQ8gECEIAkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgCkEBaywAACIBQV9xIAEgAUEPcUEDRhsgASASGyIBQdgAaw4hBBISEhISEhISDhIPBg4ODhIGEhISEgIFAxISCRIBEhIEAAsCQCABQcEAaw4HDhILEg4ODgALIAFB0wBGDQkMEQsgBSkDQCEUQaQIDAULQQAhAQJAAkACQAJAAkACQAJAIBJB/wFxDggAAQIDBBcFBhcLIAUoAkAgDjYCAAwWCyAFKAJAIA42AgAMFQsgBSgCQCAOrDcDAAwUCyAFKAJAIA47AQAMEwsgBSgCQCAOOgAADBILIAUoAkAgDjYCAAwRCyAFKAJAIA6sNwMADBALIAlBCCAJQQhLGyEJIAZBCHIhBkH4ACEBCyAQIQcgAUEgcSEMIAUpA0AiFFBFBEADQCAHQQFrIgcgFKdBD3FBsPAAai0AACAMcjoAACAUQg9WIQogFEIEiCEUIAoNAAsLIAUpA0BQDQMgBkEIcUUNAyABQQR2QaQIaiEPQQIhDQwDCyAQIQEgBSkDQCIUUEUEQANAIAFBAWsiASAUp0EHcUEwcjoAACAUQgdWIQcgFEIDiCEUIAcNAAsLIAEhByAGQQhxRQ0CIAkgECAHayIBQQFqIAEgCUgbIQkMAgsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASENQaQIDAELIAZBgBBxBEBBASENQaUIDAELQaYIQaQIIAZBAXEiDRsLIQ8gECEBAkAgFEKAgICAEFQEQCAUIRUMAQsDQCABQQFrIgEgFCAUQgqAIhVCCn59p0EwcjoAACAUQv////+fAVYhByAVIRQgBw0ACwsgFaciBwRAA0AgAUEBayIBIAcgB0EKbiIMQQpsa0EwcjoAACAHQQlLIQogDCEHIAoNAAsLIAEhBwsgBkH//3txIAYgCUF/ShshBgJAIAUpA0AiFEIAUg0AIAkNAEEAIQkgECEHDAoLIAkgFFAgECAHa2oiASABIAlIGyEJDAkLIAUoAkAiAUGKEiABGyIHQQAgCRB6IgEgByAJaiABGyEIIAwhBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIAtBACAGECcMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQeSIHQQBIIgwNACAHIAkgAWtLDQAgCEEEaiEIIAkgASAHaiIBSw0BDAILC0F/IQ0gDA0FCyAAQSAgCyABIAYQJyABRQRAQQAhAQwBC0EAIQggBSgCQCEKA0AgCigCACIHRQ0BIAVBBGogBxB5IgcgCGoiCCABSg0BIAAgBUEEaiAHEC4gCkEEaiEKIAEgCEsNAAsLIABBICALIAEgBkGAwABzECcgCyABIAEgC0gbIQEMBQsgACAFKwNAIAsgCSAGIAFBABEdACEBDAQLIAUgBSkDQDwAN0EBIQkgEyEHIAwhBgwCC0F/IQ0LIAVB0ABqJAAgDQ8LIABBICANIAggB2siDCAJIAkgDEgbIgpqIgggCyAIIAtKGyIBIAggBhAnIAAgDyANEC4gAEEwIAEgCCAGQYCABHMQJyAAQTAgCiAMQQAQJyAAIAcgDBAuIABBICABIAggBkGAwABzECcMAAsAC54DAgR/AX4gAARAIAAoAgAiAQRAIAEQGhogACgCABALCyAAKAIcEAYgACgCIBAQIAAoAiQQECAAKAJQIgMEQCADKAIQIgIEQCADKAIAIgEEfwNAIAIgBEECdGooAgAiAgRAA0AgAigCGCEBIAIQBiABIgINAAsgAygCACEBCyABIARBAWoiBEsEQCADKAIQIQIMAQsLIAMoAhAFIAILEAYLIAMQBgsgACgCQCIBBEAgACkDMFAEfyABBSABED5CAiEFAkAgACkDMEICVA0AQQEhAgNAIAAoAkAgAkEEdGoQPiAFIAApAzBaDQEgBachAiAFQgF8IQUMAAsACyAAKAJACxAGCwJAIAAoAkRFDQBBACECQgEhBQNAIAAoAkwgAkECdGooAgAiAUEBOgAoIAFBDGoiASgCAEUEQCABBEAgAUEANgIEIAFBCDYCAAsLIAUgADUCRFoNASAFpyECIAVCAXwhBQwACwALIAAoAkwQBiAAKAJUIgIEQCACKAIIIgEEQCACKAIMIAERAwALIAIQBgsgAEEIahAxIAAQBgsL6gMCAX4EfwJAIAAEfiABRQRAIAMEQCADQQA2AgQgA0ESNgIAC0J/DwsgAkGDIHEEQAJAIAApAzBQDQBBPEE9IAJBAXEbIQcgAkECcUUEQANAIAAgBCACIAMQUyIFBEAgASAFIAcRAgBFDQYLIARCAXwiBCAAKQMwVA0ADAILAAsDQCAAIAQgAiADEFMiBQRAIAECfyAFECJBAWohBgNAQQAgBkUNARogBSAGQQFrIgZqIggtAABBL0cNAAsgCAsiBkEBaiAFIAYbIAcRAgBFDQULIARCAXwiBCAAKQMwVA0ACwsgAwRAIANBADYCBCADQQk2AgALQn8PC0ESIQYCQAJAIAAoAlAiBUUNACABRQ0AQQkhBiAFKQMIUA0AIAUoAhAgAS0AACIHBH9CpesKIQQgASEAA0AgBCAHrUL/AYN8IQQgAC0AASIHBEAgAEEBaiEAIARC/////w+DQiF+IQQMAQsLIASnBUGFKgsgBSgCAHBBAnRqKAIAIgBFDQADQCABIAAoAgAQOEUEQCACQQhxBEAgACkDCCIEQn9RDQMMBAsgACkDECIEQn9RDQIMAwsgACgCGCIADQALCyADBEAgA0EANgIEIAMgBjYCAAtCfyEECyAEBUJ/Cw8LIAMEQCADQgA3AgALIAQL3AQCB38BfgJAAkAgAEUNACABRQ0AIAJCf1UNAQsgBARAIARBADYCBCAEQRI2AgALQQAPCwJAIAAoAgAiB0UEQEGAAiEHQYACEDwiBkUNASAAKAIQEAYgAEGAAjYCACAAIAY2AhALAkACQCAAKAIQIAEtAAAiBQR/QqXrCiEMIAEhBgNAIAwgBa1C/wGDfCEMIAYtAAEiBQRAIAZBAWohBiAMQv////8Pg0IhfiEMDAELCyAMpwVBhSoLIgYgB3BBAnRqIggoAgAiBQRAA0ACQCAFKAIcIAZHDQAgASAFKAIAEDgNAAJAIANBCHEEQCAFKQMIQn9SDQELIAUpAxBCf1ENBAsgBARAIARBADYCBCAEQQo2AgALQQAPCyAFKAIYIgUNAAsLQSAQCSIFRQ0CIAUgATYCACAFIAgoAgA2AhggCCAFNgIAIAVCfzcDCCAFIAY2AhwgACAAKQMIQgF8Igw3AwggDLogB7hEAAAAAAAA6D+iZEUNACAHQQBIDQAgByAHQQF0IghGDQAgCBA8IgpFDQECQCAMQgAgBxtQBEAgACgCECEJDAELIAAoAhAhCUEAIQQDQCAJIARBAnRqKAIAIgYEQANAIAYoAhghASAGIAogBigCHCAIcEECdGoiCygCADYCGCALIAY2AgAgASIGDQALCyAEQQFqIgQgB0cNAAsLIAkQBiAAIAg2AgAgACAKNgIQCyADQQhxBEAgBSACNwMICyAFIAI3AxBBAQ8LIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgBARAIARBADYCBCAEQQ42AgALQQAL3Q8BF38jAEFAaiIHQgA3AzAgB0IANwM4IAdCADcDICAHQgA3AygCQAJAAkACQAJAIAIEQCACQQNxIQggAkEBa0EDTwRAIAJBfHEhBgNAIAdBIGogASAJQQF0IgxqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBAnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBHJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgCUEEaiEJIAZBBGsiBg0ACwsgCARAA0AgB0EgaiABIAlBAXRqLwEAQQF0aiIGIAYvAQBBAWo7AQAgCUEBaiEJIAhBAWsiCA0ACwsgBCgCACEJQQ8hCyAHLwE+IhENAgwBCyAEKAIAIQkLQQ4hC0EAIREgBy8BPA0AQQ0hCyAHLwE6DQBBDCELIAcvATgNAEELIQsgBy8BNg0AQQohCyAHLwE0DQBBCSELIAcvATINAEEIIQsgBy8BMA0AQQchCyAHLwEuDQBBBiELIAcvASwNAEEFIQsgBy8BKg0AQQQhCyAHLwEoDQBBAyELIAcvASYNAEECIQsgBy8BJA0AIAcvASJFBEAgAyADKAIAIgBBBGo2AgAgAEHAAjYBACADIAMoAgAiAEEEajYCACAAQcACNgEAQQEhDQwDCyAJQQBHIRtBASELQQEhCQwBCyALIAkgCSALSxshG0EBIQ5BASEJA0AgB0EgaiAJQQF0ai8BAA0BIAlBAWoiCSALRw0ACyALIQkLQX8hCCAHLwEiIg9BAksNAUEEIAcvASQiECAPQQF0amsiBkEASA0BIAZBAXQgBy8BJiISayIGQQBIDQEgBkEBdCAHLwEoIhNrIgZBAEgNASAGQQF0IAcvASoiFGsiBkEASA0BIAZBAXQgBy8BLCIVayIGQQBIDQEgBkEBdCAHLwEuIhZrIgZBAEgNASAGQQF0IAcvATAiF2siBkEASA0BIAZBAXQgBy8BMiIZayIGQQBIDQEgBkEBdCAHLwE0IhxrIgZBAEgNASAGQQF0IAcvATYiDWsiBkEASA0BIAZBAXQgBy8BOCIYayIGQQBIDQEgBkEBdCAHLwE6IgxrIgZBAEgNASAGQQF0IAcvATwiCmsiBkEASA0BIAZBAXQgEWsiBkEASA0BIAZBACAARSAOchsNASAJIBtLIRpBACEIIAdBADsBAiAHIA87AQQgByAPIBBqIgY7AQYgByAGIBJqIgY7AQggByAGIBNqIgY7AQogByAGIBRqIgY7AQwgByAGIBVqIgY7AQ4gByAGIBZqIgY7ARAgByAGIBdqIgY7ARIgByAGIBlqIgY7ARQgByAGIBxqIgY7ARYgByAGIA1qIgY7ARggByAGIBhqIgY7ARogByAGIAxqIgY7ARwgByAGIApqOwEeAkAgAkUNACACQQFHBEAgAkF+cSEGA0AgASAIQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAg7AQALIAEgCEEBciIMQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAw7AQALIAhBAmohCCAGQQJrIgYNAAsLIAJBAXFFDQAgASAIQQF0ai8BACICRQ0AIAcgAkEBdGoiAiACLwEAIgJBAWo7AQAgBSACQQF0aiAIOwEACyAJIBsgGhshDUEUIRBBACEWIAUiCiEYQQAhEgJAAkACQCAADgICAAELQQEhCCANQQpLDQNBgQIhEEHw2QAhGEGw2QAhCkEBIRIMAQsgAEECRiEWQQAhEEHw2gAhGEGw2gAhCiAAQQJHBEAMAQtBASEIIA1BCUsNAgtBASANdCITQQFrIRwgAygCACEUQQAhFSANIQZBACEPQQAhDkF/IQIDQEEBIAZ0IRoCQANAIAkgD2shFwJAIAUgFUEBdGovAQAiCCAQTwRAIAogCCAQa0EBdCIAai8BACERIAAgGGotAAAhAAwBC0EAQeAAIAhBAWogEEkiBhshACAIQQAgBhshEQsgDiAPdiEMQX8gF3QhBiAaIQgDQCAUIAYgCGoiCCAMakECdGoiGSAROwECIBkgFzoAASAZIAA6AAAgCA0AC0EBIAlBAWt0IQYDQCAGIgBBAXYhBiAAIA5xDQALIAdBIGogCUEBdGoiBiAGLwEAQQFrIgY7AQAgAEEBayAOcSAAakEAIAAbIQ4gFUEBaiEVIAZB//8DcUUEQCAJIAtGDQIgASAFIBVBAXRqLwEAQQF0ai8BACEJCyAJIA1NDQAgDiAccSIAIAJGDQALQQEgCSAPIA0gDxsiD2siBnQhAiAJIAtJBEAgCyAPayEMIAkhCAJAA0AgAiAHQSBqIAhBAXRqLwEAayICQQFIDQEgAkEBdCECIAZBAWoiBiAPaiIIIAtJDQALIAwhBgtBASAGdCECC0EBIQggEiACIBNqIhNBtApLcQ0DIBYgE0HQBEtxDQMgAygCACICIABBAnRqIgggDToAASAIIAY6AAAgCCAUIBpBAnRqIhQgAmtBAnY7AQIgACECDAELCyAOBEAgFCAOQQJ0aiIAQQA7AQIgACAXOgABIABBwAA6AAALIAMgAygCACATQQJ0ajYCAAsgBCANNgIAQQAhCAsgCAusAQICfgF/IAFBAmqtIQIgACkDmC4hAwJAIAAoAqAuIgFBA2oiBEE/TQRAIAIgAa2GIAOEIQIMAQsgAUHAAEYEQCAAKAIEIAAoAhBqIAM3AAAgACAAKAIQQQhqNgIQQQMhBAwBCyAAKAIEIAAoAhBqIAIgAa2GIAOENwAAIAAgACgCEEEIajYCECABQT1rIQQgAkHAACABa62IIQILIAAgAjcDmC4gACAENgKgLguXAwICfgN/QYDJADMBACECIAApA5guIQMCQCAAKAKgLiIFQYLJAC8BACIGaiIEQT9NBEAgAiAFrYYgA4QhAgwBCyAFQcAARgRAIAAoAgQgACgCEGogAzcAACAAIAAoAhBBCGo2AhAgBiEEDAELIAAoAgQgACgCEGogAiAFrYYgA4Q3AAAgACAAKAIQQQhqNgIQIARBQGohBCACQcAAIAVrrYghAgsgACACNwOYLiAAIAQ2AqAuIAEEQAJAIARBOU4EQCAAKAIEIAAoAhBqIAI3AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAI+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiAjcDmC4gACAAKAKgLkEgayIENgKgLgsgBEEJTgR/IAAoAgQgACgCEGogAj0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghAiAAKAKgLkEQawUgBAtBAUgNACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAI8AAALIABBADYCoC4gAEIANwOYLgsL8hQBEn8gASgCCCICKAIAIQUgAigCDCEHIAEoAgAhCCAAQoCAgIDQxwA3A6ApQQAhAgJAAkAgB0EASgRAQX8hDANAAkAgCCACQQJ0aiIDLwEABEAgACAAKAKgKUEBaiIDNgKgKSAAIANBAnRqQawXaiACNgIAIAAgAmpBqClqQQA6AAAgAiEMDAELIANBADsBAgsgAkEBaiICIAdHDQALIABB/C1qIQ8gAEH4LWohESAAKAKgKSIEQQFKDQIMAQsgAEH8LWohDyAAQfgtaiERQX8hDAsDQCAAIARBAWoiAjYCoCkgACACQQJ0akGsF2ogDEEBaiIDQQAgDEECSCIGGyICNgIAIAggAkECdCIEakEBOwEAIAAgAmpBqClqQQA6AAAgACAAKAL4LUEBazYC+C0gBQRAIA8gDygCACAEIAVqLwECazYCAAsgAyAMIAYbIQwgACgCoCkiBEECSA0ACwsgASAMNgIEIARBAXYhBgNAIAAgBkECdGpBrBdqKAIAIQkCQCAGIgJBAXQiAyAESg0AIAggCUECdGohCiAAIAlqQagpaiENIAYhBQNAAkAgAyAETgRAIAMhAgwBCyAIIABBrBdqIgIgA0EBciIEQQJ0aigCACILQQJ0ai8BACIOIAggAiADQQJ0aigCACIQQQJ0ai8BACICTwRAIAIgDkcEQCADIQIMAgsgAyECIABBqClqIgMgC2otAAAgAyAQai0AAEsNAQsgBCECCyAKLwEAIgQgCCAAIAJBAnRqQawXaigCACIDQQJ0ai8BACILSQRAIAUhAgwCCwJAIAQgC0cNACANLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAAgAkECdGpBrBdqIAk2AgAgBkECTgRAIAZBAWshBiAAKAKgKSEEDAELCyAAKAKgKSEDA0AgByEGIAAgA0EBayIENgKgKSAAKAKwFyEKIAAgACADQQJ0akGsF2ooAgAiCTYCsBdBASECAkAgA0EDSA0AIAggCUECdGohDSAAIAlqQagpaiELQQIhA0EBIQUDQAJAIAMgBE4EQCADIQIMAQsgCCAAQawXaiICIANBAXIiB0ECdGooAgAiBEECdGovAQAiDiAIIAIgA0ECdGooAgAiEEECdGovAQAiAk8EQCACIA5HBEAgAyECDAILIAMhAiAAQagpaiIDIARqLQAAIAMgEGotAABLDQELIAchAgsgDS8BACIHIAggACACQQJ0akGsF2ooAgAiA0ECdGovAQAiBEkEQCAFIQIMAgsCQCAEIAdHDQAgCy0AACAAIANqQagpai0AAEsNACAFIQIMAgsgACAFQQJ0akGsF2ogAzYCACACIQUgAkEBdCIDIAAoAqApIgRMDQALC0ECIQMgAEGsF2oiByACQQJ0aiAJNgIAIAAgACgCpClBAWsiBTYCpCkgACgCsBchAiAHIAVBAnRqIAo2AgAgACAAKAKkKUEBayIFNgKkKSAHIAVBAnRqIAI2AgAgCCAGQQJ0aiINIAggAkECdGoiBS8BACAIIApBAnRqIgQvAQBqOwEAIABBqClqIgkgBmoiCyACIAlqLQAAIgIgCSAKai0AACIKIAIgCksbQQFqOgAAIAUgBjsBAiAEIAY7AQIgACAGNgKwF0EBIQVBASECAkAgACgCoCkiBEECSA0AA0AgDS8BACIKIAggAAJ/IAMgAyAETg0AGiAIIAcgA0EBciICQQJ0aigCACIEQQJ0ai8BACIOIAggByADQQJ0aigCACIQQQJ0ai8BACISTwRAIAMgDiASRw0BGiADIAQgCWotAAAgCSAQai0AAEsNARoLIAILIgJBAnRqQawXaigCACIDQQJ0ai8BACIESQRAIAUhAgwCCwJAIAQgCkcNACALLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAZBAWohByAAIAJBAnRqQawXaiAGNgIAIAAoAqApIgNBAUoNAAsgACAAKAKkKUEBayICNgKkKSAAQawXaiIDIAJBAnRqIAAoArAXNgIAIAEoAgQhCSABKAIIIgIoAhAhBiACKAIIIQogAigCBCEQIAIoAgAhDSABKAIAIQcgAEGkF2pCADcBACAAQZwXakIANwEAIABBlBdqQgA3AQAgAEGMF2oiAUIANwEAQQAhBSAHIAMgACgCpClBAnRqKAIAQQJ0akEAOwECAkAgACgCpCkiAkG7BEoNACACQQFqIQIDQCAHIAAgAkECdGpBrBdqKAIAIgRBAnQiEmoiCyAHIAsvAQJBAnRqLwECIgNBAWogBiADIAZJGyIOOwECIAMgBk8hEwJAIAQgCUoNACAAIA5BAXRqQYwXaiIDIAMvAQBBAWo7AQBBACEDIAQgCk4EQCAQIAQgCmtBAnRqKAIAIQMLIBEgESgCACALLwEAIgQgAyAOamxqNgIAIA1FDQAgDyAPKAIAIAMgDSASai8BAmogBGxqNgIACyAFIBNqIQUgAkEBaiICQb0ERw0ACyAFRQ0AIAAgBkEBdGpBjBdqIQQDQCAGIQIDQCAAIAIiA0EBayICQQF0akGMF2oiDy8BACIKRQ0ACyAPIApBAWs7AQAgACADQQF0akGMF2oiAiACLwEAQQJqOwEAIAQgBC8BAEEBayIDOwEAIAVBAkohAiAFQQJrIQUgAg0ACyAGRQ0AQb0EIQIDQCADQf//A3EiBQRAA0AgACACQQFrIgJBAnRqQawXaigCACIDIAlKDQAgByADQQJ0aiIDLwECIAZHBEAgESARKAIAIAYgAy8BAGxqIgQ2AgAgESAEIAMvAQAgAy8BAmxrNgIAIAMgBjsBAgsgBUEBayIFDQALCyAGQQFrIgZFDQEgACAGQQF0akGMF2ovAQAhAwwACwALIwBBIGsiAiABIgAvAQBBAXQiATsBAiACIAEgAC8BAmpBAXQiATsBBCACIAEgAC8BBGpBAXQiATsBBiACIAEgAC8BBmpBAXQiATsBCCACIAEgAC8BCGpBAXQiATsBCiACIAEgAC8BCmpBAXQiATsBDCACIAEgAC8BDGpBAXQiATsBDiACIAEgAC8BDmpBAXQiATsBECACIAEgAC8BEGpBAXQiATsBEiACIAEgAC8BEmpBAXQiATsBFCACIAEgAC8BFGpBAXQiATsBFiACIAEgAC8BFmpBAXQiATsBGCACIAEgAC8BGGpBAXQiATsBGiACIAEgAC8BGmpBAXQiATsBHCACIAAvARwgAWpBAXQ7AR5BACEAIAxBAE4EQANAIAggAEECdGoiAy8BAiIBBEAgAiABQQF0aiIFIAUvAQAiBUEBajsBACADIAWtQoD+A4NCCIhCgpCAgQh+QpDCiKKIAYNCgYKEiBB+QiCIp0H/AXEgBUH/AXGtQoKQgIEIfkKQwoiiiAGDQoGChIgQfkIYiKdBgP4DcXJBECABa3Y7AQALIAAgDEchASAAQQFqIQAgAQ0ACwsLcgEBfyMAQRBrIgQkAAJ/QQAgAEUNABogAEEIaiEAIAFFBEAgAlBFBEAgAARAIABBADYCBCAAQRI2AgALQQAMAgtBAEIAIAMgABA6DAELIAQgAjcDCCAEIAE2AgAgBEIBIAMgABA6CyEAIARBEGokACAACyIAIAAgASACIAMQJiIARQRAQQAPCyAAKAIwQQAgAiADECULAwABC8gFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEBRgRAIAMgAS0AAGpB8f8DcCIAIARqQfH/A3BBEHQgAHIPCwJAIAEEfyACQRBJDQECQCACQa8rSwRAA0AgAkGwK2shAkG1BSEFIAEhAANAIAMgAC0AAGoiAyAEaiADIAAtAAFqIgNqIAMgAC0AAmoiA2ogAyAALQADaiIDaiADIAAtAARqIgNqIAMgAC0ABWoiA2ogAyAALQAGaiIDaiADIAAtAAdqIgNqIQQgBQRAIABBCGohACAFQQFrIQUMAQsLIARB8f8DcCEEIANB8f8DcCEDIAFBsCtqIQEgAkGvK0sNAAsgAkEISQ0BCwNAIAMgAS0AAGoiACAEaiAAIAEtAAFqIgBqIAAgAS0AAmoiAGogACABLQADaiIAaiAAIAEtAARqIgBqIAAgAS0ABWoiAGogACABLQAGaiIAaiAAIAEtAAdqIgNqIQQgAUEIaiEBIAJBCGsiAkEHSw0ACwsCQCACRQ0AIAJBAWshBiACQQNxIgUEQCABIQADQCACQQFrIQIgAyAALQAAaiIDIARqIQQgAEEBaiIBIQAgBUEBayIFDQALCyAGQQNJDQADQCADIAEtAABqIgAgAS0AAWoiBSABLQACaiIGIAEtAANqIgMgBiAFIAAgBGpqamohBCABQQRqIQEgAkEEayICDQALCyADQfH/A3AgBEHx/wNwQRB0cgVBAQsPCwJAIAJFDQAgAkEBayEGIAJBA3EiBQRAIAEhAANAIAJBAWshAiADIAAtAABqIgMgBGohBCAAQQFqIgEhACAFQQFrIgUNAAsLIAZBA0kNAANAIAMgAS0AAGoiACABLQABaiIFIAEtAAJqIgYgAS0AA2oiAyAGIAUgACAEampqaiEEIAFBBGohASACQQRrIgINAAsLIANB8f8DcCAEQfH/A3BBEHRyCx8AIAAgAiADQcCAASgCABEAACEAIAEgAiADEAcaIAALIwAgACAAKAJAIAIgA0HUgAEoAgARAAA2AkAgASACIAMQBxoLzSoCGH8HfiAAKAIMIgIgACgCECIDaiEQIAMgAWshASAAKAIAIgUgACgCBGohA0F/IAAoAhwiBygCpAF0IQRBfyAHKAKgAXQhCyAHKAI4IQwCf0EAIAcoAiwiEUUNABpBACACIAxJDQAaIAJBhAJqIAwgEWpNCyEWIBBBgwJrIRMgASACaiEXIANBDmshFCAEQX9zIRggC0F/cyESIAcoApwBIRUgBygCmAEhDSAHKAKIASEIIAc1AoQBIR0gBygCNCEOIAcoAjAhGSAQQQFqIQ8DQCAIQThyIQYgBSAIQQN2QQdxayELAn8gAiANIAUpAAAgCK2GIB2EIh2nIBJxQQJ0IgFqIgMtAAAiBA0AGiACIAEgDWoiAS0AAjoAACAGIAEtAAEiAWshBiACQQFqIA0gHSABrYgiHacgEnFBAnQiAWoiAy0AACIEDQAaIAIgASANaiIDLQACOgABIAYgAy0AASIDayEGIA0gHSADrYgiHacgEnFBAnRqIgMtAAAhBCACQQJqCyEBIAtBB2ohBSAGIAMtAAEiAmshCCAdIAKtiCEdAkACQAJAIARB/wFxRQ0AAkACQAJAAkACQANAIARBEHEEQCAVIB0gBK1CD4OIIhqnIBhxQQJ0aiECAn8gCCAEQQ9xIgZrIgRBG0sEQCAEIQggBQwBCyAEQThyIQggBSkAACAErYYgGoQhGiAFIARBA3ZrQQdqCyELIAMzAQIhGyAIIAItAAEiA2shCCAaIAOtiCEaIAItAAAiBEEQcQ0CA0AgBEHAAHFFBEAgCCAVIAIvAQJBAnRqIBqnQX8gBHRBf3NxQQJ0aiICLQABIgNrIQggGiADrYghGiACLQAAIgRBEHFFDQEMBAsLIAdB0f4ANgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsCfwJ/An8gASgCBCICBEAgBCAAKAIoIAIQHiAAKAIcIQELIAEoAlAiAgsEQCAAKAIkIAAoAiggAhAeIAAoAhwhAQsgASgCTCICCwRAIAAoAiQgACgCKCACEB4gACgCHCEBCyABKAJIIgILBEAgACgCJCAAKAIoIAIQHiAAKAIcIQELIAAoAiQgACgCKCABEB4gAEEANgIcQX1BACADQfEARhshAgsgAgvrCQEIfyAAKAIwIgMgACgCDEEFayICIAIgA0sbIQggACgCACIEKAIEIQkgAUEERiEHAkADQCAEKAIQIgMgACgCoC5BKmpBA3UiAkkEQEEBIQYMAgsgCCADIAJrIgMgACgCaCAAKAJYayICIAQoAgRqIgVB//8DIAVB//8DSRsiBiADIAZJGyIDSwRAQQEhBiADQQBHIAdyRQ0CIAFFDQIgAyAFRw0CCyAAQQBBACAHIAMgBUZxIgUQOSAAIAAoAhBBBGsiBDYCECAAKAIEIARqIAM7AAAgACAAKAIQQQJqIgQ2AhAgACgCBCAEaiADQX9zOwAAIAAgACgCEEECajYCECAAKAIAEAoCfyACBEAgACgCACgCDCAAKAJIIAAoAlhqIAMgAiACIANLGyICEAcaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJYIAJqNgJYIAMgAmshAwsgAwsEQCAAKAIAIgIgAigCDCADEIMBIAAoAgAiAiACKAIMIANqNgIMIAIgAigCECADazYCECACIAIoAhQgA2o2AhQLIAAoAgAhBCAFRQ0AC0EAIQYLAkAgCSAEKAIEayICRQRAIAAoAmghAwwBCwJAIAAoAjAiAyACTQRAIABBAjYCgC4gACgCSCAEKAIAIANrIAMQBxogACAAKAIwIgM2AoQuIAAgAzYCaAwBCyACIAAoAkQgACgCaCIFa08EQCAAIAUgA2siBDYCaCAAKAJIIgUgAyAFaiAEEAcaIAAoAoAuIgNBAU0EQCAAIANBAWo2AoAuCyAAIAAoAmgiBSAAKAKELiIDIAMgBUsbNgKELiAAKAIAIQQLIAAoAkggBWogBCgCACACayACEAcaIAAgACgCaCACaiIDNgJoIAAgACgCMCAAKAKELiIEayIFIAIgAiAFSxsgBGo2AoQuCyAAIAM2AlgLIAAgAyAAKAJAIgIgAiADSRs2AkBBAyECAkAgBkUNACAAKAIAIgUoAgQhAgJAAkAgAUF7cUUNACACDQBBASECIAMgACgCWEYNAiAAKAJEIANrIQRBACECDAELIAIgACgCRCADayIETQ0AIAAoAlgiByAAKAIwIgZIDQAgACADIAZrIgM2AmggACAHIAZrNgJYIAAoAkgiAiACIAZqIAMQBxogACgCgC4iA0EBTQRAIAAgA0EBajYCgC4LIAAgACgCaCIDIAAoAoQuIgIgAiADSxs2AoQuIAAoAjAgBGohBCAAKAIAIgUoAgQhAgsCQCACIAQgAiAESRsiAkUEQCAAKAIwIQUMAQsgBSAAKAJIIANqIAIQgwEgACAAKAJoIAJqIgM2AmggACAAKAIwIgUgACgChC4iBGsiBiACIAIgBksbIARqNgKELgsgACADIAAoAkAiAiACIANJGzYCQCADIAAoAlgiBmsiAyAFIAAoAgwgACgCoC5BKmpBA3VrIgJB//8DIAJB//8DSRsiBCAEIAVLG0kEQEEAIQIgAUEERiADQQBHckUNASABRQ0BIAAoAgAoAgQNASADIARLDQELQQAhAiABQQRGBEAgACgCACgCBEUgAyAETXEhAgsgACAAKAJIIAZqIAQgAyADIARLGyIBIAIQOSAAIAAoAlggAWo2AlggACgCABAKQQJBACACGw8LIAIL/woCCn8DfiAAKQOYLiENIAAoAqAuIQQgAkEATgRAQQRBAyABLwECIggbIQlBB0GKASAIGyEFQX8hCgNAIAghByABIAsiDEEBaiILQQJ0ai8BAiEIAkACQCAGQQFqIgMgBU4NACAHIAhHDQAgAyEGDAELAkAgAyAJSARAIAAgB0ECdGoiBkHOFWohCSAGQcwVaiEKA0AgCjMBACEPAn8gBCAJLwEAIgZqIgVBP00EQCAPIASthiANhCENIAUMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIA8hDSAGDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIA9BwAAgBGutiCENIAVBQGoLIQQgA0EBayIDDQALDAELIAcEQAJAIAcgCkYEQCANIQ8gBCEFIAMhBgwBCyAAIAdBAnRqIgNBzBVqMwEAIQ8gBCADQc4Vai8BACIDaiIFQT9NBEAgDyAErYYgDYQhDwwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgAyEFDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIAVBQGohBSAPQcAAIARrrYghDwsgADMBjBYhDgJAIAUgAC8BjhYiBGoiA0E/TQRAIA4gBa2GIA+EIQ4MAQsgBUHAAEYEQCAAKAIEIAAoAhBqIA83AAAgACAAKAIQQQhqNgIQIAQhAwwBCyAAKAIEIAAoAhBqIA4gBa2GIA+ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAFa62IIQ4LIAasQgN9IQ0gA0E9TQRAIANBAmohBCANIAOthiAOhCENDAILIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEECIQQMAgsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E+ayEEIA1BwAAgA2utiCENDAELIAZBCUwEQCAAMwGQFiEOAkAgBCAALwGSFiIFaiIDQT9NBEAgDiAErYYgDYQhDgwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgBSEDDAELIAAoAgQgACgCEGogDiAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyAOQcAAIARrrYghDgsgBqxCAn0hDSADQTxNBEAgA0EDaiEEIA0gA62GIA6EIQ0MAgsgA0HAAEYEQCAAKAIEIAAoAhBqIA43AAAgACAAKAIQQQhqNgIQQQMhBAwCCyAAKAIEIAAoAhBqIA0gA62GIA6ENwAAIAAgACgCEEEIajYCECADQT1rIQQgDUHAACADa62IIQ0MAQsgADMBlBYhDgJAIAQgAC8BlhYiBWoiA0E/TQRAIA4gBK2GIA2EIQ4MAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIAUhAwwBCyAAKAIEIAAoAhBqIA4gBK2GIA2ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAEa62IIQ4LIAatQgp9IQ0gA0E4TQRAIANBB2ohBCANIAOthiAOhCENDAELIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEEHIQQMAQsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E5ayEEIA1BwAAgA2utiCENC0EAIQYCfyAIRQRAQYoBIQVBAwwBC0EGQQcgByAIRiIDGyEFQQNBBCADGwshCSAHIQoLIAIgDEcNAAsLIAAgBDYCoC4gACANNwOYLgv5BQIIfwJ+AkAgACgC8C1FBEAgACkDmC4hCyAAKAKgLiEDDAELA0AgCSIDQQNqIQkgAyAAKALsLWoiAy0AAiEFIAApA5guIQwgACgCoC4hBAJAIAMvAAAiB0UEQCABIAVBAnRqIgMzAQAhCyAEIAMvAQIiBWoiA0E/TQRAIAsgBK2GIAyEIQsMAgsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAUhAwwCCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsMAQsgBUGAzwBqLQAAIghBAnQiBiABaiIDQYQIajMBACELIANBhghqLwEAIQMgCEEIa0ETTQRAIAUgBkGA0QBqKAIAa60gA62GIAuEIQsgBkHA0wBqKAIAIANqIQMLIAMgAiAHQQFrIgcgB0EHdkGAAmogB0GAAkkbQYDLAGotAAAiBUECdCIIaiIKLwECaiEGIAozAQAgA62GIAuEIQsgBCAFQQRJBH8gBgUgByAIQYDSAGooAgBrrSAGrYYgC4QhCyAIQcDUAGooAgAgBmoLIgVqIgNBP00EQCALIASthiAMhCELDAELIARBwABGBEAgACgCBCAAKAIQaiAMNwAAIAAgACgCEEEIajYCECAFIQMMAQsgACgCBCAAKAIQaiALIASthiAMhDcAACAAIAAoAhBBCGo2AhAgA0FAaiEDIAtBwAAgBGutiCELCyAAIAs3A5guIAAgAzYCoC4gCSAAKALwLUkNAAsLIAFBgAhqMwEAIQwCQCADIAFBgghqLwEAIgJqIgFBP00EQCAMIAOthiALhCEMDAELIANBwABGBEAgACgCBCAAKAIQaiALNwAAIAAgACgCEEEIajYCECACIQEMAQsgACgCBCAAKAIQaiAMIAOthiALhDcAACAAIAAoAhBBCGo2AhAgAUFAaiEBIAxBwAAgA2utiCEMCyAAIAw3A5guIAAgATYCoC4L8AQBA38gAEHkAWohAgNAIAIgAUECdCIDakEAOwEAIAIgA0EEcmpBADsBACABQQJqIgFBngJHDQALIABBADsBzBUgAEEAOwHYEyAAQZQWakEAOwEAIABBkBZqQQA7AQAgAEGMFmpBADsBACAAQYgWakEAOwEAIABBhBZqQQA7AQAgAEGAFmpBADsBACAAQfwVakEAOwEAIABB+BVqQQA7AQAgAEH0FWpBADsBACAAQfAVakEAOwEAIABB7BVqQQA7AQAgAEHoFWpBADsBACAAQeQVakEAOwEAIABB4BVqQQA7AQAgAEHcFWpBADsBACAAQdgVakEAOwEAIABB1BVqQQA7AQAgAEHQFWpBADsBACAAQcwUakEAOwEAIABByBRqQQA7AQAgAEHEFGpBADsBACAAQcAUakEAOwEAIABBvBRqQQA7AQAgAEG4FGpBADsBACAAQbQUakEAOwEAIABBsBRqQQA7AQAgAEGsFGpBADsBACAAQagUakEAOwEAIABBpBRqQQA7AQAgAEGgFGpBADsBACAAQZwUakEAOwEAIABBmBRqQQA7AQAgAEGUFGpBADsBACAAQZAUakEAOwEAIABBjBRqQQA7AQAgAEGIFGpBADsBACAAQYQUakEAOwEAIABBgBRqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEIANwL8LSAAQeQJakEBOwEAIABBADYC+C0gAEEANgLwLQuKAwIGfwR+QcgAEAkiBEUEQEEADwsgBEIANwMAIARCADcDMCAEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDOCABUARAIARBCBAJIgA2AgQgAEUEQCAEEAYgAwRAIANBADYCBCADQQ42AgALQQAPCyAAQgA3AwAgBA8LAkAgAaciBUEEdBAJIgZFDQAgBCAGNgIAIAVBA3RBCGoQCSIFRQ0AIAQgATcDECAEIAU2AgQDQCAAIAynIghBBHRqIgcpAwgiDVBFBEAgBygCACIHRQRAIAMEQCADQQA2AgQgA0ESNgIACyAGEAYgBRAGIAQQBkEADwsgBiAKp0EEdGoiCSANNwMIIAkgBzYCACAFIAhBA3RqIAs3AwAgCyANfCELIApCAXwhCgsgDEIBfCIMIAFSDQALIAQgCjcDCCAEQgAgCiACGzcDGCAFIAqnQQN0aiALNwMAIAQgCzcDMCAEDwsgAwRAIANBADYCBCADQQ42AgALIAYQBiAEEAZBAAvlAQIDfwF+QX8hBQJAIAAgASACQQAQJiIERQ0AIAAgASACEIsBIgZFDQACfgJAIAJBCHENACAAKAJAIAGnQQR0aigCCCICRQ0AIAIgAxAhQQBOBEAgAykDAAwCCyAAQQhqIgAEQCAAQQA2AgQgAEEPNgIAC0F/DwsgAxAqIAMgBCgCGDYCLCADIAQpAyg3AxggAyAEKAIUNgIoIAMgBCkDIDcDICADIAQoAhA7ATAgAyAELwFSOwEyQvwBQtwBIAQtAAYbCyEHIAMgBjYCCCADIAE3AxAgAyAHQgOENwMAQQAhBQsgBQspAQF/IAAgASACIABBCGoiABAmIgNFBEBBAA8LIAMoAjBBACACIAAQJQuAAwEGfwJ/An9BMCABQYB/Sw0BGgJ/IAFBgH9PBEBBhIQBQTA2AgBBAAwBC0EAQRAgAUELakF4cSABQQtJGyIFQcwAahAJIgFFDQAaIAFBCGshAgJAIAFBP3FFBEAgAiEBDAELIAFBBGsiBigCACIHQXhxIAFBP2pBQHFBCGsiASABQUBrIAEgAmtBD0sbIgEgAmsiA2shBCAHQQNxRQRAIAIoAgAhAiABIAQ2AgQgASACIANqNgIADAELIAEgBCABKAIEQQFxckECcjYCBCABIARqIgQgBCgCBEEBcjYCBCAGIAMgBigCAEEBcXJBAnI2AgAgAiADaiIEIAQoAgRBAXI2AgQgAiADEDsLAkAgASgCBCICQQNxRQ0AIAJBeHEiAyAFQRBqTQ0AIAEgBSACQQFxckECcjYCBCABIAVqIgIgAyAFayIFQQNyNgIEIAEgA2oiAyADKAIEQQFyNgIEIAIgBRA7CyABQQhqCyIBRQsEQEEwDwsgACABNgIAQQALCwoAIABBiIQBEAQL6AIBBX8gACgCUCEBIAAvATAhBEEEIQUDQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgBUGAgARGRQRAIAFBCGohASAFQQRqIQUMAQsLAkAgBEUNACAEQQNxIQUgACgCTCEBIARBAWtBA08EQCAEIAVrIQADQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgAUEIaiEBIABBBGsiAA0ACwsgBUUNAANAIAFBACABLwEAIgAgBGsiAiAAIAJJGzsBACABQQJqIQEgBUEBayIFDQALCwuDAQEEfyACQQFOBEAgAiAAKAJIIAFqIgJqIQMgACgCUCEEA0AgBCACKAAAQbHz3fF5bEEPdkH+/wdxaiIFLwEAIgYgAUH//wNxRwRAIAAoAkwgASAAKAI4cUH//wNxQQF0aiAGOwEAIAUgATsBAAsgAUEBaiEBIAJBAWoiAiADSQ0ACwsLUAECfyABIAAoAlAgACgCSCABaigAAEGx893xeWxBD3ZB/v8HcWoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILugEBAX8jAEEQayICJAAgAkEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgARBYIAJBEGokAAu9AQEBfyMAQRBrIgEkACABQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEANgJAIAFBEGokAEEAC70BAQF/IwBBEGsiASQAIAFBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAKAJAIQAgAUEQaiQAIAALvgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQVyAEQRBqJAALygEAIwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAAoAkAgASACQdSAASgCABEAADYCQCADQRBqJAALwAEBAX8jAEEQayIDJAAgA0EAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACEF0hACADQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFwhACACQRBqJAAgAAu2AQEBfyMAQRBrIgAkACAAQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEQaiQAQQgLwgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQWSEAIARBEGokACAAC8IBAQF/IwBBEGsiBCQAIARBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAiADEFYhACAEQRBqJAAgAAsHACAALwEwC8ABAQF/IwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAhBVIQAgA0EQaiQAIAALBwAgACgCQAsaACAAIAAoAkAgASACQdSAASgCABEAADYCQAsLACAAQQA2AkBBAAsHACAAKAIgCwQAQQgLzgUCA34BfyMAQYBAaiIIJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDhECAwwFAAEECAkJCQkJCQcJBgkLIANCCFoEfiACIAEoAmQ2AgAgAiABKAJoNgIEQggFQn8LIQYMCwsgARAGDAoLIAEoAhAiAgRAIAIgASkDGCABQeQAaiICEEEiA1ANCCABKQMIIgVCf4UgA1QEQCACBEAgAkEANgIEIAJBFTYCAAsMCQsgAUEANgIQIAEgAyAFfDcDCCABIAEpAwAgA3w3AwALIAEtAHgEQCABKQMAIQUMCQtCACEDIAEpAwAiBVAEQCABQgA3AyAMCgsDQCAAIAggBSADfSIFQoDAACAFQoDAAFQbEBEiB0J/VwRAIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwJCyAHUEUEQCABKQMAIgUgAyAHfCIDWA0KDAELCyABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEpAwggASkDICIFfSIHIAMgAyAHVhsiA1ANCAJAIAEtAHhFDQAgACAFQQAQFEF/Sg0AIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwHCyAAIAIgAxARIgZCf1cEQCABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEgASkDICAGfCIDNwMgIAZCAFINCEIAIQYgAyABKQMIWg0IIAFB5ABqBEAgAUEANgJoIAFBETYCZAsMBgsgASkDICABKQMAIgV9IAEpAwggBX0gAiADIAFB5ABqEEQiA0IAUw0FIAEgASkDACADfDcDIAwHCyACIAFBKGoQYEEfdawhBgwGCyABMABgIQYMBQsgASkDcCEGDAQLIAEpAyAgASkDAH0hBgwDCyABQeQAagRAIAFBADYCaCABQRw2AmQLC0J/IQYMAQsgASAFNwMgCyAIQYBAayQAIAYLBwAgACgCAAsPACAAIAAoAjBBAWo2AjALGABB+IMBQgA3AgBBgIQBQQA2AgBB+IMBCwcAIABBDGoLBwAgACgCLAsHACAAKAIoCwcAIAAoAhgLFQAgACABrSACrUIghoQgAyAEEIoBCxMBAX4gABAzIgFCIIinEAAgAacLbwEBfiABrSACrUIghoQhBSMAQRBrIgEkAAJ/IABFBEAgBVBFBEAgBARAIARBADYCBCAEQRI2AgALQQAMAgtBAEIAIAMgBBA6DAELIAEgBTcDCCABIAA2AgAgAUIBIAMgBBA6CyEAIAFBEGokACAACxQAIAAgASACrSADrUIghoQgBBBSC9oCAgJ/AX4CfyABrSACrUIghoQiByAAKQMwVEEAIARBCkkbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/DAELIAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtBfwwBCyADBH8gA0H//wNxQQhGIANBfUtyBUEBC0UEQCAAQQhqBEAgAEEANgIMIABBEDYCCAtBfwwBCyAAKAJAIgEgB6ciBUEEdGooAgAiAgR/IAIoAhAgA0YFIANBf0YLIQYgASAFQQR0aiIBIQUgASgCBCEBAkAgBgRAIAFFDQEgAUEAOwFQIAEgASgCAEF+cSIANgIAIAANASABECAgBUEANgIEQQAMAgsCQCABDQAgBSACECsiATYCBCABDQAgAEEIagRAIABBADYCDCAAQQ42AggLQX8MAgsgASAEOwFQIAEgAzYCECABIAEoAgBBAXI2AgALQQALCxwBAX4gACABIAIgAEEIahBMIgNCIIinEAAgA6cLHwEBfiAAIAEgAq0gA61CIIaEEBEiBEIgiKcQACAEpwteAQF+An5CfyAARQ0AGiAAKQMwIgIgAUEIcUUNABpCACACUA0AGiAAKAJAIQADQCACIAKnQQR0IABqQRBrKAIADQEaIAJCAX0iAkIAUg0AC0IACyICQiCIpxAAIAKnCxMAIAAgAa0gAq1CIIaEIAMQiwELnwEBAn4CfiACrSADrUIghoQhBUJ/IQQCQCAARQ0AIAAoAgQNACAAQQRqIQIgBUJ/VwRAIAIEQCACQQA2AgQgAkESNgIAC0J/DAILQgAhBCAALQAQDQAgBVANACAAKAIUIAEgBRARIgRCf1UNACAAKAIUIQAgAgRAIAIgACgCDDYCACACIAAoAhA2AgQLQn8hBAsgBAsiBEIgiKcQACAEpwueAQEBfwJ/IAAgACABrSACrUIghoQgAyAAKAIcEH8iAQRAIAEQMkF/TARAIABBCGoEQCAAIAEoAgw2AgggACABKAIQNgIMCyABEAtBAAwCC0EYEAkiBEUEQCAAQQhqBEAgAEEANgIMIABBDjYCCAsgARALQQAMAgsgBCAANgIAIARBADYCDCAEQgA3AgQgBCABNgIUIARBADoAEAsgBAsLsQICAX8BfgJ/QX8hBAJAIAAgAa0gAq1CIIaEIgZBAEEAECZFDQAgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAILIAAoAkAiASAGpyICQQR0aiIEKAIIIgUEQEEAIQQgBSADEHFBf0oNASAAQQhqBEAgAEEANgIMIABBDzYCCAtBfwwCCwJAIAQoAgAiBQRAIAUoAhQgA0YNAQsCQCABIAJBBHRqIgEoAgQiBA0AIAEgBRArIgQ2AgQgBA0AIABBCGoEQCAAQQA2AgwgAEEONgIIC0F/DAMLIAQgAzYCFCAEIAQoAgBBIHI2AgBBAAwCC0EAIQQgASACQQR0aiIBKAIEIgBFDQAgACAAKAIAQV9xIgI2AgAgAg0AIAAQICABQQA2AgQLIAQLCxQAIAAgAa0gAq1CIIaEIAQgBRBzCxIAIAAgAa0gAq1CIIaEIAMQFAtBAQF+An4gAUEAIAIbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0J/DAELIAAgASACIAMQdAsiBEIgiKcQACAEpwvGAwIFfwF+An4CQAJAIAAiBC0AGEECcQRAIARBCGoEQCAEQQA2AgwgBEEZNgIICwwBCyABRQRAIARBCGoEQCAEQQA2AgwgBEESNgIICwwBCyABECIiByABakEBay0AAEEvRwRAIAdBAmoQCSIARQRAIARBCGoEQCAEQQA2AgwgBEEONgIICwwCCwJAAkAgACIGIAEiBXNBA3ENACAFQQNxBEADQCAGIAUtAAAiAzoAACADRQ0DIAZBAWohBiAFQQFqIgVBA3ENAAsLIAUoAgAiA0F/cyADQYGChAhrcUGAgYKEeHENAANAIAYgAzYCACAFKAIEIQMgBkEEaiEGIAVBBGohBSADQYGChAhrIANBf3NxQYCBgoR4cUUNAAsLIAYgBS0AACIDOgAAIANFDQADQCAGIAUtAAEiAzoAASAGQQFqIQYgBUEBaiEFIAMNAAsLIAcgACIDakEvOwAACyAEQQBCAEEAEFIiAEUEQCADEAYMAQsgBCADIAEgAxsgACACEHQhCCADEAYgCEJ/VwRAIAAQCyAIDAMLIAQgCEEDQYCA/I8EEHNBf0oNASAEIAgQchoLQn8hCAsgCAsiCEIgiKcQACAIpwsQACAAIAGtIAKtQiCGhBByCxYAIAAgAa0gAq1CIIaEIAMgBCAFEGYL3iMDD38IfgF8IwBB8ABrIgkkAAJAIAFBAE5BACAAG0UEQCACBEAgAkEANgIEIAJBEjYCAAsMAQsgACkDGCISAn5BsIMBKQMAIhNCf1EEQCAJQoOAgIBwNwMwIAlChoCAgPAANwMoIAlCgYCAgCA3AyBBsIMBQQAgCUEgahAkNwMAIAlCj4CAgHA3AxAgCUKJgICAoAE3AwAgCUKMgICA0AE3AwhBuIMBQQggCRAkNwMAQbCDASkDACETCyATC4MgE1IEQCACBEAgAkEANgIEIAJBHDYCAAsMAQsgASABQRByQbiDASkDACITIBKDIBNRGyIKQRhxQRhGBEAgAgRAIAJBADYCBCACQRk2AgALDAELIAlBOGoQKgJAIAAgCUE4ahAhBEACQCAAKAIMQQVGBEAgACgCEEEsRg0BCyACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAgsgCkEBcUUEQCACBEAgAkEANgIEIAJBCTYCAAsMAwsgAhBJIgVFDQEgBSAKNgIEIAUgADYCACAKQRBxRQ0CIAUgBSgCFEECcjYCFCAFIAUoAhhBAnI2AhgMAgsgCkECcQRAIAIEQCACQQA2AgQgAkEKNgIACwwCCyAAEDJBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsCfyAKQQhxBEACQCACEEkiAUUNACABIAo2AgQgASAANgIAIApBEHFFDQAgASABKAIUQQJyNgIUIAEgASgCGEECcjYCGAsgAQwBCyMAQUBqIg4kACAOQQhqECoCQCAAIA5BCGoQIUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAOLQAIQQRxRQRAIAIEQCACQYoBNgIEIAJBBDYCAAsMAQsgDikDICETIAIQSSIFRQRAQQAhBQwBCyAFIAo2AgQgBSAANgIAIApBEHEEQCAFIAUoAhRBAnI2AhQgBSAFKAIYQQJyNgIYCwJAAkACQCATUARAAn8gACEBAkADQCABKQMYQoCAEINCAFINASABKAIAIgENAAtBAQwBCyABQQBCAEESEA6nCw0EIAVBCGoEQCAFQQA2AgwgBUETNgIICwwBCyMAQdAAayIBJAACQCATQhVYBEAgBUEIagRAIAVBADYCDCAFQRM2AggLDAELAkACQCAFKAIAQgAgE0KqgAQgE0KqgARUGyISfUECEBRBf0oNACAFKAIAIgMoAgxBBEYEQCADKAIQQRZGDQELIAVBCGoEQCAFIAMoAgw2AgggBSADKAIQNgIMCwwBCyAFKAIAEDMiE0J/VwRAIAUoAgAhAyAFQQhqIggEQCAIIAMoAgw2AgAgCCADKAIQNgIECwwBCyAFKAIAIBJBACAFQQhqIg8QLSIERQ0BIBJCqoAEWgRAAkAgBCkDCEIUVARAIARBADoAAAwBCyAEQhQ3AxAgBEEBOgAACwsgAQRAIAFBADYCBCABQRM2AgALIARCABATIQwCQCAELQAABH4gBCkDCCAEKQMQfQVCAAunIgdBEmtBA0sEQEJ/IRcDQCAMQQFrIQMgByAMakEVayEGAkADQCADQQFqIgNB0AAgBiADaxB6IgNFDQEgA0EBaiIMQZ8SQQMQPQ0ACwJAIAMgBCgCBGusIhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBC0AAAR+IAQpAxAFQgALIRICQCAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsgBEIEEBMoAABB0JaVMEcEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsCQAJAAkAgEkIUVA0AIAQoAgQgEqdqQRRrKAAAQdCWmThHDQACQCASQhR9IhQgBCIDKQMIVgRAIANBADoAAAwBCyADIBQ3AxAgA0EBOgAACyAFKAIUIRAgBSgCACEGIAMtAAAEfiAEKQMQBUIACyEWIARCBBATGiAEEAwhCyAEEAwhDSAEEB0iFEJ/VwRAIAEEQCABQRY2AgQgAUEENgIACwwECyAUQjh8IhUgEyAWfCIWVgRAIAEEQCABQQA2AgQgAUEVNgIACwwECwJAAkAgEyAUVg0AIBUgEyAEKQMIfFYNAAJAIBQgE30iFSAEKQMIVgRAIANBADoAAAwBCyADIBU3AxAgA0EBOgAAC0EAIQcMAQsgBiAUQQAQFEF/TARAIAEEQCABIAYoAgw2AgAgASAGKAIQNgIECwwFC0EBIQcgBkI4IAFBEGogARAtIgNFDQQLIANCBBATKAAAQdCWmTBHBEAgAQRAIAFBADYCBCABQRU2AgALIAdFDQQgAxAIDAQLIAMQHSEVAkAgEEEEcSIGRQ0AIBQgFXxCDHwgFlENACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgA0IEEBMaIAMQFSIQIAsgC0H//wNGGyELIAMQFSIRIA0gDUH//wNGGyENAkAgBkUNACANIBFGQQAgCyAQRhsNACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgCyANcgRAIAEEQCABQQA2AgQgAUEBNgIACyAHRQ0EIAMQCAwECyADEB0iGCADEB1SBEAgAQRAIAFBADYCBCABQQE2AgALIAdFDQQgAxAIDAQLIAMQHSEVIAMQHSEWIAMtAABFBEAgAQRAIAFBADYCBCABQRQ2AgALIAdFDQQgAxAIDAQLIAcEQCADEAgLAkAgFkIAWQRAIBUgFnwiGSAWWg0BCyABBEAgAUEWNgIEIAFBBDYCAAsMBAsgEyAUfCIUIBlUBEAgAQRAIAFBADYCBCABQRU2AgALDAQLAkAgBkUNACAUIBlRDQAgAQRAIAFBADYCBCABQRU2AgALDAQLIBggFUIugFgNASABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCASIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAUoAhQhAyAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsgBC0AAAR+IAQpAxAFQgALIRQgBEIEEBMaIAQQFQRAIAEEQCABQQA2AgQgAUEBNgIACwwDCyAEEAwgBBAMIgZHBEAgAQRAIAFBADYCBCABQRM2AgALDAMLIAQQFSEHIAQQFa0iFiAHrSIVfCIYIBMgFHwiFFYEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCADQQRxRQ0AIBQgGFENACABBEAgAUEANgIEIAFBFTYCAAsMAwsgBq0gARBqIgNFDQIgAyAWNwMgIAMgFTcDGCADQQA6ACwMAQsgGCABEGoiA0UNASADIBY3AyAgAyAVNwMYIANBAToALAsCQCASQhR8IhQgBCkDCFYEQCAEQQA6AAAMAQsgBCAUNwMQIARBAToAAAsgBBAMIQYCQCADKQMYIAMpAyB8IBIgE3xWDQACQCAGRQRAIAUtAARBBHFFDQELAkAgEkIWfCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIACyIUIAatIhJUDQEgBS0ABEEEcUEAIBIgFFIbDQEgBkUNACADIAQgEhATIAZBACABEDUiBjYCKCAGDQAgAxAWDAILAkAgEyADKQMgIhJYBEACQCASIBN9IhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBCADKQMYEBMiBkUNAiAGIAMpAxgQFyIHDQEgAQRAIAFBADYCBCABQQ42AgALIAMQFgwDCyAFKAIAIBJBABAUIQcgBSgCACEGIAdBf0wEQCABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAMLQQAhByAGEDMgAykDIFENACABBEAgAUEANgIEIAFBEzYCAAsgAxAWDAILQgAhFAJAAkAgAykDGCIWUEUEQANAIBQgAykDCFIiC0UEQCADLQAsDQMgFkIuVA0DAn8CQCADKQMQIhVCgIAEfCISIBVaQQAgEkKAgICAAVQbRQ0AIAMoAgAgEqdBBHQQNCIGRQ0AIAMgBjYCAAJAIAMpAwgiFSASWg0AIAYgFadBBHRqIgZCADcCACAGQgA3AAUgFUIBfCIVIBJRDQADQCADKAIAIBWnQQR0aiIGQgA3AgAgBkIANwAFIBVCAXwiFSASUg0ACwsgAyASNwMIIAMgEjcDEEEBDAELIAEEQCABQQA2AgQgAUEONgIAC0EAC0UNBAtB2AAQCSIGBH8gBkIANwMgIAZBADYCGCAGQv////8PNwMQIAZBADsBDCAGQb+GKDYCCCAGQQE6AAYgBkEAOwEEIAZBADYCACAGQgA3A0ggBkGAgNiNeDYCRCAGQgA3AyggBkIANwMwIAZCADcDOCAGQUBrQQA7AQAgBkIANwNQIAYFQQALIQYgAygCACAUp0EEdGogBjYCAAJAIAYEQCAGIAUoAgAgB0EAIAEQaCISQn9VDQELIAsNBCABKAIAQRNHDQQgAQRAIAFBADYCBCABQRU2AgALDAQLIBRCAXwhFCAWIBJ9IhZCAFINAAsLIBQgAykDCFINAAJAIAUtAARBBHFFDQAgBwRAIActAAAEfyAHKQMQIAcpAwhRBUEAC0UNAgwBCyAFKAIAEDMiEkJ/VwRAIAUoAgAhBiABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAULIBIgAykDGCADKQMgfFINAQsgBxAIAn4gCARAAn8gF0IAVwRAIAUgCCABEEghFwsgBSADIAEQSCISIBdVCwRAIAgQFiASDAILIAMQFgwFC0IAIAUtAARBBHFFDQAaIAUgAyABEEgLIRcgAyEIDAMLIAEEQCABQQA2AgQgAUEVNgIACyAHEAggAxAWDAILIAMQFiAHEAgMAQsgAQRAIAFBADYCBCABQRU2AgALIAMQFgsCQCAMIAQoAgRrrCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIAC6ciB0ESa0EDSw0BCwsgBBAIIBdCf1UNAwwBCyAEEAgLIA8iAwRAIAMgASgCADYCACADIAEoAgQ2AgQLIAgQFgtBACEICyABQdAAaiQAIAgNAQsgAgRAIAIgBSgCCDYCACACIAUoAgw2AgQLDAELIAUgCCgCADYCQCAFIAgpAwg3AzAgBSAIKQMQNwM4IAUgCCgCKDYCICAIEAYgBSgCUCEIIAVBCGoiBCEBQQAhBwJAIAUpAzAiE1ANAEGAgICAeCEGAn8gE7pEAAAAAAAA6D+jRAAA4P///+9BpCIaRAAAAAAAAPBBYyAaRAAAAAAAAAAAZnEEQCAaqwwBC0EACyIDQYCAgIB4TQRAIANBAWsiA0EBdiADciIDQQJ2IANyIgNBBHYgA3IiA0EIdiADciIDQRB2IANyQQFqIQYLIAYgCCgCACIMTQ0AIAYQPCILRQRAIAEEQCABQQA2AgQgAUEONgIACwwBCwJAIAgpAwhCACAMG1AEQCAIKAIQIQ8MAQsgCCgCECEPA0AgDyAHQQJ0aigCACIBBEADQCABKAIYIQMgASALIAEoAhwgBnBBAnRqIg0oAgA2AhggDSABNgIAIAMiAQ0ACwsgB0EBaiIHIAxHDQALCyAPEAYgCCAGNgIAIAggCzYCEAsCQCAFKQMwUA0AQgAhEwJAIApBBHFFBEADQCAFKAJAIBOnQQR0aigCACgCMEEAQQAgAhAlIgFFDQQgBSgCUCABIBNBCCAEEE1FBEAgBCgCAEEKRw0DCyATQgF8IhMgBSkDMFQNAAwDCwALA0AgBSgCQCATp0EEdGooAgAoAjBBAEEAIAIQJSIBRQ0DIAUoAlAgASATQQggBBBNRQ0BIBNCAXwiEyAFKQMwVA0ACwwBCyACBEAgAiAEKAIANgIAIAIgBCgCBDYCBAsMAQsgBSAFKAIUNgIYDAELIAAgACgCMEEBajYCMCAFEEtBACEFCyAOQUBrJAAgBQsiBQ0BIAAQGhoLQQAhBQsgCUHwAGokACAFCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL4CoDEX8IfgN8IwBBwMAAayIHJABBfyECAkAgAEUNAAJ/IAAtAChFBEBBACAAKAIYIAAoAhRGDQEaC0EBCyEBAkACQCAAKQMwIhRQRQRAIAAoAkAhCgNAIAogEqdBBHRqIgMtAAwhCwJAAkAgAygCCA0AIAsNACADKAIEIgNFDQEgAygCAEUNAQtBASEBCyAXIAtBAXOtQv8Bg3whFyASQgF8IhIgFFINAAsgF0IAUg0BCyAAKAIEQQhxIAFyRQ0BAn8gACgCACIDKAIkIgFBA0cEQCADKAIgBH9BfyADEBpBAEgNAhogAygCJAUgAQsEQCADEEMLQX8gA0EAQgBBDxAOQgBTDQEaIANBAzYCJAtBAAtBf0oNASAAKAIAKAIMQRZGBEAgACgCACgCEEEsRg0CCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLDAILIAFFDQAgFCAXVARAIABBCGoEQCAAQQA2AgwgAEEUNgIICwwCCyAXp0EDdBAJIgtFDQFCfyEWQgAhEgNAAkAgCiASp0EEdGoiBigCACIDRQ0AAkAgBigCCA0AIAYtAAwNACAGKAIEIgFFDQEgASgCAEUNAQsgFiADKQNIIhMgEyAWVhshFgsgBi0ADEUEQCAXIBlYBEAgCxAGIABBCGoEQCAAQQA2AgwgAEEUNgIICwwECyALIBmnQQN0aiASNwMAIBlCAXwhGQsgEkIBfCISIBRSDQALIBcgGVYEQCALEAYgAEEIagRAIABBADYCDCAAQRQ2AggLDAILAkACQCAAKAIAKQMYQoCACINQDQACQAJAIBZCf1INACAAKQMwIhNQDQIgE0IBgyEVIAAoAkAhAwJAIBNCAVEEQEJ/IRRCACESQgAhFgwBCyATQn6DIRlCfyEUQgAhEkIAIRYDQCADIBKnQQR0aigCACIBBEAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyADIBJCAYQiGKdBBHRqKAIAIgEEQCAWIAEpA0giEyATIBZUIgEbIRYgFCAYIAEbIRQLIBJCAnwhEiAZQgJ9IhlQRQ0ACwsCQCAVUA0AIAMgEqdBBHRqKAIAIgFFDQAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyAUQn9RDQBCACETIwBBEGsiBiQAAkAgACAUIABBCGoiCBBBIhVQDQAgFSAAKAJAIBSnQQR0aigCACIKKQMgIhh8IhQgGFpBACAUQn9VG0UEQCAIBEAgCEEWNgIEIAhBBDYCAAsMAQsgCi0ADEEIcUUEQCAUIRMMAQsgACgCACAUQQAQFCEBIAAoAgAhAyABQX9MBEAgCARAIAggAygCDDYCACAIIAMoAhA2AgQLDAELIAMgBkEMakIEEBFCBFIEQCAAKAIAIQEgCARAIAggASgCDDYCACAIIAEoAhA2AgQLDAELIBRCBHwgFCAGKAAMQdCWncAARhtCFEIMAn9BASEBAkAgCikDKEL+////D1YNACAKKQMgQv7///8PVg0AQQAhAQsgAQsbfCIUQn9XBEAgCARAIAhBFjYCBCAIQQQ2AgALDAELIBQhEwsgBkEQaiQAIBMiFkIAUg0BIAsQBgwFCyAWUA0BCwJ/IAAoAgAiASgCJEEBRgRAIAFBDGoEQCABQQA2AhAgAUESNgIMC0F/DAELQX8gAUEAIBZBERAOQgBTDQAaIAFBATYCJEEAC0F/Sg0BC0IAIRYCfyAAKAIAIgEoAiRBAUYEQCABQQxqBEAgAUEANgIQIAFBEjYCDAtBfwwBC0F/IAFBAEIAQQgQDkIAUw0AGiABQQE2AiRBAAtBf0oNACAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLIAsQBgwCCyAAKAJUIgIEQCACQgA3AxggAigCAEQAAAAAAAAAACACKAIMIAIoAgQRDgALIABBCGohBCAXuiEcQgAhFAJAAkACQANAIBcgFCITUgRAIBO6IByjIRsgE0IBfCIUuiAcoyEaAkAgACgCVCICRQ0AIAIgGjkDKCACIBs5AyAgAisDECAaIBuhRAAAAAAAAAAAoiAboCIaIAIrAxihY0UNACACKAIAIBogAigCDCACKAIEEQ4AIAIgGjkDGAsCfwJAIAAoAkAgCyATp0EDdGopAwAiE6dBBHRqIg0oAgAiAQRAIAEpA0ggFlQNAQsgDSgCBCEFAkACfwJAIA0oAggiAkUEQCAFRQ0BQQEgBSgCACICQQFxDQIaIAJBwABxQQZ2DAILQQEgBQ0BGgsgDSABECsiBTYCBCAFRQ0BIAJBAEcLIQZBACEJIwBBEGsiDCQAAkAgEyAAKQMwWgRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/IQkMAQsgACgCQCIKIBOnIgNBBHRqIg8oAgAiAkUNACACLQAEDQACQCACKQNIQhp8IhhCf1cEQCAAQQhqBEAgAEEWNgIMIABBBDYCCAsMAQtBfyEJIAAoAgAgGEEAEBRBf0wEQCAAKAIAIQIgAEEIagRAIAAgAigCDDYCCCAAIAIoAhA2AgwLDAILIAAoAgBCBCAMQQxqIABBCGoiDhAtIhBFDQEgEBAMIQEgEBAMIQggEC0AAAR/IBApAxAgECkDCFEFQQALIQIgEBAIIAJFBEAgDgRAIA5BADYCBCAOQRQ2AgALDAILAkAgCEUNACAAKAIAIAGtQQEQFEF/TARAQYSEASgCACECIA4EQCAOIAI2AgQgDkEENgIACwwDC0EAIAAoAgAgCEEAIA4QRSIBRQ0BIAEgCEGAAiAMQQhqIA4QbiECIAEQBiACRQ0BIAwoAggiAkUNACAMIAIQbSICNgIIIA8oAgAoAjQgAhBvIQIgDygCACACNgI0CyAPKAIAIgJBAToABEEAIQkgCiADQQR0aigCBCIBRQ0BIAEtAAQNASACKAI0IQIgAUEBOgAEIAEgAjYCNAwBC0F/IQkLIAxBEGokACAJQQBIDQUgACgCABAfIhhCAFMNBSAFIBg3A0ggBgRAQQAhDCANKAIIIg0hASANRQRAIAAgACATQQhBABB/IgwhASAMRQ0HCwJAAkAgASAHQQhqECFBf0wEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMAQsgBykDCCISQsAAg1AEQCAHQQA7ATggByASQsAAhCISNwMICwJAAkAgBSgCECICQX5PBEAgBy8BOCIDRQ0BIAUgAzYCECADIQIMAgsgAg0AIBJCBINQDQAgByAHKQMgNwMoIAcgEkIIhCISNwMIQQAhAgwBCyAHIBJC9////w+DIhI3AwgLIBJCgAGDUARAIAdBADsBOiAHIBJCgAGEIhI3AwgLAn8gEkIEg1AEQEJ/IRVBgAoMAQsgBSAHKQMgIhU3AyggEkIIg1AEQAJAAkACQAJAQQggAiACQX1LG0H//wNxDg0CAwMDAwMDAwEDAwMAAwtBgApBgAIgFUKUwuTzD1YbDAQLQYAKQYACIBVCg4Ow/w9WGwwDC0GACkGAAiAVQv////8PVhsMAgtBgApBgAIgFUIAUhsMAQsgBSAHKQMoNwMgQYACCyEPIAAoAgAQHyITQn9XBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyAFIAUvAQxB9/8DcTsBDCAAIAUgDxA3IgpBAEgNACAHLwE4IghBCCAFKAIQIgMgA0F9SxtB//8DcSICRyEGAkACQAJAAkACQAJAAkAgAiAIRwRAIANBAEchAwwBC0EAIQMgBS0AAEGAAXFFDQELIAUvAVIhCSAHLwE6IQIMAQsgBS8BUiIJIAcvAToiAkYNAQsgASABKAIwQQFqNgIwIAJB//8DcQ0BIAEhAgwCCyABIAEoAjBBAWo2AjBBACEJDAILQSZBACAHLwE6QQFGGyICRQRAIAQEQCAEQQA2AgQgBEEYNgIACyABEAsMAwsgACABIAcvATpBACAAKAIcIAIRBgAhAiABEAsgAkUNAgsgCUEARyEJIAhBAEcgBnFFBEAgAiEBDAELIAAgAiAHLwE4EIEBIQEgAhALIAFFDQELAkAgCEUgBnJFBEAgASECDAELIAAgAUEAEIABIQIgARALIAJFDQELAkAgA0UEQCACIQMMAQsgACACIAUoAhBBASAFLwFQEIIBIQMgAhALIANFDQELAkAgCUUEQCADIQEMAQsgBSgCVCIBRQRAIAAoAhwhAQsCfyAFLwFSGkEBCwRAIAQEQCAEQQA2AgQgBEEYNgIACyADEAsMAgsgACADIAUvAVJBASABQQARBgAhASADEAsgAUUNAQsgACgCABAfIhhCf1cEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELAkAgARAyQQBOBEACfwJAAkAgASAHQUBrQoDAABARIhJCAVMNAEIAIRkgFUIAVQRAIBW5IRoDQCAAIAdBQGsgEhAbQQBIDQMCQCASQoDAAFINACAAKAJUIgJFDQAgAiAZQoBAfSIZuSAaoxB7CyABIAdBQGtCgMAAEBEiEkIAVQ0ACwwBCwNAIAAgB0FAayASEBtBAEgNAiABIAdBQGtCgMAAEBEiEkIAVQ0ACwtBACASQn9VDQEaIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwtBfwshAiABEBoaDAELIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIEC0F/IQILIAEgB0EIahAhQX9MBEAgBARAIAQgASgCDDYCACAEIAEoAhA2AgQLQX8hAgsCf0EAIQkCQCABIgNFDQADQCADLQAaQQFxBEBB/wEhCSADQQBCAEEQEA4iFUIAUw0CIBVCBFkEQCADQQxqBEAgA0EANgIQIANBFDYCDAsMAwsgFachCQwCCyADKAIAIgMNAAsLIAlBGHRBGHUiA0F/TAsEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsgARALDAELIAEQCyACQQBIDQAgACgCABAfIRUgACgCACECIBVCf1cEQCAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsMAQsgAiATEHVBf0wEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELIAcpAwgiE0LkAINC5ABSBEAgBARAIARBADYCBCAEQRQ2AgALDAELAkAgBS0AAEEgcQ0AIBNCEINQRQRAIAUgBygCMDYCFAwBCyAFQRRqEAEaCyAFIAcvATg2AhAgBSAHKAI0NgIYIAcpAyAhEyAFIBUgGH03AyAgBSATNwMoIAUgBS8BDEH5/wNxIANB/wFxQQF0cjsBDCAPQQp2IQNBPyEBAkACQAJAAkAgBSgCECICQQxrDgMAAQIBCyAFQS47AQoMAgtBLSEBIAMNACAFKQMoQv7///8PVg0AIAUpAyBC/v///w9WDQBBFCEBIAJBCEYNACAFLwFSQQFGDQAgBSgCMCICBH8gAi8BBAVBAAtB//8DcSICBEAgAiAFKAIwKAIAakEBay0AAEEvRg0BC0EKIQELIAUgATsBCgsgACAFIA8QNyICQQBIDQAgAiAKRwRAIAQEQCAEQQA2AgQgBEEUNgIACwwBCyAAKAIAIBUQdUF/Sg0BIAAoAgAhAiAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsLIA0NByAMEAsMBwsgDQ0CIAwQCwwCCyAFIAUvAQxB9/8DcTsBDCAAIAVBgAIQN0EASA0FIAAgEyAEEEEiE1ANBSAAKAIAIBNBABAUQX9MBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwGCyAFKQMgIRIjAEGAQGoiAyQAAkAgElBFBEAgAEEIaiECIBK6IRoDQEF/IQEgACgCACADIBJCgMAAIBJCgMAAVBsiEyACEGVBAEgNAiAAIAMgExAbQQBIDQIgACgCVCAaIBIgE30iErqhIBqjEHsgEkIAUg0ACwtBACEBCyADQYBAayQAIAFBf0oNAUEBIREgAUEcdkEIcUEIRgwCCyAEBEAgBEEANgIEIARBDjYCAAsMBAtBAAtFDQELCyARDQBBfyECAkAgACgCABAfQgBTDQAgFyEUQQAhCkIAIRcjAEHwAGsiESQAAkAgACgCABAfIhVCAFkEQCAUUEUEQANAIAAgACgCQCALIBenQQN0aigCAEEEdGoiAygCBCIBBH8gAQUgAygCAAtBgAQQNyIBQQBIBEBCfyEXDAQLIAFBAEcgCnIhCiAXQgF8IhcgFFINAAsLQn8hFyAAKAIAEB8iGEJ/VwRAIAAoAgAhASAAQQhqBEAgACABKAIMNgIIIAAgASgCEDYCDAsMAgsgEULiABAXIgZFBEAgAEEIagRAIABBADYCDCAAQQ42AggLDAILIBggFX0hEyAVQv////8PViAUQv//A1ZyIApyQQFxBEAgBkGZEkEEECwgBkIsEBggBkEtEA0gBkEtEA0gBkEAEBIgBkEAEBIgBiAUEBggBiAUEBggBiATEBggBiAVEBggBkGUEkEEECwgBkEAEBIgBiAYEBggBkEBEBILIAZBnhJBBBAsIAZBABASIAYgFEL//wMgFEL//wNUG6dB//8DcSIBEA0gBiABEA0gBkF/IBOnIBNC/v///w9WGxASIAZBfyAVpyAVQv7///8PVhsQEiAGIABBJEEgIAAtACgbaigCACIDBH8gAy8BBAVBAAtB//8DcRANIAYtAABFBEAgAEEIagRAIABBADYCDCAAQRQ2AggLIAYQCAwCCyAAIAYoAgQgBi0AAAR+IAYpAxAFQgALEBshASAGEAggAUEASA0BIAMEQCAAIAMoAgAgAzMBBBAbQQBIDQILIBMhFwwBCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLQn8hFwsgEUHwAGokACAXQgBTDQAgACgCABAfQj+HpyECCyALEAYgAkEASA0BAn8gACgCACIBKAIkQQFHBEAgAUEMagRAIAFBADYCECABQRI2AgwLQX8MAQsgASgCICICQQJPBEAgAUEMagRAIAFBADYCECABQR02AgwLQX8MAQsCQCACQQFHDQAgARAaQQBODQBBfwwBCyABQQBCAEEJEA5Cf1cEQCABQQI2AiRBfwwBCyABQQA2AiRBAAtFDQIgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyALEAYLIAAoAlQQfCAAKAIAEENBfyECDAILIAAoAlQQfAsgABBLQQAhAgsgB0HAwABqJAAgAgtFAEHwgwFCADcDAEHogwFCADcDAEHggwFCADcDAEHYgwFCADcDAEHQgwFCADcDAEHIgwFCADcDAEHAgwFCADcDAEHAgwELoQMBCH8jAEGgAWsiAiQAIAAQMQJAAn8CQCAAKAIAIgFBAE4EQCABQbATKAIASA0BCyACIAE2AhAgAkEgakH2ESACQRBqEHZBASEGIAJBIGohBCACQSBqECIhA0EADAELIAFBAnQiAUGwEmooAgAhBQJ/AkACQCABQcATaigCAEEBaw4CAAEECyAAKAIEIQNB9IIBKAIAIQdBACEBAkACQANAIAMgAUHQ8QBqLQAARwRAQdcAIQQgAUEBaiIBQdcARw0BDAILCyABIgQNAEGw8gAhAwwBC0Gw8gAhAQNAIAEtAAAhCCABQQFqIgMhASAIDQAgAyEBIARBAWsiBA0ACwsgBygCFBogAwwBC0EAIAAoAgRrQQJ0QdjAAGooAgALIgRFDQEgBBAiIQMgBUUEQEEAIQVBASEGQQAMAQsgBRAiQQJqCyEBIAEgA2pBAWoQCSIBRQRAQegSKAIAIQUMAQsgAiAENgIIIAJBrBJBkRIgBhs2AgQgAkGsEiAFIAYbNgIAIAFBqwogAhB2IAAgATYCCCABIQULIAJBoAFqJAAgBQszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQBxogACAAKAIUIAFqNgIUIAILBgBBsIgBCwYAQayIAQsGAEGkiAELBwAgAEEEagsHACAAQQhqCyYBAX8gACgCFCIBBEAgARALCyAAKAIEIQEgAEEEahAxIAAQBiABC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkHBAGtBGkkbIAEtAAAiAkEgciACIAJBwQBrQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBwQBrQRpJGyABLQAAIgBBIHIgACAAQcEAa0EaSRtrC8sGAgJ+An8jAEHgAGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDg8AAQoCAwQGBwgICAgICAUICyABQgA3AyAMCQsgACACIAMQESIFQn9XBEAgAUEIaiIBBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMCAsCQCAFUARAIAEpAygiAyABKQMgUg0BIAEgAzcDGCABQQE2AgQgASgCAEUNASAAIAdBKGoQIUF/TARAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAoLAkAgBykDKCIDQiCDUA0AIAcoAlQgASgCMEYNACABQQhqBEAgAUEANgIMIAFBBzYCCAsMCgsgA0IEg1ANASAHKQNAIAEpAxhRDQEgAUEIagRAIAFBADYCDCABQRU2AggLDAkLIAEoAgQNACABKQMoIgMgASkDICIGVA0AIAUgAyAGfSIDWA0AIAEoAjAhBANAIAECfyAFIAN9IgZC/////w8gBkL/////D1QbIganIQBBACACIAOnaiIIRQ0AGiAEIAggAEHUgAEoAgARAAALIgQ2AjAgASABKQMoIAZ8NwMoIAUgAyAGfCIDVg0ACwsgASABKQMgIAV8NwMgDAgLIAEoAgRFDQcgAiABKQMYIgM3AxggASgCMCEAIAJBADYCMCACIAM3AyAgAiAANgIsIAIgAikDAELsAYQ3AwAMBwsgA0IIWgR+IAIgASgCCDYCACACIAEoAgw2AgRCCAVCfwshBQwGCyABEAYMBQtCfyEFIAApAxgiA0J/VwRAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAULIAdBfzYCGCAHQo+AgICAAjcDECAHQoyAgIDQATcDCCAHQomAgICgATcDACADQQggBxAkQn+FgyEFDAQLIANCD1gEQCABQQhqBEAgAUEANgIMIAFBEjYCCAsMAwsgAkUNAgJAIAAgAikDACACKAIIEBRBAE4EQCAAEDMiA0J/VQ0BCyABQQhqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwDCyABIAM3AyAMAwsgASkDICEFDAILIAFBCGoEQCABQQA2AgwgAUEcNgIICwtCfyEFCyAHQeAAaiQAIAULjAcCAn4CfyMAQRBrIgckAAJAAkACQAJAAkACQAJAAkACQAJAIAQOEQABAgMFBggICAgICAgIBwgECAsgAUJ/NwMgIAFBADoADyABQQA7AQwgAUIANwMYIAEoAqxAIAEoAqhAKAIMEQEArUIBfSEFDAgLQn8hBSABKAIADQdCACEFIANQDQcgAS0ADQ0HIAFBKGohBAJAA0ACQCAHIAMgBX03AwggASgCrEAgAiAFp2ogB0EIaiABKAKoQCgCHBEAACEIQgAgBykDCCAIQQJGGyAFfCEFAkACQAJAIAhBAWsOAwADAQILIAFBAToADSABKQMgIgNCf1cEQCABBEAgAUEANgIEIAFBFDYCAAsMBQsgAS0ADkUNBCADIAVWDQQgASADNwMYIAFBAToADyACIAQgA6cQBxogASkDGCEFDAwLIAEtAAwNAyAAIARCgMAAEBEiBkJ/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwECyAGUARAIAFBAToADCABKAKsQCABKAKoQCgCGBEDACABKQMgQn9VDQEgAUIANwMgDAELAkAgASkDIEIAWQRAIAFBADoADgwBCyABIAY3AyALIAEoAqxAIAQgBiABKAKoQCgCFBEPABoLIAMgBVYNAQwCCwsgASgCAA0AIAEEQCABQQA2AgQgAUEUNgIACwsgBVBFBEAgAUEAOgAOIAEgASkDGCAFfDcDGAwIC0J/QgAgASgCABshBQwHCyABKAKsQCABKAKoQCgCEBEBAK1CAX0hBQwGCyABLQAQBEAgAS0ADQRAIAIgAS0ADwR/QQAFQQggASgCFCIAIABBfUsbCzsBMCACIAEpAxg3AyAgAiACKQMAQsgAhDcDAAwHCyACIAIpAwBCt////w+DNwMADAYLIAJBADsBMCACKQMAIQMgAS0ADQRAIAEpAxghBSACIANCxACENwMAIAIgBTcDGEIAIQUMBgsgAiADQrv///8Pg0LAAIQ3AwAMBQsgAS0ADw0EIAEoAqxAIAEoAqhAKAIIEQEArCEFDAQLIANCCFoEfiACIAEoAgA2AgAgAiABKAIENgIEQggFQn8LIQUMAwsgAUUNAiABKAKsQCABKAKoQCgCBBEDACABEDEgARAGDAILIAdBfzYCAEEQIAcQJEI/hCEFDAELIAEEQCABQQA2AgQgAUEUNgIAC0J/IQULIAdBEGokACAFC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQA6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAu3fAIefwZ+IAIpAwAhIiAAIAE2AhwgACAiQv////8PICJC/////w9UGz4CICAAQRBqIQECfyAALQAEBEACfyAALQAMQQJ0IQpBfiEEAkACQAJAIAEiBUUNACAFKAIgRQ0AIAUoAiRFDQAgBSgCHCIDRQ0AIAMoAgAgBUcNAAJAAkAgAygCICIGQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyAGQZoFRg0AIAZBKkcNAQsgCkEFSw0AAkACQCAFKAIMRQ0AIAUoAgQiAQRAIAUoAgBFDQELIAZBmgVHDQEgCkEERg0BCyAFQeDAACgCADYCGEF+DAQLIAUoAhBFDQEgAygCJCEEIAMgCjYCJAJAIAMoAhAEQCADEDACQCAFKAIQIgYgAygCECIIIAYgCEkbIgFFDQAgBSgCDCADKAIIIAEQBxogBSAFKAIMIAFqNgIMIAMgAygCCCABajYCCCAFIAUoAhQgAWo2AhQgBSAFKAIQIAFrIgY2AhAgAyADKAIQIAFrIgg2AhAgCA0AIAMgAygCBDYCCEEAIQgLIAYEQCADKAIgIQYMAgsMBAsgAQ0AIApBAXRBd0EAIApBBEsbaiAEQQF0QXdBACAEQQRKG2pKDQAgCkEERg0ADAILAkACQAJAAkACQCAGQSpHBEAgBkGaBUcNASAFKAIERQ0DDAcLIAMoAhRFBEAgA0HxADYCIAwCCyADKAI0QQx0QYDwAWshBAJAIAMoAowBQQJODQAgAygCiAEiAUEBTA0AIAFBBUwEQCAEQcAAciEEDAELQYABQcABIAFBBkYbIARyIQQLIAMoAgQgCGogBEEgciAEIAMoAmgbIgFBH3AgAXJBH3NBCHQgAUGA/gNxQQh2cjsAACADIAMoAhBBAmoiATYCECADKAJoBEAgAygCBCABaiAFKAIwIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYAACADIAMoAhBBBGo2AhALIAVBATYCMCADQfEANgIgIAUQCiADKAIQDQcgAygCICEGCwJAAkACQAJAIAZBOUYEfyADQaABakHkgAEoAgARAQAaIAMgAygCECIBQQFqNgIQIAEgAygCBGpBHzoAACADIAMoAhAiAUEBajYCECABIAMoAgRqQYsBOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBCDoAAAJAIAMoAhwiAUUEQCADKAIEIAMoAhBqQQA2AAAgAyADKAIQIgFBBWo2AhAgASADKAIEakEAOgAEQQIhBCADKAKIASIBQQlHBEBBBCABQQJIQQJ0IAMoAowBQQFKGyEECyADIAMoAhAiAUEBajYCECABIAMoAgRqIAQ6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEDOgAAIANB8QA2AiAgBRAKIAMoAhBFDQEMDQsgASgCJCELIAEoAhwhCSABKAIQIQggASgCLCENIAEoAgAhBiADIAMoAhAiAUEBajYCEEECIQQgASADKAIEaiANQQBHQQF0IAZBAEdyIAhBAEdBAnRyIAlBAEdBA3RyIAtBAEdBBHRyOgAAIAMoAgQgAygCEGogAygCHCgCBDYAACADIAMoAhAiDUEEaiIGNgIQIAMoAogBIgFBCUcEQEEEIAFBAkhBAnQgAygCjAFBAUobIQQLIAMgDUEFajYCECADKAIEIAZqIAQ6AAAgAygCHCgCDCEEIAMgAygCECIBQQFqNgIQIAEgAygCBGogBDoAACADKAIcIgEoAhAEfyADKAIEIAMoAhBqIAEoAhQ7AAAgAyADKAIQQQJqNgIQIAMoAhwFIAELKAIsBEAgBQJ/IAUoAjAhBiADKAIQIQRBACADKAIEIgFFDQAaIAYgASAEQdSAASgCABEAAAs2AjALIANBxQA2AiAgA0EANgIYDAILIAMoAiAFIAYLQcUAaw4jAAQEBAEEBAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAMECyADKAIcIgEoAhAiBgRAIAMoAgwiCCADKAIQIgQgAS8BFCADKAIYIg1rIglqSQRAA0AgAygCBCAEaiAGIA1qIAggBGsiCBAHGiADIAMoAgwiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIAMgAygCGCAIajYCGCAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAsgAygCEA0MIAMoAhghDSADKAIcKAIQIQZBACEEIAkgCGsiCSADKAIMIghLDQALCyADKAIEIARqIAYgDWogCRAHGiADIAMoAhAgCWoiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiBCEJA0ACQCAEIAMoAgxHDQACQCADKAIcKAIsRQ0AIAQgCU0NACAFAn8gBSgCMCEGQQAgAygCBCAJaiIBRQ0AGiAGIAEgBCAJa0HUgAEoAgARAAALNgIwCyAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAtBACEEQQAhCSADKAIQRQ0ADAsLIAMoAhwoAhwhBiADIAMoAhgiAUEBajYCGCABIAZqLQAAIQEgAyAEQQFqNgIQIAMoAgQgBGogAToAACABBEAgAygCECEEDAELCwJAIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0EANgIYCyADQdsANgIgCwJAIAMoAhwoAiRFDQAgAygCECIEIQkDQAJAIAQgAygCDEcNAAJAIAMoAhwoAixFDQAgBCAJTQ0AIAUCfyAFKAIwIQZBACADKAIEIAlqIgFFDQAaIAYgASAEIAlrQdSAASgCABEAAAs2AjALIAUoAhwiBhAwAkAgBSgCECIEIAYoAhAiASABIARLGyIBRQ0AIAUoAgwgBigCCCABEAcaIAUgBSgCDCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + 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 (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "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)." + ); + } + throw e; + } + return [instance, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["g"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["W"]; + addOnInit(Module["asm"]["h"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + function LE_HEAP_LOAD_F32(byteOffset) { + return HEAP_DATA_VIEW.getFloat32(byteOffset, true); + } + function LE_HEAP_LOAD_F64(byteOffset) { + return HEAP_DATA_VIEW.getFloat64(byteOffset, true); + } + function LE_HEAP_LOAD_I16(byteOffset) { + return HEAP_DATA_VIEW.getInt16(byteOffset, true); + } + function LE_HEAP_LOAD_I32(byteOffset) { + return HEAP_DATA_VIEW.getInt32(byteOffset, true); + } + function LE_HEAP_STORE_I32(byteOffset, value) { + HEAP_DATA_VIEW.setInt32(byteOffset, value, true); + } + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); + LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); + LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); + LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); + LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); + LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); + LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); + LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT"); + LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min( + overGrownHeapSize, + requestedSize + 100663296 + ); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); + } + return ret; + } + function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + var currentYear = (/* @__PURE__ */ new Date()).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); + LE_HEAP_STORE_I32( + (__get_daylight() >> 2) * 4, + Number(winterOffset != summerOffset) + ); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); + } else { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, + LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), + 0 + ); + var date = new Date(time); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + return date.getTime() / 1e3 | 0; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + e: ___gmtime_r, + c: _emscripten_memcpy_big, + d: _emscripten_resize_heap, + a: _setTempRet0, + b: _time, + f: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["h"]; + Module["_zip_ext_count_symlinks"] = asm["i"]; + Module["_zip_file_get_external_attributes"] = asm["j"]; + Module["_zipstruct_statS"] = asm["k"]; + Module["_zipstruct_stat_size"] = asm["l"]; + Module["_zipstruct_stat_mtime"] = asm["m"]; + Module["_zipstruct_stat_crc"] = asm["n"]; + Module["_zipstruct_errorS"] = asm["o"]; + Module["_zipstruct_error_code_zip"] = asm["p"]; + Module["_zipstruct_stat_comp_size"] = asm["q"]; + Module["_zipstruct_stat_comp_method"] = asm["r"]; + Module["_zip_close"] = asm["s"]; + Module["_zip_delete"] = asm["t"]; + Module["_zip_dir_add"] = asm["u"]; + Module["_zip_discard"] = asm["v"]; + Module["_zip_error_init_with_code"] = asm["w"]; + Module["_zip_get_error"] = asm["x"]; + Module["_zip_file_get_error"] = asm["y"]; + Module["_zip_error_strerror"] = asm["z"]; + Module["_zip_fclose"] = asm["A"]; + Module["_zip_file_add"] = asm["B"]; + Module["_free"] = asm["C"]; + var _malloc = Module["_malloc"] = asm["D"]; + Module["_zip_source_error"] = asm["E"]; + Module["_zip_source_seek"] = asm["F"]; + Module["_zip_file_set_external_attributes"] = asm["G"]; + Module["_zip_file_set_mtime"] = asm["H"]; + Module["_zip_fopen_index"] = asm["I"]; + Module["_zip_fread"] = asm["J"]; + Module["_zip_get_name"] = asm["K"]; + Module["_zip_get_num_entries"] = asm["L"]; + Module["_zip_source_read"] = asm["M"]; + Module["_zip_name_locate"] = asm["N"]; + Module["_zip_open_from_source"] = asm["O"]; + Module["_zip_set_file_compression"] = asm["P"]; + Module["_zip_source_buffer"] = asm["Q"]; + Module["_zip_source_buffer_create"] = asm["R"]; + Module["_zip_source_close"] = asm["S"]; + Module["_zip_source_free"] = asm["T"]; + Module["_zip_source_keep"] = asm["U"]; + Module["_zip_source_open"] = asm["V"]; + Module["_zip_source_tell"] = asm["X"]; + Module["_zip_stat_index"] = asm["Y"]; + var __get_tzname = Module["__get_tzname"] = asm["Z"]; + var __get_daylight = Module["__get_daylight"] = asm["_"]; + var __get_timezone = Module["__get_timezone"] = asm["$"]; + var stackSave = Module["stackSave"] = asm["aa"]; + var stackRestore = Module["stackRestore"] = asm["ba"]; + var stackAlloc = Module["stackAlloc"] = asm["ca"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + // low + `number` + // high +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (emZip) => ({ + // Those are getters because they can change after memory growth + get HEAPU8() { + return emZip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_EXCL: 2, + 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: emZip._malloc(1), + uint32S: emZip._malloc(4), + malloc: emZip._malloc, + free: emZip._free, + getValue: emZip.getValue, + openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: emZip.cwrap(`zip_close`, `number`, [`number`]), + discard: emZip.cwrap(`zip_discard`, null, [`number`]), + getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), + fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: emZip.cwrap(`zip_source_free`, null, [`number`]), + keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), + open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), + close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) + }, + struct: { + statS: emZip.cwrap(`zipstruct_statS`, `number`, []), + statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +function getArchivePart(path, extension) { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +} +class ZipOpenFS extends MountFS { + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + constructor(opts = {}) { + const fileExtensions = opts.fileExtensions; + const readOnlyArchives = opts.readOnlyArchives; + const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { + for (const extension of fileExtensions) { + const result = getArchivePart(path, extension); + if (result) { + return result; + } + } + return null; + }; + const factorySync = (baseFs, p) => { + return new ZipFS(p, { + baseFs, + readOnly: readOnlyArchives, + stats: baseFs.statSync(p) + }); + }; + const factoryPromise = async (baseFs, p) => { + const zipOptions = { + baseFs, + readOnly: readOnlyArchives, + stats: await baseFs.statPromise(p) + }; + return () => { + return new ZipFS(p, zipOptions); + }; + }; + super({ + ...opts, + factorySync, + factoryPromise, + getMountPoint + }); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (typeof time === `number` && Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + return Buffer.from([ + 80, + 75, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]); +} +class LibzipError extends Error { + code; + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} +class ZipFS extends BasePortableFakeFS { + libzip; + baseFs; + path; + stats; + zip; + lzSource; + level; + listings = /* @__PURE__ */ new Map(); + entries = /* @__PURE__ */ new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + fileSources = /* @__PURE__ */ new Map(); + symlinkCount; + fds = /* @__PURE__ */ new Map(); + nextFd = 0; + ready = false; + readOnly = false; + constructor(source, opts = {}) { + super(); + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source ??= makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new NodeFS() } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + this.libzip = getInstance(); + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) + source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); + const lzSource = this.allocateUnattachedSource(source); + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) + throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + return false; + } + getAllFiles() { + return Array.from(this.entries.keys()); + } + getRealPath() { + if (!this.path) + throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + getBufferAndClose() { + this.prepareClose(); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + else if (rc < size) + throw new Error(`Incomplete read`); + else if (rc > size) + throw new Error(`Overread`); + let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); + if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) + result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); + return result; + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); + this.ready = false; + } + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { cursor: 0, p }); + return fd; + } + hasOpenFileHandles() { + return !!this.fds.size; + } + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return opendir(this, resolvedP, entries, { onClose }); + } + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const realPosition = position === -1 || position === null ? entry.cursor : position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) + entry.cursor += bytesRead; + return bytesRead; + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + async closePromise(fd) { + return this.closeSync(fd); + } + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), + { + close() { + stream$1.destroy(); + }, + bytesWritten: 0, + path: p, + // "This property is `true` if the underlying file has not been opened yet" + pending: false + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + async realpathPromise(p) { + return this.realpathSync(p); + } + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = fs.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + async lstatPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; + const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = fs.constants.S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + throw new Error(`Unreachable`); + } + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + registerListing(p) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing?.delete(ppath.basename(p)); + } + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) + return; + this.fileSources.delete(entry); + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { + if (!this.ready) + throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + if (resolveLastComponent && fileIndex !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + throw ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) + break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); + if (index === -1) + break; + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + return resolvedP; + } + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) + content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { buffer, byteLength: content.byteLength }; + } + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + return source; + } + allocateSource(content) { + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + return source; + } + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.level !== `mixed`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + isSymbolicLink(index) { + if (this.symlinkCount === 0) + return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & fs.constants.S_IFMT) === fs.constants.S_IFLNK; + } + getFileSource(index, opts = { asyncDecompress: false }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) + return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + try { + const rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) + throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, fs.constants.S_IFREG | 0); + const newMod = oldMod & ~511 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + async copyFilePromise(sourceP, destP, flags) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { asyncDecompress: true }); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + copyFileSync(sourceP, destP, flags = 0) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) + throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) + throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFilePromise(p, content, opts); + } + appendFileSync(p, content, opts = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFileSync(p, content, opts); + } + fdToPath(fd, reason) { + const path = this.fds.get(fd)?.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + async writeFilePromise(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + writeFileSync(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + prepareWriteFile(p, opts) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + if (this.readOnly) + throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`open '${p}'`); + let encoding = null, mode = null; + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + async unlinkPromise(p) { + return this.unlinkSync(p); + } + unlinkSync(p) { + if (this.readOnly) + throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + utimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + lutimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) { + if (!this.entries.has(resolvedP)) + this.hydrateDirectory(resolvedP); + } + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + mkdirSync(p, { mode = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + if (this.readOnly) + throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + return void 0; + } + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + rmdirSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rmdir '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + async rmPromise(p, opts) { + return this.rmSync(p, opts); + } + rmSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rm '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rm '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rm '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rm '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rm '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + linkSync(existingP, newP) { + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (fs.constants.S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + readFileBuffer(p, opts = { asyncDecompress: false }) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + if (opts?.recursive) { + if (opts?.withFileTypes) { + const entries = Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: PortablePath.dot + }); + }); + for (const entry of entries) { + if (!entry.isDirectory()) + continue; + const subPath = ppath.join(entry.path, entry.name); + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + for (const child of subListing) { + entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { + name: child, + path: subPath + })); + } + } + return entries; + } else { + const entries = [...directoryListing]; + for (const subPath of entries) { + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + if (typeof subListing === `undefined`) + continue; + for (const child of subListing) { + entries.push(ppath.join(subPath, child)); + } + } + return entries; + } + } else if (opts?.withFileTypes) { + return Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: void 0 + }); + }); + } else { + return [...directoryListing]; + } + } + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); + } + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw EINVAL(`readlink '${p}'`); + return entry; + } + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { asyncDecompress: true }); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + watch(p, a, b) { + let persistent; + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + default: + { + ({ persistent = true } = a); + } + break; + } + if (!persistent) + return { on: () => { + }, close: () => { + } }; + const interval = setInterval(() => { + }, 24 * 60 * 60 * 1e3); + return { on: () => { + }, close: () => { + clearInterval(interval); + } }; + } + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +setFactory(() => { + const emZip = createModule(); + return makeInterface(emZip); +}); + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { + ...propertySpec, + value: code + }, + pnpCode: { + ...propertySpec, + value: pnpCode + }, + data: { + ...propertySpec, + value: data + } + }); +} +function getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +function reportRequiredFilesToWatchMode(files) { + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); + if (WATCH_MODE_MESSAGE_USES_ARRAYS) { + process.send({ "watch:require": files }); + } else { + for (const filename of files) { + process.send({ "watch:require": filename }); + } + } + } +} + +function applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (require$$0.isBuiltin(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...forwardedOptions } = options; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && pkg.data?.type === `module`) { + const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +function hydrateRuntimeState(data, { basePath }) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = packageInformationData.discardFromLookup ?? false; + const packageLocator = { name: packageName, reference: packageReference }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + // we only need this for packages that are used by the currently running script + // this is a lazy getter because `ppath.join` has some overhead + get packageLocation() { + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) return -1; + if (baseLenB > baseLenA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; +} +function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) return true; + if (typeof exports !== "object" || exports === null) return false; + const keys = ObjectGetOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + for (let j = 0; j < keys.length; j++) { + const key = keys[j]; + const curIsConditionalSugar = key === "" || key[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function throwExportsNotFound(subpath, packageJSONUrl, base) { + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + base && url.fileURLToPath(base) + ); +} +const emittedPackageWarnings = /* @__PURE__ */ new Set(); +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = url.fileURLToPath(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve({ + packageJSONUrl, + packageSubpath, + exports, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + "", + packageSubpath, + base, + false, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(exports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + packageSubpath, + StringPrototypeSlice(key, 0, patternIndex) + )) { + if (StringPrototypeEndsWith(packageSubpath, "/")) + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJSONUrl, + base + ); + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + packageSubpath, + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + throwExportsNotFound(packageSubpath, packageJSONUrl, base); +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ name, reference }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; + if (stack.length > 0) { + console.error(); + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + console.error(); + } + function maybeLog(name, fn) { + if (opts.allowDebug === false) + return fn; + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + return fn; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw makeError( + ErrorCode.INTERNAL, + `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` + ); + } + return packageInformation; + } + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) + return true; + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) + if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) + return true; + return false; + } + const defaultExportsConditions = /* @__PURE__ */ new Set([ + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw makeError( + ErrorCode.INTERNAL, + `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` + ); + } + const { packageLocation } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) + return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + if (pkgJson.exports == null) + return null; + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (subpath !== `.` && !isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + try { + const resolvedExport = packageExportsResolve({ + packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), + packageSubpath: subpath, + exports: pkgJson.exports, + base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, + conditions + }); + return npath.toPortablePath(url.fileURLToPath(resolvedExport)); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + error.code + ); + } + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + if (stat && stat.isDirectory()) { + let pkgJson; + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) { + } + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) + nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) + return false; + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + function findPackageDependents({ name, reference }) { + const dependents = []; + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) + continue; + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) + continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) + continue; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ new Set(); + const traversal = (currentPackage) => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) + return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) + brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); + brokenSet.add(dependent.reference); + } + } + }; + traversal(initialPackage); + const brokenList = []; + for (const name of [...brokenPackages.keys()].sort()) + for (const reference of [...brokenPackages.get(name)].sort()) + brokenList.push({ name, reference }); + return brokenList; + } + function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { + if (isPathIgnored(location) && !resolveIgnored) + return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) + relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) + relativeLocation = `${relativeLocation}/`; + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + return entry.locator; + } while (relativeLocation !== ``); + return null; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && require$$0.isBuiltin(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.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: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const absoluteIssuer = ppath.resolve(issuer); + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.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: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) + continue; + if (alwaysWarnOnFallback) + fallbackReference = reference; + else + dependencyReference = reference; + break; + } + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && require$$0.isBuiltin(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}. 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 ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}. 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 ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } + } + if (dependencyReference == null) { + if (fallbackReference === null || error === null) + throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw makeError( + ErrorCode.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: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if (err?.code === `ENOENT`) { + exists = false; + } else { + const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + const errorMessage = packageLocation.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 makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: opts2.conditions ?? defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.hasOwn(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { name: referencish[0], reference: referencish[1] }; + } else { + return { name, reference: referencish }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getAllLocators() { + const locators = []; + for (const [name, entry] of packageRegistry) + for (const reference of entry.keys()) + if (name !== null && reference !== null) + locators.push({ name, reference }); + return locators; + }, + getPackageInformation: (locator) => { + const info = getPackageInformation(locator); + if (info === null) + return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, packageLocation }; + return nativeInfo; + }, + findPackageLocator: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) { + target = VirtualFS.resolveVirtual(target); + target = opts.fakeFs.realpathSync(target); + } + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + baseFs = defaultFsLayer; + constructor() { + super(ppath); + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs new file mode 100644 index 0000000..e5a5429 --- /dev/null +++ b/.pnp.loader.mjs @@ -0,0 +1,2126 @@ +/* eslint-disable */ +// @ts-nocheck + +import fs from 'fs'; +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import path from 'path'; +import { createHash } from 'crypto'; +import { EOL } from 'os'; +import esmModule, { createRequire, isBuiltin } from 'module'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path.posix.resolve(...segments); + } else { + return path.posix.resolve(ppath.cwd(), ...segments); + } + }; +} +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePathWin32(p) { + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class FakeFS { + pathUtils; + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async rmPromise(p, opts) { + return this.baseFs.rmPromise(this.mapToBase(p), opts); + } + rmSync(p, opts) { + return this.baseFs.rmSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + // @ts-expect-error + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + // @ts-expect-error + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + realFs; + constructor(realFs = fs) { + super(); + this.realFs = realFs; + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async rmPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmSync(p, opts) { + return this.realFs.rmSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + // @ts-expect-error + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + // @ts-expect-error + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + baseFs; + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; +const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; +const SUPPORTS_IMPORT_ATTRIBUTES = major >= 21 || major === 20 && minor >= 10 || major === 18 && minor >= 20; +const SUPPORTS_IMPORT_ATTRIBUTES_ONLY = major >= 22; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + return `json`; + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return pkg.data.type ?? `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return pkg.data.type ?? `commonjs`; + } + } +} + +async function load$1(urlString, context, nextLoad) { + const url = tryParseURL(urlString); + if (url?.protocol !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (format === `json`) { + if (SUPPORTS_IMPORT_ATTRIBUTES_ONLY) { + if (context.importAttributes?.type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ATTRIBUTE_MISSING]: Module "${urlString}" needs an import attribute of "type: json"`); + err.code = `ERR_IMPORT_ATTRIBUTE_MISSING`; + throw err; + } + } else { + const type = `importAttributes` in context ? context.importAttributes?.type : context.importAssertions?.type; + if (type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import ${SUPPORTS_IMPORT_ATTRIBUTES ? `attribute` : `assertion`} of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + } + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + const pathToSend = pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href; + process.send({ + "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend + }); + } + return { + format, + source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) return -1; + if (baseLenB > baseLenA) return 1; + if (aPatternIndex === -1) return 1; + if (bPatternIndex === -1) return -1; + if (a.length > b.length) return -1; + if (b.length > a.length) return 1; + return 0; +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +let findPnpApi = esmModule.findPnpApi; +if (!findPnpApi) { + const require = createRequire(import.meta.url); + const pnpApi = require(`./.pnp.cjs`); + pnpApi.setup(); + findPnpApi = esmModule.findPnpApi; +} +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + if (!findPnpApi || isBuiltin(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === `` && dependencyName !== `pnpapi`) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + let result; + try { + result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + // TODO: Handle --experimental-specifier-resolution=node + extensions: allowLegacyResolve ? void 0 : [] + }); + } catch (err) { + if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) + err.code = `ERR_MODULE_NOT_FOUND`; + throw err; + } + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +if (!HAS_LAZY_LOADED_TRANSLATORS) { + const binding = process.binding(`fs`); + const originalReadFile = binding.readFileUtf8 || binding.readFileSync; + if (originalReadFile) { + binding[originalReadFile.name] = function(...args) { + try { + return fs.readFileSync(args[0], { + encoding: `utf8`, + // @ts-expect-error - The docs says it needs to be a string but + // links to https://nodejs.org/dist/latest-v20.x/docs/api/fs.html#file-system-flags + // which says it can be a number which matches the implementation. + flag: args[1] + }); + } catch { + } + return originalReadFile.apply(this, args); + }; + } else { + const binding2 = process.binding(`fs`); + const originalfstat = binding2.fstat; + const ZIP_MASK = 4278190080; + const ZIP_MAGIC = 704643072; + binding2.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + // atime sec + // atime ns + // mtime sec + // mtime ns + // ctime sec + // ctime ns + // birthtime sec + // birthtime ns + ]); + } catch { + } + } + return originalfstat.apply(this, args); + }; + } +} + +const resolve = resolve$1; +const load = load$1; + +export { load, resolve }; diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..29a2402 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "singleQuote": true, + "printWidth": 100 +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..c92168f --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "Vue.volar", + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode" + ] +} diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..5901c862e66cb619a43052d8c8cb89916c470879 GIT binary patch literal 363866 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�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

RqV~?^n!vIE!8clZNbIH0(78=_n7bID-QlLk= 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 32a1824..bf32480 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,39 @@ -# ArithmaBattle +# . -基于Vue.js的心算竞技场 | 实时对战PK × 渐进式训练 ✖️ 成绩追踪 📊 使用Vue.js构建的网页端数学训练平台,融合游戏化设计,支持多难度级别、排行榜、响应式布局,适合教育与娱乐场景。通过组件化开发实现高效交互,后续计划扩展社交分享与成就系统。🚀 +This template should help get you started developing with Vue 3 in Vite. -## 项目概述 -ArithmaBattle 是一款基于网页的交互式心算训练与竞技平台,旨在通过趣味PK模式提升用户的计算速度和数学能力。 +## Recommended IDE Setup -核心功能: +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). -- 实时对战模式(支持加减乘除运算) -- 多难度级别适应不同年龄段用户 -- 成绩追踪系统记录进步轨迹 +## Type Support for `.vue` Imports in TS -响应式设计适配各种设备 -项目特色: -✓ 将数学练习与游戏对战完美结合 -✓ 单人训练与多人PK双模式 -✓ 竞技机制激发学习动力 -✓ 简洁直观的用户界面 -✓ 适合课堂教学或家庭娱乐 +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. -无论是想提升计算能力的学生,还是喜欢数字游戏的爱好者,都能在这里找到挑战乐趣。项目采用Vue.js技术栈开发,后期计划加入社交分享和成就系统。 \ No newline at end of file +## Customize configuration + +See [Vite Configuration Reference](https://vite.dev/config/). + +## Project Setup + +```sh +yarn +``` + +### Compile and Hot-Reload for Development + +```sh +yarn dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +yarn build +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +yarn lint +``` diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 0000000..20475f8 --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,22 @@ +import { globalIgnores } from 'eslint/config' +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' +import pluginVue from 'eslint-plugin-vue' +import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' + +// To allow more languages other than `ts` in `.vue` files, uncomment the following lines: +// import { configureVueProject } from '@vue/eslint-config-typescript' +// configureVueProject({ scriptLangs: ['ts', 'tsx'] }) +// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup + +export default defineConfigWithVueTs( + { + name: 'app/files-to-lint', + files: ['**/*.{ts,mts,tsx,vue}'], + }, + + globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**']), + + pluginVue.configs['flat/essential'], + vueTsConfigs.recommended, + skipFormatting, +) diff --git a/index.html b/index.html new file mode 100644 index 0000000..9e5fc8f --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +

+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..ec76464 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "arithma-battle", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "lint": "eslint . --fix", + "format": "prettier --write src/" + }, + "dependencies": { + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.5.0", + "@vue/tsconfig": "^0.7.0", + "eslint": "^9.22.0", + "eslint-plugin-vue": "~10.0.0", + "jiti": "^2.4.2", + "npm-run-all2": "^7.0.2", + "prettier": "3.5.3", + "typescript": "~5.8.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..7905b05 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..8816868 --- /dev/null +++ b/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 0000000..36fb845 --- /dev/null +++ b/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..d174cf8 --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/components/TheWelcome.vue b/src/components/TheWelcome.vue new file mode 100644 index 0000000..8b731d9 --- /dev/null +++ b/src/components/TheWelcome.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/components/WelcomeItem.vue b/src/components/WelcomeItem.vue new file mode 100644 index 0000000..6d7086a --- /dev/null +++ b/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/components/icons/IconCommunity.vue b/src/components/icons/IconCommunity.vue new file mode 100644 index 0000000..2dc8b05 --- /dev/null +++ b/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconDocumentation.vue b/src/components/icons/IconDocumentation.vue new file mode 100644 index 0000000..6d4791c --- /dev/null +++ b/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconEcosystem.vue b/src/components/icons/IconEcosystem.vue new file mode 100644 index 0000000..c3a4f07 --- /dev/null +++ b/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconSupport.vue b/src/components/icons/IconSupport.vue new file mode 100644 index 0000000..7452834 --- /dev/null +++ b/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/src/components/icons/IconTooling.vue b/src/components/icons/IconTooling.vue new file mode 100644 index 0000000..660598d --- /dev/null +++ b/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..5dcad83 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,14 @@ +import './assets/main.css' + +import { createApp } from 'vue' +import { createPinia } from 'pinia' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +app.use(createPinia()) +app.use(router) + +app.mount('#app') diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..3e49915 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: HomeView, + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue'), + }, + ], +}) + +export default router diff --git a/src/stores/counter.ts b/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue new file mode 100644 index 0000000..756ad2a --- /dev/null +++ b/src/views/AboutView.vue @@ -0,0 +1,15 @@ + + + diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue new file mode 100644 index 0000000..d5c0217 --- /dev/null +++ b/src/views/HomeView.vue @@ -0,0 +1,9 @@ + + + diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..913b8f2 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..4217010 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,18 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..3b694d8 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4084 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@antfu/utils@npm:^0.7.10": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: 10c0/98991f66a4752ef097280b4235b27d961a13a2c67ef8e5b716a120eb9823958e20566516711204e2bfb08f0b935814b715f49ecd79c3b9b93ce32747ac297752 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.0": + version: 7.26.10 + resolution: "@babel/core@npm:7.26.10" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/e046e0e988ab53841b512ee9d263ca409f6c46e2a999fe53024688b92db394346fa3aeae5ea0866331f62133982eee05a675d22922a4603c3f603aa09a581d62 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" + dependencies: + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/7cb10693d2b365c278f109a745dc08856cae139d262748b77b70ce1d97da84627f79648cab6940d847392c0e5d180441669ed958b3aee98d9c7d274b37c553bd + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.26.5": + version: 7.27.0 + resolution: "@babel/helper-compilation-targets@npm:7.27.0" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/375c9f80e6540118f41bd53dd54d670b8bf91235d631bdead44c8b313b26e9cd89aed5c6df770ad13a87a464497b5346bb72b9462ba690473da422f5402618b6 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.25.9, @babel/helper-create-class-features-plugin@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.27.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/c4945903136d934050e070f69a4d72ec425f1f70634e0ddf14ad36695f935125a6df559f8d5b94cc1ed49abd4ce9c5be8ef3ba033fa8d09c5dd78d1a9b97d8cc + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/helpers@npm:7.27.0" + dependencies: + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/a3c64fd2d8b164c041808826cc00769d814074ea447daaacaf2e3714b66d3f4237ef6e420f61d08f463d6608f3468c2ac5124ab7c68f704e20384def5ade95f4 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.25.3, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/parser@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.27.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/ba2ed3f41735826546a3ef2a7634a8d10351df221891906e59b29b0a0cd748f9b0e7a6f07576858a9de8e77785aad925c8389ddef146de04ea2842047c9d2859 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.23.0": + version: 7.25.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-syntax-decorators": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7d54644f50a60c47090d70121905ca76534bd7a837c03d25e163ca6ae384b48ef6dcfb125a99f12b3ce7e78e074a33f6fa8c4531c1a46aa31274153f587b05e + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/47e44a7d61b76dac4f18fd61edc186012e084eb8f1fe253c483b0fe90b73366b4ebd2b0b03728e000fd1fdedc8af3aa6e93246caf97183a8d9d42a0eb57ecfcc + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.22.5": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.22.15": + version: 7.27.0 + resolution: "@babel/plugin-transform-typescript@npm:7.27.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.0" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-syntax-typescript": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/028e75dd6195495dc2d105ca8ded19d62aef90a215d597451cee57c35325960a87963913aa9a21b8ade190c638b588422292ea7e23b21565baf53c469254dbd4 + languageName: node + linkType: hard + +"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/template@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/13af543756127edb5f62bf121f9b093c09a2b6fe108373887ccffc701465cfbcb17e07cf48aa7f440415b263f6ec006e9415c79dfc2e8e6010b069435f81f340 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.9, @babel/traverse@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/traverse@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.0" + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/c7af29781960dacaae51762e8bc6c4b13d6ab4b17312990fbca9fc38e19c4ad7fecaae24b1cf52fb844e8e6cdc76c70ad597f90e496bcb3cc0a1d66b41a0aa5b + languageName: node + linkType: hard + +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/types@npm:7.27.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/6f1592eabe243c89a608717b07b72969be9d9d2fce1dee21426238757ea1fa60fdfc09b29de9e48d8104311afc6e6fb1702565a9cc1e09bc1e76f2b2ddb0f6e1 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/aix-ppc64@npm:0.25.3" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/android-arm64@npm:0.25.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/android-arm@npm:0.25.3" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/android-x64@npm:0.25.3" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/darwin-arm64@npm:0.25.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/darwin-x64@npm:0.25.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/freebsd-arm64@npm:0.25.3" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/freebsd-x64@npm:0.25.3" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-arm64@npm:0.25.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-arm@npm:0.25.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-ia32@npm:0.25.3" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-loong64@npm:0.25.3" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-mips64el@npm:0.25.3" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-ppc64@npm:0.25.3" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-riscv64@npm:0.25.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-s390x@npm:0.25.3" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/linux-x64@npm:0.25.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/netbsd-arm64@npm:0.25.3" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/netbsd-x64@npm:0.25.3" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/openbsd-arm64@npm:0.25.3" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/openbsd-x64@npm:0.25.3" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/sunos-x64@npm:0.25.3" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/win32-arm64@npm:0.25.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/win32-ia32@npm:0.25.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.3": + version: 0.25.3 + resolution: "@esbuild/win32-x64@npm:0.25.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.6.1 + resolution: "@eslint-community/eslint-utils@npm:4.6.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/cdeb6f8fc33a83726357d7f736075cdbd6e79dc7ac4b00b15680f1111d0f33bda583e7fafa5937245a058cc66302dc47568bba57b251302dc74964d8e87f56d7 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.20.0": + version: 0.20.0 + resolution: "@eslint/config-array@npm:0.20.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.6" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/94bc5d0abb96dc5295ff559925242ff75a54eacfb3576677e95917e42f7175e1c4b87bf039aa2a872f949b4852ad9724bf2f7529aaea6b98f28bb3fca7f1d659 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.2.1": + version: 0.2.1 + resolution: "@eslint/config-helpers@npm:0.2.1" + checksum: 10c0/3e829a78b0bb4f7c44384ba1df3986e5de24b7f440ad5c6bb3cfc366ded773a869ca9ee8d212b5a563ae94596c5940dea6fd2ea1ee53a84c6241ac953dcb8bb7 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.13.0": + version: 0.13.0 + resolution: "@eslint/core@npm:0.13.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10c0/ba724a7df7ed9dab387481f11d0d0f708180f40be93acce2c21dacca625c5867de3528760c42f1c457ccefe6a669d525ff87b779017eabc0d33479a36300797b + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + languageName: node + linkType: hard + +"@eslint/js@npm:9.25.1": + version: 9.25.1 + resolution: "@eslint/js@npm:9.25.1" + checksum: 10c0/87d86b512ab109bfd3b9317ced3220ea3d444ac3bfa7abd853ca7f724d72c36e213062f9def16a632365d97dc29e0094312e3682a9767590ee6f43b3d5d873fd + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.8": + version: 0.2.8 + resolution: "@eslint/plugin-kit@npm:0.2.8" + dependencies: + "@eslint/core": "npm:^0.13.0" + levn: "npm:^0.4.1" + checksum: 10c0/554847c8f2b6bfe0e634f317fc43d0b54771eea0015c4f844f75915fdb9e6170c830c004291bad57db949d61771732e459f36ed059f45cf750af223f77357c5c + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.2 + resolution: "@humanwhocodes/retry@npm:0.4.2" + checksum: 10c0/0235525d38f243bee3bf8b25ed395fbf957fb51c08adae52787e1325673071abe856c7e18e530922ed2dd3ce12ed82ba01b8cee0279ac52a3315fcdc3a69ef0c + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + 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": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + 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: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + 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": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.2.3": + version: 0.2.4 + resolution: "@pkgr/core@npm:0.2.4" + checksum: 10c0/2528a443bbbef5d4686614e1d73f834f19ccbc975f62b2a64974a6b97bcdf677b9c5e8948e04808ac4f0d853e2f422adfaae2a06e9e9f4f5cf8af76f1adf8dc1 + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.1.3": + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/6d58fbc6f1024eb4b087bc9bf59a1d655a8056a60c0b4021d3beaeec3f0743503f52467fd89d2cf0e7eccf2831feb40a05ad541a17637ea21ba10b21c2004deb + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.40.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-android-arm64@npm:4.40.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.40.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.40.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.40.0" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.40.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.40.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.40.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.40.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.40.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.40.0" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.40.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.40.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.40.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.40.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.40.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.40.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.40.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.40.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.40.0": + version: 4.40.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.40.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af + languageName: node + linkType: hard + +"@sindresorhus/merge-streams@npm:^4.0.0": + version: 4.0.0 + resolution: "@sindresorhus/merge-streams@npm:4.0.0" + checksum: 10c0/482ee543629aa1933b332f811a1ae805a213681ecdd98c042b1c1b89387df63e7812248bb4df3910b02b3cc5589d3d73e4393f30e197c9dde18046ccd471fc6b + languageName: node + linkType: hard + +"@tsconfig/node22@npm:^22.0.1": + version: 22.0.1 + resolution: "@tsconfig/node22@npm:22.0.1" + checksum: 10c0/9448a14da65ebdafe10bef2582df11c8c8a769b919854747ad97f127eedc188f5e383b5b08df74bd895fa3738f17a442f9de153c0b326f870f2b335f36b51c43 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.7, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/node@npm:^22.14.0": + version: 22.15.2 + resolution: "@types/node@npm:22.15.2" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/39da31d5fc63b14fabd217bb8a921c4a7fc3d99f233440209f9fc2d5d736e8773f7efc65223e2fd0e8db8390b0baab9c0cd2e951c2ece8b237f07313ab3cf295 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.31.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/type-utils": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/7d78e0cdcc967742752d49d2d38986ee38d0b7ca64af247e5fe0816cea9ae5f1bfa5c126154acc0846af515c4fb1c52c96926ee25c73b4c3f7e6fd73cb6d2b0e + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/parser@npm:8.31.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/9bd903b3ea4e24bfeb444d7a5c2ed82e591ef5cffc0874c609de854c05d34935cd85543e66678ecdb8e0e3eae2cda2df5c1ba66eb72010632cb9f8779031d56d + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/scope-manager@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + checksum: 10c0/eae758a24cc578fa351b8bf0c30c50de384292c0b05a58762f9b632d65a009bd5d902d806eccb6b678cc0b09686289fb4f1fd67da7f12d59ad43ff033b35cc4f + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/type-utils@npm:8.31.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/f6938413a583430468b259f6823bb2ab1b5cd77cd6d4e21e1803df70e329046b9579aed5bdc9bdcf4046c8091615a911ac3990859db78d00210bb867915ba37f + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/types@npm:8.31.0" + checksum: 10c0/04130a30aac477d36d6a155399b27773457aeb9b485ef8fb56fee05725b6e36768c9fac7e4d1f073fd16988de0eb7dffc743c3f834ae907cf918cabb075e5cd8 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/visitor-keys": "npm:8.31.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/0ec074b2b9c49f80fafea716aa0cc4b05085e65730a3ef7c7d2d39db1657a40b38abe83f22bbe15ac4f6fdf576692f47d2d057347242e6cef5be81d070f55064 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.31.0, @typescript-eslint/utils@npm:^8.26.0": + version: 8.31.0 + resolution: "@typescript-eslint/utils@npm:8.31.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.31.0" + "@typescript-eslint/types": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.31.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/1fd4f62e16a44a5be2de501f70ba4b2d64479e014370bde7bbc6de6897cf1699766a8b7be4deb9b0328e74c2b4171839336ede4e3c60fec6ac8378b623a75275 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.31.0": + version: 8.31.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.31.0" + dependencies: + "@typescript-eslint/types": "npm:8.31.0" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/e41e2a9e287d11232cda6126377d1df4de69c6e9dc2a14058819cff15280ec654a3877886a6806728196f299766cfbb0b299eb021c2ce168eb15dff5eb07b51b + languageName: node + linkType: hard + +"@vitejs/plugin-vue@npm:^5.2.3": + version: 5.2.3 + resolution: "@vitejs/plugin-vue@npm:5.2.3" + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + checksum: 10c0/34a719c70567582c8f345378e4f46a7edd9242e7f1595cdda408d97fccf210b8ee66b97c8555ec867f777be86ae530bd19166a542b1d7ecd6894bc544096f047 + languageName: node + linkType: hard + +"@volar/language-core@npm:2.4.12, @volar/language-core@npm:~2.4.11": + version: 2.4.12 + resolution: "@volar/language-core@npm:2.4.12" + dependencies: + "@volar/source-map": "npm:2.4.12" + checksum: 10c0/060978fe9fcd08b39dddf0dd41283d7b615491aab19634f69ecad72a2a7f111972b2137ed24777f58fd52f4f76d122b91d9bf9aaf5f7261ebb316dd63733c4e0 + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.12": + version: 2.4.12 + resolution: "@volar/source-map@npm:2.4.12" + checksum: 10c0/433b5d6a9f1e1df1c7410d2dfca43e9c880f4688dde13323ee1c8d2f36cec7dce3e0549d444038384c279c0e1cf9a2764b401278bbfdf1ecfa427092c84fb944 + languageName: node + linkType: hard + +"@volar/typescript@npm:~2.4.11": + version: 2.4.12 + resolution: "@volar/typescript@npm:2.4.12" + dependencies: + "@volar/language-core": "npm:2.4.12" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/fa08dccecc1c41b1b44aa9d4582e75d67c484cc6366075fc84de5e4611b6d7f6fed72a30bad0794a6b3f16003c49a19b5cd1759b79ae4b1c6bc9c8aa4012e413 + languageName: node + linkType: hard + +"@vue/babel-helper-vue-transform-on@npm:1.4.0": + version: 1.4.0 + resolution: "@vue/babel-helper-vue-transform-on@npm:1.4.0" + checksum: 10c0/9ab3ece9ec79f957e5d4c1eb4b2879120ae54ad359c52fc9c66c3ca36db0da925785d6191317bba90e3cc9fae437cde5d9c6f3c375f7d9225eba8a20c1d03235 + languageName: node + linkType: hard + +"@vue/babel-plugin-jsx@npm:^1.1.5": + version: 1.4.0 + resolution: "@vue/babel-plugin-jsx@npm:1.4.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/plugin-syntax-jsx": "npm:^7.25.9" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" + "@vue/babel-helper-vue-transform-on": "npm:1.4.0" + "@vue/babel-plugin-resolve-type": "npm:1.4.0" + "@vue/shared": "npm:^3.5.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: 10c0/c3c2373ff140c29a2292aa56d57bc8b2d26f962b71c324b773d6fb77b5eec145326199a43497fe39993309ea1d571d8c400dc3d6804fce8597151c48ed3cb3e1 + languageName: node + linkType: hard + +"@vue/babel-plugin-resolve-type@npm:1.4.0": + version: 1.4.0 + resolution: "@vue/babel-plugin-resolve-type@npm:1.4.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.9" + "@vue/compiler-sfc": "npm:^3.5.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/289c8893e3477dbfa95d0b777ed00ad7bace77605090a5858a9b2d4294f93bc3d81b6091e3c2ffd98aa92fb676643dec9d7a9428c87a0a67de1d7dc546a32c83 + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-core@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/shared": "npm:3.5.13" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/b89f3e3ca92c3177ae449ada1480df13d99b5b3b2cdcf3202fd37dc30f294a1db1f473209f8bae9233e2d338632219d39b2bfa6941d158cea55255e4b0b30f90 + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.5.13, @vue/compiler-dom@npm:^3.3.4, @vue/compiler-dom@npm:^3.5.0": + version: 3.5.13 + resolution: "@vue/compiler-dom@npm:3.5.13" + dependencies: + "@vue/compiler-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/8f424a71883c9ef4abdd125d2be8d12dd8cf94ba56089245c88734b1f87c65e10597816070ba2ea0a297a2f66dc579f39275a9a53ef5664c143a12409612cd72 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:3.5.13, @vue/compiler-sfc@npm:^3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-sfc@npm:3.5.13" + dependencies: + "@babel/parser": "npm:^7.25.3" + "@vue/compiler-core": "npm:3.5.13" + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.11" + postcss: "npm:^8.4.48" + source-map-js: "npm:^1.2.0" + checksum: 10c0/5fd57895ce2801e480c08f31f91f0d1746ed08a9c1973895fd7269615f5bcdf75497978fb358bda738938d9844dea2404064c53b2cdda991014225297acce19e + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/compiler-ssr@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/67621337b12fc414fcf9f16578961850724713a9fb64501136e432c2dfe95de99932c46fa24be9820f8bcdf8e7281f815f585b519a95ea979753bafd637dde1b + languageName: node + linkType: hard + +"@vue/compiler-vue2@npm:^2.7.16": + version: 2.7.16 + resolution: "@vue/compiler-vue2@npm:2.7.16" + dependencies: + de-indent: "npm:^1.0.2" + he: "npm:^1.2.0" + checksum: 10c0/c76c3fad770b9a7da40b314116cc9da173da20e5fd68785c8ed8dd8a87d02f239545fa296e16552e040ec86b47bfb18283b39447b250c2e76e479bd6ae475bb3 + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^6.6.4": + version: 6.6.4 + resolution: "@vue/devtools-api@npm:6.6.4" + checksum: 10c0/0a993ae23618166e1bee5a7c14cebd8312752b93c143cbdd48fb2d0f7ade070d0e6baf757cd920d4681fef8f9acf29515162160f38cc7410f9a684d2df21b6de + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^7.7.2": + version: 7.7.5 + resolution: "@vue/devtools-api@npm:7.7.5" + dependencies: + "@vue/devtools-kit": "npm:^7.7.5" + checksum: 10c0/006ca441e71812bc65154cf24776cabb0dba3da0a343e960983bbc955a5e8fbcb1d67a8c2df619a9fd5cabf18e1e78604abc88ec45aa8583b992fde7bd4734e0 + languageName: node + linkType: hard + +"@vue/devtools-core@npm:^7.7.5": + version: 7.7.5 + resolution: "@vue/devtools-core@npm:7.7.5" + dependencies: + "@vue/devtools-kit": "npm:^7.7.5" + "@vue/devtools-shared": "npm:^7.7.5" + mitt: "npm:^3.0.1" + nanoid: "npm:^5.1.0" + pathe: "npm:^2.0.3" + vite-hot-client: "npm:^2.0.4" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/aad291c6533a7f97e3af01030b19316a903af4212045c3119270e2ea3d738073c4ddb4dae9a40316e7d2e0c1f58e8e012343be307d1000fc27e5ee4827a75c0a + languageName: node + linkType: hard + +"@vue/devtools-kit@npm:^7.7.5": + version: 7.7.5 + resolution: "@vue/devtools-kit@npm:7.7.5" + dependencies: + "@vue/devtools-shared": "npm:^7.7.5" + birpc: "npm:^2.3.0" + hookable: "npm:^5.5.3" + mitt: "npm:^3.0.1" + perfect-debounce: "npm:^1.0.0" + speakingurl: "npm:^14.0.1" + superjson: "npm:^2.2.2" + checksum: 10c0/09b07ee3e5c178aacd5e71480c155b39176abdfacd23a8dcd1456191e47d7f36fee713298cb8536ac3f8c73ac870f273f0f55059d8acc93b816f485e670260e3 + languageName: node + linkType: hard + +"@vue/devtools-shared@npm:^7.7.5": + version: 7.7.5 + resolution: "@vue/devtools-shared@npm:7.7.5" + dependencies: + rfdc: "npm:^1.4.1" + checksum: 10c0/33deee34a6d69ffa8c1dcaa17b7def8992f0ef3e430f35ef8f4bfeb9aa533cf0b20348da14c26eeda2c70d728f2d4ab95fba5ac1561d793b92926ba70d0e6d41 + languageName: node + linkType: hard + +"@vue/eslint-config-prettier@npm:^10.2.0": + version: 10.2.0 + resolution: "@vue/eslint-config-prettier@npm:10.2.0" + dependencies: + eslint-config-prettier: "npm:^10.0.1" + eslint-plugin-prettier: "npm:^5.2.2" + peerDependencies: + eslint: ">= 8.21.0" + prettier: ">= 3.0.0" + checksum: 10c0/51279cbcaa4a38bbdda8e7fa769a13753474f1d12126384d4eff9a552744deb5b785c847f152749e7b0c0af9035beb6954d19e72707adef710f329d991ffccfd + languageName: node + linkType: hard + +"@vue/eslint-config-typescript@npm:^14.5.0": + version: 14.5.0 + resolution: "@vue/eslint-config-typescript@npm:14.5.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.26.0" + fast-glob: "npm:^3.3.3" + typescript-eslint: "npm:^8.26.0" + vue-eslint-parser: "npm:^10.1.1" + peerDependencies: + eslint: ^9.10.0 + eslint-plugin-vue: ^9.28.0 || ^10.0.0 + typescript: ">=4.8.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/e5907c62d1f33044a331b11b30e9e1cd1466dd22f36ba2aada9ab92d42214eb6aeab4c452b4b7d5071071415cea6610096e35087ba73a5524c13edb6854bbd2b + languageName: node + linkType: hard + +"@vue/language-core@npm:2.2.10": + version: 2.2.10 + resolution: "@vue/language-core@npm:2.2.10" + dependencies: + "@volar/language-core": "npm:~2.4.11" + "@vue/compiler-dom": "npm:^3.5.0" + "@vue/compiler-vue2": "npm:^2.7.16" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^1.0.3" + minimatch: "npm:^9.0.3" + muggle-string: "npm:^0.4.1" + path-browserify: "npm:^1.0.1" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/77a97c8a5f806b7461e0f2d11a1b4013ca9efca1cac4b1f193d907c00d286e22856ad2465045a2e855ceb724f2e38fdcf05890df071cd9031a82267bf3a77f4f + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/reactivity@npm:3.5.13" + dependencies: + "@vue/shared": "npm:3.5.13" + checksum: 10c0/4bf2754a4b8cc31afc8da5bdfd12bba6be67b2963a65f7c9e2b59810883c58128dfc58cce6d1e479c4f666190bc0794f17208d9efd3fc909a2e4843d2cc0e69e + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-core@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + checksum: 10c0/b6be854bf082a224222614a334fbeac0e7b6445f3cf4ea45cbd49ae4bb1551200c461c14c7a452d748f2459f7402ad4dee5522d51be5a28ea4ae1f699a7c016f + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/runtime-dom@npm:3.5.13" + dependencies: + "@vue/reactivity": "npm:3.5.13" + "@vue/runtime-core": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + csstype: "npm:^3.1.3" + checksum: 10c0/8ee7f3980d19f77f8e7ae854e3ff1f7ee9a9b8b4e214c8d0492e1180ae818e33c04803b3d094503524d557431a30728b78cf15c3683d8abbbbd1b263a299d62a + languageName: node + linkType: hard + +"@vue/server-renderer@npm:3.5.13": + version: 3.5.13 + resolution: "@vue/server-renderer@npm:3.5.13" + dependencies: + "@vue/compiler-ssr": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + vue: 3.5.13 + checksum: 10c0/f500bdabc199abf41f1d84defd2a365a47afce1f2223a34c32fada84f6193b39ec2ce50636483409eec81b788b8ef0fa1ff59c63ca0c74764d738c24409eef8f + languageName: node + linkType: hard + +"@vue/shared@npm:3.5.13, @vue/shared@npm:^3.5.0, @vue/shared@npm:^3.5.13": + version: 3.5.13 + resolution: "@vue/shared@npm:3.5.13" + checksum: 10c0/2c940ef907116f1c2583ca1d7733984e5705983ab07054c4e72f1d95eb0f7bdf4d01efbdaee1776c2008f79595963f44e98fced057f5957d86d57b70028f5025 + languageName: node + linkType: hard + +"@vue/tsconfig@npm:^0.7.0": + version: 0.7.0 + resolution: "@vue/tsconfig@npm:0.7.0" + peerDependencies: + typescript: 5.x + vue: ^3.4.0 + peerDependenciesMeta: + typescript: + optional: true + vue: + optional: true + checksum: 10c0/5b36db5ee9e14b47e516164a21ebbf24e558042a16162a69291fe3dc0dcdf598bc0d9dada1b1008d95afab97a22396e8579e4f0df141a015ffa0837bf6ccbf2f + languageName: node + linkType: hard + +"abbrev@npm:^3.0.0": + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.14.0": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"alien-signals@npm:^1.0.3": + version: 1.0.13 + resolution: "alien-signals@npm:1.0.13" + checksum: 10c0/7b0ec8305eaacf810ab3fa7e2045c343e695dca510befc148ccef26cb59b8f159d9d56772fbd8767f85cbccc6fadcc09b9f90a4e1e1206d5f726b8995f24dbe4 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + 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: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"arithma-battle@workspace:.": + version: 0.0.0-use.local + resolution: "arithma-battle@workspace:." + dependencies: + "@tsconfig/node22": "npm:^22.0.1" + "@types/node": "npm:^22.14.0" + "@vitejs/plugin-vue": "npm:^5.2.3" + "@vue/eslint-config-prettier": "npm:^10.2.0" + "@vue/eslint-config-typescript": "npm:^14.5.0" + "@vue/tsconfig": "npm:^0.7.0" + eslint: "npm:^9.22.0" + eslint-plugin-vue: "npm:~10.0.0" + jiti: "npm:^2.4.2" + npm-run-all2: "npm:^7.0.2" + pinia: "npm:^3.0.1" + prettier: "npm:3.5.3" + typescript: "npm:~5.8.0" + vite: "npm:^6.2.4" + vite-plugin-vue-devtools: "npm:^7.7.2" + vue: "npm:^3.5.13" + vue-router: "npm:^4.5.0" + vue-tsc: "npm:^2.2.8" + languageName: unknown + linkType: soft + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"birpc@npm:^2.3.0": + version: 2.3.0 + resolution: "birpc@npm:2.3.0" + checksum: 10c0/82489bcfa1c0a669bf4e5a15fa72691e8bda35abeac8860044eeffdcbc05da200b4349711a4beccdb2d0b90c40d752b0c7fcf01462bcfcb38ae9bd2b034ed339 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" + dependencies: + caniuse-lite: "npm:^1.0.30001688" + electron-to-chromium: "npm:^1.5.73" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.1" + bin: + browserslist: cli.js + checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 + languageName: node + linkType: hard + +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001715 + resolution: "caniuse-lite@npm:1.0.30001715" + checksum: 10c0/0109a7da797ffbe1aa197baa5242b205011098eecec1087ef3d0c58ceea19be325ab6679b2751a78660adc3051a9f77e99d5789938fd1eb1235e6fdf6a1dbf8e + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"copy-anything@npm:^3.0.2": + version: 3.0.5 + resolution: "copy-anything@npm:3.0.5" + dependencies: + is-what: "npm:^4.1.8" + checksum: 10c0/01eadd500c7e1db71d32d95a3bfaaedcb839ef891c741f6305ab0461398056133de08f2d1bf4c392b364e7bdb7ce498513896e137a7a183ac2516b065c28a4fe + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"de-indent@npm:^1.0.2": + version: 1.0.2 + resolution: "de-indent@npm:1.0.2" + checksum: 10c0/7058ce58abd6dfc123dd204e36be3797abd419b59482a634605420f47ae97639d0c183ec5d1b904f308a01033f473673897afc2bd59bc620ebf1658763ef4291 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"default-browser-id@npm:^5.0.0": + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10c0/957fb886502594c8e645e812dfe93dba30ed82e8460d20ce39c53c5b0f3e2afb6ceaec2249083b90bdfbb4cb0f34e1f73fde3d68cac00becdbcfd894156b5ead + languageName: node + linkType: hard + +"default-browser@npm:^5.2.1": + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/73f17dc3c58026c55bb5538749597db31f9561c0193cd98604144b704a981c95a466f8ecc3c2db63d8bfd04fb0d426904834cfc91ae510c6aeb97e13c5167c4d + languageName: node + linkType: hard + +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.73": + version: 1.5.142 + resolution: "electron-to-chromium@npm:1.5.142" + checksum: 10c0/05bc0c695a4b7c6fac499700199bfd90d767eea352e67171f005920a225e42fa08dc62ba0d31523fcd2e9b49e25aab133f82270e784888fb5c3c032f6607cdeb + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"entities@npm:^4.5.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-stack-parser-es@npm:^0.1.5": + version: 0.1.5 + resolution: "error-stack-parser-es@npm:0.1.5" + checksum: 10c0/60331183269d5d5f2d80ce01be58387e7f7ef86ec821db7bba3e7aad201174b3f1b561973c678af7ec945542de8f2d1d23d5152ff8adf6154080eff02cd0e0b5 + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0": + version: 0.25.3 + resolution: "esbuild@npm:0.25.3" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.3" + "@esbuild/android-arm": "npm:0.25.3" + "@esbuild/android-arm64": "npm:0.25.3" + "@esbuild/android-x64": "npm:0.25.3" + "@esbuild/darwin-arm64": "npm:0.25.3" + "@esbuild/darwin-x64": "npm:0.25.3" + "@esbuild/freebsd-arm64": "npm:0.25.3" + "@esbuild/freebsd-x64": "npm:0.25.3" + "@esbuild/linux-arm": "npm:0.25.3" + "@esbuild/linux-arm64": "npm:0.25.3" + "@esbuild/linux-ia32": "npm:0.25.3" + "@esbuild/linux-loong64": "npm:0.25.3" + "@esbuild/linux-mips64el": "npm:0.25.3" + "@esbuild/linux-ppc64": "npm:0.25.3" + "@esbuild/linux-riscv64": "npm:0.25.3" + "@esbuild/linux-s390x": "npm:0.25.3" + "@esbuild/linux-x64": "npm:0.25.3" + "@esbuild/netbsd-arm64": "npm:0.25.3" + "@esbuild/netbsd-x64": "npm:0.25.3" + "@esbuild/openbsd-arm64": "npm:0.25.3" + "@esbuild/openbsd-x64": "npm:0.25.3" + "@esbuild/sunos-x64": "npm:0.25.3" + "@esbuild/win32-arm64": "npm:0.25.3" + "@esbuild/win32-ia32": "npm:0.25.3" + "@esbuild/win32-x64": "npm:0.25.3" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/127aff654310ede4e2eb232a7b1d8823f5b5d69222caf17aa7f172574a5b6b75f71ce78c6d8a40030421d7c75b784dc640de0fb1b87b7ea77ab2a1c832fa8df8 + languageName: node + linkType: hard + +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^10.0.1": + version: 10.1.2 + resolution: "eslint-config-prettier@npm:10.1.2" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/c22c8e29193cc8fd70becf1c2dd072513f2b3004a175c2a49404c79d1745ba4dc0edc2afd00d16b0e26d24f95813a0469e7445a25104aec218f6d84cdb1697e9 + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^5.2.2": + version: 5.2.6 + resolution: "eslint-plugin-prettier@npm:5.2.6" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.11.0" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/9911740a5edac7933d92671381908671c61ffa32a3cee7aed667ebab89831ee2c0b69eb9530f68dbe172ca9d4b3fa3d47350762dc1eb096a3ce125fa31c0e616 + languageName: node + linkType: hard + +"eslint-plugin-vue@npm:~10.0.0": + version: 10.0.0 + resolution: "eslint-plugin-vue@npm:10.0.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + natural-compare: "npm:^1.4.0" + nth-check: "npm:^2.1.1" + postcss-selector-parser: "npm:^6.0.15" + semver: "npm:^7.6.3" + xml-name-validator: "npm:^4.0.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser: ^10.0.0 + checksum: 10c0/068ae9e4661f4cf18ab947d7bbbd10025b184ee06491991163d4edefb47cf31124e90326dc5f92a6306666d6b062b59b681c14f50a2ad4cfb98324c466d28139 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.2.0, eslint-scope@npm:^8.3.0": + version: 8.3.0 + resolution: "eslint-scope@npm:8.3.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/23bf54345573201fdf06d29efa345ab508b355492f6c6cc9e2b9f6d02b896f369b6dd5315205be94b8853809776c4d13353b85c6b531997b164ff6c3328ecf5b + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^9.22.0": + version: 9.25.1 + resolution: "eslint@npm:9.25.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.20.0" + "@eslint/config-helpers": "npm:^0.2.1" + "@eslint/core": "npm:^0.13.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.25.1" + "@eslint/plugin-kit": "npm:^0.2.8" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.3.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10c0/3bb1997ae994253d441e56aba2fc64a71b3b8dce32756de3dedae5e85416ba33eb07e19ede94a6fa8ce7ef3a0a3b0dd8b6836f41be46a3ab52e5345ad59a553f + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + languageName: node + linkType: hard + +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + 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: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"execa@npm:^9.5.2": + version: 9.5.2 + resolution: "execa@npm:9.5.2" + dependencies: + "@sindresorhus/merge-streams": "npm:^4.0.0" + cross-spawn: "npm:^7.0.3" + figures: "npm:^6.1.0" + get-stream: "npm:^9.0.0" + human-signals: "npm:^8.0.0" + is-plain-obj: "npm:^4.1.0" + is-stream: "npm:^4.0.1" + npm-run-path: "npm:^6.0.0" + pretty-ms: "npm:^9.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^4.0.0" + yoctocolors: "npm:^2.0.0" + checksum: 10c0/94782a6282e03253224406c29068d18f9095cc251a45d1f19ac3d8f2a9db2cbe32fb8ceb039db1451d8fce3531135a6c0c559f76d634f85416268fc4a6995365 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 + 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: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.19.1 + resolution: "fastq@npm:1.19.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fdir@npm:^6.4.4": + version: 6.4.4 + resolution: "fdir@npm:6.4.4" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd + languageName: node + linkType: hard + +"figures@npm:^6.1.0": + version: 6.1.0 + resolution: "figures@npm:6.1.0" + dependencies: + is-unicode-supported: "npm:^2.0.0" + checksum: 10c0/9159df4264d62ef447a3931537de92f5012210cf5135c35c010df50a2169377581378149abfe1eb238bd6acbba1c0d547b1f18e0af6eee49e30363cedaffcfe4 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.1 + resolution: "foreground-child@npm:3.3.1" + dependencies: + cross-spawn: "npm:^7.0.6" + signal-exit: "npm:^4.0.1" + checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 + languageName: node + linkType: hard + +"fs-extra@npm:^11.2.0": + version: 11.3.0 + resolution: "fs-extra@npm:11.3.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + 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: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-stream@npm:^9.0.0": + version: 9.0.1 + resolution: "get-stream@npm:9.0.1" + dependencies: + "@sec-ant/readable-stream": "npm:^0.4.1" + is-stream: "npm:^4.0.1" + checksum: 10c0/d70e73857f2eea1826ac570c3a912757dcfbe8a718a033fa0c23e12ac8e7d633195b01710e0559af574cbb5af101009b42df7b6f6b29ceec8dbdf7291931b948 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"hookable@npm:^5.5.3": + version: 5.5.3 + resolution: "hookable@npm:5.5.3" + checksum: 10c0/275f4cc84d27f8d48c5a5cd5685b6c0fea9291be9deea5bff0cfa72856ed566abde1dcd8cb1da0f9a70b4da3d7ec0d60dc3554c4edbba647058cc38816eced3d + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac + languageName: node + linkType: hard + +"human-signals@npm:^8.0.0": + version: 8.0.1 + resolution: "human-signals@npm:8.0.1" + checksum: 10c0/195ac607108c56253757717242e17cd2e21b29f06c5d2dad362e86c672bf2d096e8a3bbb2601841c376c2301c4ae7cff129e87f740aa4ebff1390c163114c7c4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + 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: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + 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: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-obj@npm:^4.1.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 10c0/2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f + languageName: node + linkType: hard + +"is-unicode-supported@npm:^2.0.0": + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 + languageName: node + linkType: hard + +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 10c0/611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jiti@npm:^2.4.2": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/4ceac133a08c8faff7eac84aabb917e85e8257f5ad659e843004ce76e981c457c390a220881748ac67ba1b940b9b729b30fb85cbaf6e7989f04b6002c94da331 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^4.0.0": + version: 4.0.0 + resolution: "json-parse-even-better-errors@npm:4.0.0" + checksum: 10c0/84cd9304a97e8fb2af3937bf53acb91c026aeb859703c332684e688ea60db27fc2242aa532a84e1883fdcbe1e5c1fb57c2bef38e312021aa1cd300defc63cf16 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + 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: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.11, magic-string@npm:^0.30.4": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/16826e415d04b88378f200fe022b53e638e3838b9e496edda6c0e086d7753a44a6ed187adc72d19f3623810589bf139af1a315541cd6a26ae0771a0193eaf7b8 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" + http-cache-semantics: "npm:^4.1.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^4.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 + languageName: node + linkType: hard + +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: 10c0/4bd164657711d9747ff5edb0508b2944414da3464b7fe21ac5c67cf35bba975c4b446a0124bd0f9a8be54cfc18faf92e92bd77563a20328b1ccf2ff04e9f39b9 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^4.0.0": + version: 4.0.1 + resolution: "minipass-fetch@npm:4.0.1" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^3.0.1" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^3.0.1": + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 + languageName: node + linkType: hard + +"mitt@npm:^3.0.1": + version: 3.0.1 + resolution: "mitt@npm:3.0.1" + checksum: 10c0/3ab4fdecf3be8c5255536faa07064d05caa3dd332bd318ff02e04621f7b3069ca1de9106cfe8e7ced675abfc2bec2ce4c4ef321c4a1bb1fb29df8ae090741913 + languageName: node + linkType: hard + +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.8": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + languageName: node + linkType: hard + +"nanoid@npm:^5.1.0": + version: 5.1.5 + resolution: "nanoid@npm:5.1.5" + bin: + nanoid: bin/nanoid.js + checksum: 10c0/e6004f1ad6c7123eeb037062c4441d44982037dc043aabb162457ef6986e99964ba98c63c975f96c547403beb0bf95bc537bd7bf9a09baf381656acdc2975c3c + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" + which: "npm:^5.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa + languageName: node + linkType: hard + +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" + dependencies: + abbrev: "npm:^3.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^4.0.0": + version: 4.0.0 + resolution: "npm-normalize-package-bin@npm:4.0.0" + checksum: 10c0/1fa546fcae8eaab61ef9b9ec237b6c795008da50e1883eae030e9e38bb04ffa32c5aabcef9a0400eae3dc1f91809bcfa85e437ce80d677c69b419d1d9cacf0ab + languageName: node + linkType: hard + +"npm-run-all2@npm:^7.0.2": + version: 7.0.2 + resolution: "npm-run-all2@npm:7.0.2" + dependencies: + ansi-styles: "npm:^6.2.1" + cross-spawn: "npm:^7.0.6" + memorystream: "npm:^0.3.1" + minimatch: "npm:^9.0.0" + pidtree: "npm:^0.6.0" + read-package-json-fast: "npm:^4.0.0" + shell-quote: "npm:^1.7.3" + which: "npm:^5.0.0" + bin: + npm-run-all: bin/npm-run-all/index.js + npm-run-all2: bin/npm-run-all/index.js + run-p: bin/run-p/index.js + run-s: bin/run-s/index.js + checksum: 10c0/4606c0cdaad9dc7dbe5a6ae432b1aabea25e2ffd541f959307e5c34247d0658952f98352b8ce45f925241af304c6718b2198b425f234e0e9fbc30b342cedb121 + languageName: node + linkType: hard + +"npm-run-path@npm:^6.0.0": + version: 6.0.0 + resolution: "npm-run-path@npm:6.0.0" + dependencies: + path-key: "npm:^4.0.0" + unicorn-magic: "npm:^0.3.0" + checksum: 10c0/b223c8a0dcd608abf95363ea5c3c0ccc3cd877daf0102eaf1b0f2390d6858d8337fbb7c443af2403b067a7d2c116d10691ecd22ab3c5273c44da1ff8d07753bd + languageName: node + linkType: hard + +"nth-check@npm:^2.1.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"open@npm:^10.1.0": + version: 10.1.1 + resolution: "open@npm:10.1.1" + dependencies: + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + is-wsl: "npm:^3.1.0" + checksum: 10c0/27706de0a8015fcfa9454394984f726f47aba10f33b1a16eda8d7d3604a01c39b2372638b068401dffd9826dca689947480062742b116ff76e0970c39a5e25c6 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-ms@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-ms@npm:4.0.0" + checksum: 10c0/a7900f4f1ebac24cbf5e9708c16fb2fd482517fad353aecd7aefb8c2ba2f85ce017913ccb8925d231770404780df46244ea6fec598b3bde6490882358b4d2d16 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"perfect-debounce@npm:^1.0.0": + version: 1.0.0 + resolution: "perfect-debounce@npm:1.0.0" + checksum: 10c0/e2baac416cae046ef1b270812cf9ccfb0f91c04ea36ac7f5b00bc84cb7f41bdbba087c0ab21b4e02a7ef3a1f1f6db399f137cecec46868bd7d8d88c2a9ee431f + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"pidtree@npm:^0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 10c0/0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + +"pinia@npm:^3.0.1": + version: 3.0.2 + resolution: "pinia@npm:3.0.2" + dependencies: + "@vue/devtools-api": "npm:^7.7.2" + peerDependencies: + typescript: ">=4.4.4" + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4c21412ddb32c48c1d9fb9fb47a2cd40bc4af9198e65392423ab97f6a9da31d0b880bc59b008967058643a988cb574025f885a1d0e4faf47bec25521933bb27f + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.15": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + languageName: node + linkType: hard + +"postcss@npm:^8.4.48, postcss@npm:^8.5.3": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" + dependencies: + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + 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: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:3.5.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 + languageName: node + linkType: hard + +"pretty-ms@npm:^9.0.0": + version: 9.2.0 + resolution: "pretty-ms@npm:9.2.0" + dependencies: + parse-ms: "npm:^4.0.0" + checksum: 10c0/ab6d066f90e9f77020426986e1b018369f41575674544c539aabec2e63a20fec01166d8cf6571d0e165ad11cfe5a8134a2a48a36d42ab291c59c6deca5264cbb + languageName: node + linkType: hard + +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^4.0.0": + version: 4.0.0 + resolution: "read-package-json-fast@npm:4.0.0" + dependencies: + json-parse-even-better-errors: "npm:^4.0.0" + npm-normalize-package-bin: "npm:^4.0.0" + checksum: 10c0/8a03509ae8e852f1abc4b109c1be571dd90ac9ea65d55433b2fe287e409113441a9b00df698288fe48aa786c1a2550569d47b5ab01ed83ada073d691d5aff582 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rollup@npm:^4.34.9": + version: 4.40.0 + resolution: "rollup@npm:4.40.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.40.0" + "@rollup/rollup-android-arm64": "npm:4.40.0" + "@rollup/rollup-darwin-arm64": "npm:4.40.0" + "@rollup/rollup-darwin-x64": "npm:4.40.0" + "@rollup/rollup-freebsd-arm64": "npm:4.40.0" + "@rollup/rollup-freebsd-x64": "npm:4.40.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.40.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.40.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.40.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.40.0" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.40.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.40.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.40.0" + "@rollup/rollup-linux-riscv64-musl": "npm:4.40.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.40.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.40.0" + "@rollup/rollup-linux-x64-musl": "npm:4.40.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.40.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.40.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.40.0" + "@types/estree": "npm:1.0.7" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/90aa57487d4a9a7de1a47bf42a6091f83f1cb7fe1814650dfec278ab8ddae5736b86535d4c766493517720f334dfd4aa0635405ca8f4f36ed8d3c0f875f2a801 + languageName: node + linkType: hard + +"run-applescript@npm:^7.0.0": + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10c0/bd821bbf154b8e6c8ecffeaf0c33cebbb78eb2987476c3f6b420d67ab4c5301faa905dec99ded76ebb3a7042b4e440189ae6d85bbbd3fc6e8d493347ecda8bfe + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.6.0, semver@npm:^7.6.3": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shell-quote@npm:^1.7.3": + version: 1.8.2 + resolution: "shell-quote@npm:1.8.2" + checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^3.0.0, sirv@npm:^3.0.1": + version: 3.0.1 + resolution: "sirv@npm:3.0.1" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/7cf64b28daa69b15f77b38b0efdd02c007b72bb3ec5f107b208ebf59f01b174ef63a1db3aca16d2df925501831f4c209be6ece3302b98765919ef5088b45bf80 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.4 + resolution: "socks@npm:2.8.4" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"speakingurl@npm:^14.0.1": + version: 14.0.1 + resolution: "speakingurl@npm:14.0.1" + checksum: 10c0/1de1d1b938a7c4d9e79593ff7a26d312ec04a7c3234ca40b7f9b8106daf74ea9d2110a077f5db97ecf3762b83069e3ccbf9694431b51d4fcfd863f0b3333c342 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, 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: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-final-newline@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-final-newline@npm:4.0.0" + checksum: 10c0/b0cf2b62d597a1b0e3ebc42b88767f0a0d45601f89fd379a928a1812c8779440c81abba708082c946445af1d6b62d5f16e2a7cf4f30d9d6587b89425fae801ff + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"superjson@npm:^2.2.2": + version: 2.2.2 + resolution: "superjson@npm:2.2.2" + dependencies: + copy-anything: "npm:^3.0.2" + checksum: 10c0/aa49ebe6653e963020bc6a1ed416d267dfda84cfcc3cbd3beffd75b72e44eb9df7327215f3e3e77528f6e19ad8895b16a4964fdcd56d1799d14350db8c92afbc + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"synckit@npm:^0.11.0": + version: 0.11.4 + resolution: "synckit@npm:0.11.4" + dependencies: + "@pkgr/core": "npm:^0.2.3" + tslib: "npm:^2.8.1" + checksum: 10c0/dd2965a37c93c0b652bf07b1fd8d1639a803b65cf34c0cb1b827b8403044fc3b09ec87f681d922a324825127ee95b2e0394e7caccb502f407892d63e903c5276 + languageName: node + linkType: hard + +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": + version: 0.2.13 + resolution: "tinyglobby@npm:0.2.13" + dependencies: + fdir: "npm:^6.4.4" + picomatch: "npm:^4.0.2" + checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c + 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: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.0.1": + version: 2.1.0 + resolution: "ts-api-utils@npm:2.1.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f + languageName: node + linkType: hard + +"tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + 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: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"typescript-eslint@npm:^8.26.0": + version: 8.31.0 + resolution: "typescript-eslint@npm:8.31.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.31.0" + "@typescript-eslint/parser": "npm:8.31.0" + "@typescript-eslint/utils": "npm:8.31.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/8545887f70c4f40c4aee51d224326368f67ef5f770ba5ae9e67bfd36f4d9ab5f3414569ffaaec311893a312539934ea367a68135c6f2b0a3e175c3de59507338 + languageName: node + linkType: hard + +"typescript@npm:~5.8.0": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.8.0#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"unicorn-magic@npm:^0.3.0": + version: 0.3.0 + resolution: "unicorn-magic@npm:0.3.0" + checksum: 10c0/0a32a997d6c15f1c2a077a15b1c4ca6f268d574cf5b8975e778bb98e6f8db4ef4e86dfcae4e158cd4c7e38fb4dd383b93b13eefddc7f178dea13d3ac8a603271 + languageName: node + linkType: hard + +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc + languageName: node + linkType: hard + +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.1": + version: 1.1.3 + resolution: "update-browserslist-db@npm:1.1.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"vite-hot-client@npm:^2.0.4": + version: 2.0.4 + resolution: "vite-hot-client@npm:2.0.4" + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + checksum: 10c0/67e7a31df0be1a6122d767b31f13164790ba884730bebeb5a07537f318f6d223e14a54e8f3d7780dcd0ccceeb350ae25540522e7f39ba7a644fc55a5fa7cad1e + languageName: node + linkType: hard + +"vite-plugin-inspect@npm:0.8.9": + version: 0.8.9 + resolution: "vite-plugin-inspect@npm:0.8.9" + dependencies: + "@antfu/utils": "npm:^0.7.10" + "@rollup/pluginutils": "npm:^5.1.3" + debug: "npm:^4.3.7" + error-stack-parser-es: "npm:^0.1.5" + fs-extra: "npm:^11.2.0" + open: "npm:^10.1.0" + perfect-debounce: "npm:^1.0.0" + picocolors: "npm:^1.1.1" + sirv: "npm:^3.0.0" + peerDependencies: + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + checksum: 10c0/6ad775254b9ceaa63d17e6ef19fdf73c8d0c92cb51c379e8487c2d4e858b338f6a6199edf22d805179ef7b9511708f39e4f3fdff6fe2f4c6e3eac7f1ad010f91 + languageName: node + linkType: hard + +"vite-plugin-vue-devtools@npm:^7.7.2": + version: 7.7.5 + resolution: "vite-plugin-vue-devtools@npm:7.7.5" + dependencies: + "@vue/devtools-core": "npm:^7.7.5" + "@vue/devtools-kit": "npm:^7.7.5" + "@vue/devtools-shared": "npm:^7.7.5" + execa: "npm:^9.5.2" + sirv: "npm:^3.0.1" + vite-plugin-inspect: "npm:0.8.9" + vite-plugin-vue-inspector: "npm:^5.3.1" + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + checksum: 10c0/479f8c43d8ed2442f96384d07a471b284a0c5be553844bfeceeaeccc79c23cd220217f3f2dee00bc93af22b2df5975e7947144f2df129db75ab5eae6bb7360dc + languageName: node + linkType: hard + +"vite-plugin-vue-inspector@npm:^5.3.1": + version: 5.3.1 + resolution: "vite-plugin-vue-inspector@npm:5.3.1" + dependencies: + "@babel/core": "npm:^7.23.0" + "@babel/plugin-proposal-decorators": "npm:^7.23.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.22.5" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-transform-typescript": "npm:^7.22.15" + "@vue/babel-plugin-jsx": "npm:^1.1.5" + "@vue/compiler-dom": "npm:^3.3.4" + kolorist: "npm:^1.8.0" + magic-string: "npm:^0.30.4" + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + checksum: 10c0/bdf94da1af1ad8634280a3ecc040ff5a216beabb00566a5c105bd6abbb414847f7ca6e35aa30e8cc74443be0e7ca8ea1a58592f20b497db22f4b74e1cb863b02 + languageName: node + linkType: hard + +"vite@npm:^6.2.4": + version: 6.3.3 + resolution: "vite@npm:6.3.3" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/7ea27d2c80a9e0b7ccf6cbd6c251455501286568160e8b632984e5332440f21a6d05f9236408212ba7653f7d2d4790f848956d8a620bbf4dd2ecb792a2fe1ab1 + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.8": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 + languageName: node + linkType: hard + +"vue-eslint-parser@npm:^10.1.1": + version: 10.1.3 + resolution: "vue-eslint-parser@npm:10.1.3" + dependencies: + debug: "npm:^4.4.0" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.6.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.6.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/b4a045113966a90d0b8248a9e9eb67db65e654335cedab5d8a2dd01e0d4f1d95caf4135fe9d6a2739cc8cef1ff6f4da9457ea7ba118176d5a5b6a22862661f58 + languageName: node + linkType: hard + +"vue-router@npm:^4.5.0": + version: 4.5.0 + resolution: "vue-router@npm:4.5.0" + dependencies: + "@vue/devtools-api": "npm:^6.6.4" + peerDependencies: + vue: ^3.2.0 + checksum: 10c0/5521c8d0ab7634ea75118824d4b4cae3748964725b3d3b4064eb3dbd44013381ea3163d4d856af61655936cd897b84f8eeebb312d0668532c3074d53814bd953 + languageName: node + linkType: hard + +"vue-tsc@npm:^2.2.8": + version: 2.2.10 + resolution: "vue-tsc@npm:2.2.10" + dependencies: + "@volar/typescript": "npm:~2.4.11" + "@vue/language-core": "npm:2.2.10" + peerDependencies: + typescript: ">=5.0.0" + bin: + vue-tsc: ./bin/vue-tsc.js + checksum: 10c0/bb1476f1ff0e8d6ee4291abc79fb5854b4c558846f72686e953f63431fb1f0c7e5708e1563e06bc7c58e90b326496cf48f4551af3a946a053b072c8276d8047e + languageName: node + linkType: hard + +"vue@npm:^3.5.13": + version: 3.5.13 + resolution: "vue@npm:3.5.13" + dependencies: + "@vue/compiler-dom": "npm:3.5.13" + "@vue/compiler-sfc": "npm:3.5.13" + "@vue/runtime-dom": "npm:3.5.13" + "@vue/server-renderer": "npm:3.5.13" + "@vue/shared": "npm:3.5.13" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/4bbb5caf3f04fed933b01c100804f3693ff902984a3152ea1359a972264fa3240f6551d32f0163a79c64df3715b4d6691818c9f652cdd41b2473c69e2b0a373d + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yoctocolors@npm:^2.0.0": + version: 2.1.1 + resolution: "yoctocolors@npm:2.1.1" + checksum: 10c0/85903f7fa96f1c70badee94789fade709f9d83dab2ec92753d612d84fcea6d34c772337a9f8914c6bed2f5fc03a428ac5d893e76fab636da5f1236ab725486d0 + languageName: node + linkType: hard