From 8d5e5e32a35309599a58efa63bb1865450e8dca1 Mon Sep 17 00:00:00 2001 From: Sv443 Date: Mon, 5 Jan 2026 16:17:39 +0100 Subject: [PATCH] ref!: v2 pt. 1 - vite migration pt1 - json schemas - update dependencies - refactor utils --- .env.template | 6 + .vscode/schemas/require.schema.json | 33 + .vscode/schemas/resources.schema.json | 32 + .vscode/settings.json | 102 +- assets/icon_128x128.png | Bin 0 -> 14312 bytes assets/icon_500x500.png | Bin 0 -> 204296 bytes assets/{icon.png => icon_64x64.png} | Bin assets/require.json | 1 - assets/resources.json | 8 +- assets/translations/en-US.json | 13 + package-lock.json | 3977 ------------------------- package.json | 10 +- pnpm-lock.yaml | 3416 +++++++++++++++++++++ src/config.ts | 43 +- src/constants.ts | 7 +- src/declarations.d.ts | 10 +- src/index.css | 3 + src/index.ts | 9 +- src/observers.ts | 2 +- src/utils/GMStorageEngine.ts | 48 + src/{utils.ts => utils/dom.ts} | 72 +- src/utils/net.ts | 33 + src/utils/resources.ts | 20 + src/utils/serializer.ts | 42 + src/utils/translations.ts | 45 + tsconfig.json | 43 +- vite.config.ts | 226 ++ 27 files changed, 4066 insertions(+), 4135 deletions(-) create mode 100644 .vscode/schemas/require.schema.json create mode 100644 .vscode/schemas/resources.schema.json create mode 100644 assets/icon_128x128.png create mode 100644 assets/icon_500x500.png rename assets/{icon.png => icon_64x64.png} (100%) create mode 100644 assets/translations/en-US.json delete mode 100644 package-lock.json create mode 100644 pnpm-lock.yaml create mode 100644 src/index.css create mode 100644 src/utils/GMStorageEngine.ts rename src/{utils.ts => utils/dom.ts} (51%) create mode 100644 src/utils/net.ts create mode 100644 src/utils/resources.ts create mode 100644 src/utils/serializer.ts create mode 100644 src/utils/translations.ts create mode 100644 vite.config.ts diff --git a/.env.template b/.env.template index c19760d..70b4262 100644 --- a/.env.template +++ b/.env.template @@ -3,3 +3,9 @@ DEV_SERVER_PORT=8710 # Whether to trigger the bell sound in some terminals when the code has finished (re)compiling - default is false RING_BELL=false + +# Which branch to target when pointing to the GitHub repo +#BUILD_BRANCH=main + +# Which host platform the script is being built for +#BUILD_HOST=github diff --git a/.vscode/schemas/require.schema.json b/.vscode/schemas/require.schema.json new file mode 100644 index 0000000..364d9f7 --- /dev/null +++ b/.vscode/schemas/require.schema.json @@ -0,0 +1,33 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "array", + "description": "Configuration for libraries hosted on npm and loaded via @require (only supports UMD bundles or userscript libraries).", + "items": { + "type": "object", + "required": ["pkgName", "global"], + "description": "Configuration for a library.", + "properties": { + "pkgName": { + "type": "string", + "description": "Full identifier of the npm package. Don't add a version number or path here.", + "pattern": "^@?[a-z0-9-_/]+$" + }, + "path": { + "type": "string", + "description": "Path to the package's UMD/global bundle file, relative to the library root folder.", + "pattern": "^.+\\.(m|c)?(j|t)sx?$" + }, + "global": { + "type": "string", + "description": "Name of the global variable created in the package's UMD/global bundle.", + "pattern": "^[$_a-zA-Z][$_a-zA-Z0-9]*$" + }, + "link": { + "type": "boolean", + "description": "Whether the package is locally linked (via npm/yarn/pnpm link). Only enable when actively working on both projects at the same time!", + "default": false + } + }, + "additionalProperties": false + } +} diff --git a/.vscode/schemas/resources.schema.json b/.vscode/schemas/resources.schema.json new file mode 100644 index 0000000..de39703 --- /dev/null +++ b/.vscode/schemas/resources.schema.json @@ -0,0 +1,32 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "description": "Contains all resources (images, fonts, stylesheets, etc.) used by the userscript.", + "additionalProperties": false, + "patternProperties": { + "^[a-z]+-[a-zA-Z0-9_-]+$": { + "oneOf": [ + { + "type": "string", + "description": "Path to the resource file. If the path starts with a '/', it is considered relative to the project root; otherwise, it is relative to the assets folder." + }, + { + "type": "object", + "description": "Resource with additional properties.", + "properties": { + "path": { + "type": "string", + "description": "Path to the resource file. If the path starts with a '/', it is considered relative to the project root; otherwise, it is relative to the assets folder." + }, + "integrity": { + "type": "boolean", + "description": "Whether SRI (Subresource Integrity) should be enabled for this resource (on by default). This means the resource will fail to load if its content changed from when the userscript was built." + } + }, + "required": ["path"], + "additionalProperties": false + } + ] + } + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 216fa64..cffe2d6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,47 +1,59 @@ { - "javascript.preferences.importModuleSpecifier": "relative", - "typescript.tsdk": "node_modules/typescript/lib", - - "search.exclude": { - "**/*.user.js": true, - }, - "files.associations": { - "*.env": "dotenv", - "*.env.template": "dotenv", - }, - "editor.tabSize": 2, - - // requires extension: fabiospampinato.vscode-highlight - "highlight.regexes": { - "(TODO(\\((\\s|\\d|\\w|[,.-_+*&])+\\))?:?)": { // TODO: or TODO or TODO(xy): but not todo or todo: - "backgroundColor": "#ed0", - "color": "black", - "overviewRulerColor": "#ed0", - }, - "((//\\s?)?#region ([^\\S\\r\\n]*[\\(\\)\\w,.\\-_&+#*'\"]+)*[:]*)": { //#region test (abc): - "backgroundColor": "#069", - "color": "#fff", - "overviewRulerColor": "#069", - }, - "(()?)": { // and or <{{BAR}}> and - "backgroundColor": "#9af", - "overviewRulerColor": "#9af", - "color": "#000", - }, - "(#?(DEBUG|DBG)#?)": { // #DEBUG or DEBUG or #DBG or #DBG# - "backgroundColor": "#ff0", - "color": "blue", - "overviewRulerColor": "#ff0", - }, - "(IMPORTANT:)": { // IMPORTANT: - "backgroundColor": "#a22", - "color": "#fff", - }, - "(FIXME:)": { // FIXME: - "backgroundColor": "#a22", - "color": "#fff", - "overviewRulerColor": "#752020", - }, - }, - } + "npm.packageManager": "pnpm", + "javascript.preferences.importModuleSpecifier": "relative", + "typescript.tsdk": "node_modules/typescript/lib", + + "search.exclude": { + "**/*.user.js": true, + }, + "files.associations": { + "*.env": "dotenv", + "*.env.template": "dotenv", + }, + "editor.tabSize": 2, + + "json.schemas": [ + { + "fileMatch": ["**/require.json"], + "url": ".vscode/schemas/require.schema.json" + }, + { + "fileMatch": ["**/resources.json"], + "url": ".vscode/schemas/resources.schema.json" + }, + ], + + // requires extension: fabiospampinato.vscode-highlight + "highlight.regexes": { + "(TODO(\\((\\s|\\d|\\w|[,.-_+*&])+\\))?:?)": { // TODO: or TODO or TODO(xy): but not todo or todo: + "backgroundColor": "#ed0", + "color": "black", + "overviewRulerColor": "#ed0", + }, + "((//\\s?)?#region ([^\\S\\r\\n]*[\\(\\)\\w,.\\-_&+#*'\"]+)*[:]*)": { //#region test (abc): + "backgroundColor": "#5df", + "color": "#fff", + "overviewRulerColor": "#5df", + }, + "(()?)": { // and or <{{BAR}}> and + "backgroundColor": "#9af", + "overviewRulerColor": "#9af", + "color": "#000", + }, + "(#?(DEBUG|DBG)#?)": { // #DEBUG or DEBUG or #DBG or #DBG# + "backgroundColor": "#ff0", + "color": "blue", + "overviewRulerColor": "#ff0", + }, + "(IMPORTANT:)": { // IMPORTANT: + "backgroundColor": "#a22", + "color": "#fff", + }, + "(FIXME:)": { // FIXME: + "backgroundColor": "#a22", + "color": "#fff", + "overviewRulerColor": "#752020", + }, + }, +} \ No newline at end of file diff --git a/assets/icon_128x128.png b/assets/icon_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..5a891c62cb5167301d36a778af24820461bcb032 GIT binary patch literal 14312 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 literal 0 HcmV?d00001 diff --git a/assets/icon_500x500.png b/assets/icon_500x500.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3a5fe94593c99c90d221d3abb5d402169916b0 GIT binary patch literal 204296 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 ov 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.10.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", - "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.1.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", - "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", - "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", - "dev": true, - "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-typescript": { - "version": "11.1.6", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz", - "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.1.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0||^3.0.0||^4.0.0", - "tslib": "*", - "typescript": ">=3.7.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - }, - "tslib": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", - "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.2.tgz", - "integrity": "sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.2.tgz", - "integrity": "sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz", - "integrity": "sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.2.tgz", - "integrity": "sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.2.tgz", - "integrity": "sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.2.tgz", - "integrity": "sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.2.tgz", - "integrity": "sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.2.tgz", - "integrity": "sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.2.tgz", - "integrity": "sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.2.tgz", - "integrity": "sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.2.tgz", - "integrity": "sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.2.tgz", - "integrity": "sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.2.tgz", - "integrity": "sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.2.tgz", - "integrity": "sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz", - "integrity": "sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sv443-network/userutils": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@sv443-network/userutils/-/userutils-6.3.0.tgz", - "integrity": "sha512-YNszpjAJPqQiwpRaA+gHROlJkiL/wFDOeQ8LtSIkJvyoMbuaP47bXni9B/eh1BWqN+60xazLSQtmy1xO5OF9wQ==" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/greasemonkey": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/greasemonkey/-/greasemonkey-4.0.7.tgz", - "integrity": "sha512-DuYBRf/T4zixO/xhQ3eicZCBjjOgbSSXuHP5XkLNf/UBayrJpBniP9il/AQaPy0lffl4Bco48zgHL+pZmQ6Q0A==", - "dev": true - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", - "integrity": "sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.6.0", - "@typescript-eslint/type-utils": "7.6.0", - "@typescript-eslint/utils": "7.6.0", - "@typescript-eslint/visitor-keys": "7.6.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.6.0.tgz", - "integrity": "sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.6.0", - "@typescript-eslint/types": "7.6.0", - "@typescript-eslint/typescript-estree": "7.6.0", - "@typescript-eslint/visitor-keys": "7.6.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", - "integrity": "sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.6.0", - "@typescript-eslint/visitor-keys": "7.6.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", - "integrity": "sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.6.0", - "@typescript-eslint/utils": "7.6.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.6.0.tgz", - "integrity": "sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", - "integrity": "sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.6.0", - "@typescript-eslint/visitor-keys": "7.6.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.6.0.tgz", - "integrity": "sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.6.0", - "@typescript-eslint/types": "7.6.0", - "@typescript-eslint/typescript-estree": "7.6.0", - "semver": "^7.6.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", - "integrity": "sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.6.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", - "dev": true, - "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2", - "date-fns": "^2.30.0", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^14.13.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "dependencies": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "bin": { - "html-minifier": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, - "node_modules/nodemon": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", - "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==", - "dev": true, - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/nodemon/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nodemon/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", - "dev": true, - "dependencies": { - "no-case": "^2.2.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.2.tgz", - "integrity": "sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.2", - "@rollup/rollup-android-arm64": "4.14.2", - "@rollup/rollup-darwin-arm64": "4.14.2", - "@rollup/rollup-darwin-x64": "4.14.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.2", - "@rollup/rollup-linux-arm64-gnu": "4.14.2", - "@rollup/rollup-linux-arm64-musl": "4.14.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.2", - "@rollup/rollup-linux-riscv64-gnu": "4.14.2", - "@rollup/rollup-linux-s390x-gnu": "4.14.2", - "@rollup/rollup-linux-x64-gnu": "4.14.2", - "@rollup/rollup-linux-x64-musl": "4.14.2", - "@rollup/rollup-win32-arm64-msvc": "4.14.2", - "@rollup/rollup-win32-ia32-msvc": "4.14.2", - "@rollup/rollup-win32-x64-msvc": "4.14.2", - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-execute": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-execute/-/rollup-plugin-execute-1.1.1.tgz", - "integrity": "sha512-isCNR/VrwlEfWJMwsnmt5TBRod8dW1IjVRxcXCBrxDmVTeA1IXjzeLSS3inFBmRD7KDPlo38KSb2mh5v5BoWgA==", - "dev": true - }, - "node_modules/rollup-plugin-html": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-html/-/rollup-plugin-html-0.2.1.tgz", - "integrity": "sha512-qnyToGUAjjG69+M+KitUsHnfnLjpjtZdO3nIP0LN50KG/r6zEoBq/pfneAwWkxY/z13zM5aFFXSBY6+6M7bvUw==", - "dev": true, - "dependencies": { - "html-minifier": "^3.0.2", - "rollup-pluginutils": "^1.5.0" - } - }, - "node_modules/rollup-plugin-import-css": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-import-css/-/rollup-plugin-import-css-3.5.0.tgz", - "integrity": "sha512-JOVow6n00qt2C/NnsqPmIjFOfxIAudwWqC5SaC84CodMGiMFaP1gPAdgnJ8g8hcG+P85TCYp2kI98grYCEt5pg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.4" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "rollup": "^2.x.x || ^3.x.x || ^4.x.x" - } - }, - "node_modules/rollup-pluginutils": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", - "integrity": "sha512-SjdWWWO/CUoMpDy8RUbZ/pSpG68YHmhk5ROKNIoi2En9bJ8bTt3IhYi254RWiTclQmL7Awmrq+rZFOhZkJAHmQ==", - "dev": true, - "dependencies": { - "estree-walker": "^0.2.1", - "minimatch": "^3.0.2" - } - }, - "node_modules/rollup-pluginutils/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rollup-pluginutils/node_modules/estree-walker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha512-6/I1dwNKk0N9iGOU3ydzAAurz4NPo/ttxZNCqgIVbWFvWyzWBSNonRrJ5CpjDuyBfmM7ENN7WCzUi9aT/UPXXQ==", - "dev": true - }, - "node_modules/rollup-pluginutils/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/smob": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", - "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/terser": { - "version": "5.30.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", - "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "dependencies": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-js/node_modules/commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json index 919b7c0..a404669 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "repository": { "type": "git", + "identifier": "#REPLACE:User/Repo", "url": "git+https://github.com/#REPLACE:User/Repo.git" }, "author": { @@ -35,6 +36,7 @@ "url": "https://github.com/#REPLACE:User/Repo/issues" }, "homepage": "https://github.com/#REPLACE:User/Repo#readme", + "namespace": "https://github.com/#REPLACE:User/Repo", "devDependencies": { "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", @@ -56,10 +58,14 @@ "rollup-plugin-import-css": "^3.5.0", "ts-node": "^10.9.2", "tslib": "^2.6.2", - "typescript": "^5.4.5" + "typescript": "^5.4.5", + "vite": "^7.3.0", + "vite-plugin-monkey": "^7.1.8", + "vite-tsconfig-paths": "^6.0.3" }, "dependencies": { - "@sv443-network/userutils": "^6.3.0" + "@sv443-network/coreutils": "^2.0.0", + "@sv443-network/userutils": "^9.4.4" }, "nodemonConfig": { "watch": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..91f1c80 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3416 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@sv443-network/coreutils': + specifier: ^2.0.0 + version: 2.0.0 + '@sv443-network/userutils': + specifier: ^9.4.4 + version: 9.4.4 + devDependencies: + '@rollup/plugin-json': + specifier: ^6.1.0 + version: 6.1.0(rollup@4.54.0) + '@rollup/plugin-node-resolve': + specifier: ^15.2.3 + version: 15.3.1(rollup@4.54.0) + '@rollup/plugin-terser': + specifier: ^0.4.4 + version: 0.4.4(rollup@4.54.0) + '@rollup/plugin-typescript': + specifier: ^11.1.6 + version: 11.1.6(rollup@4.54.0)(tslib@2.8.1)(typescript@5.9.3) + '@types/express': + specifier: ^4.17.21 + version: 4.17.25 + '@types/greasemonkey': + specifier: ^4.0.7 + version: 4.0.7 + '@types/node': + specifier: ^20.12.7 + version: 20.19.27 + '@typescript-eslint/eslint-plugin': + specifier: ^7.6.0 + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/parser': + specifier: ^7.6.0 + version: 7.18.0(eslint@8.57.1)(typescript@5.9.3) + concurrently: + specifier: ^8.2.2 + version: 8.2.2 + dotenv: + specifier: ^16.4.5 + version: 16.6.1 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + express: + specifier: ^4.19.2 + version: 4.22.1 + nodemon: + specifier: ^3.1.0 + version: 3.1.11 + rollup: + specifier: ^4.14.2 + version: 4.54.0 + rollup-plugin-execute: + specifier: ^1.1.1 + version: 1.1.1 + rollup-plugin-html: + specifier: ^0.2.1 + version: 0.2.1 + rollup-plugin-import-css: + specifier: ^3.5.0 + version: 3.5.8(rollup@4.54.0) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.19.27)(typescript@5.9.3) + tslib: + specifier: ^2.6.2 + version: 2.8.1 + typescript: + specifier: ^5.4.5 + version: 5.9.3 + vite: + specifier: ^7.3.0 + version: 7.3.0(@types/node@20.19.27)(terser@5.44.1) + vite-plugin-monkey: + specifier: ^7.1.8 + version: 7.1.8(postcss@8.5.6)(vite@7.3.0(@types/node@20.19.27)(terser@5.44.1)) + vite-tsconfig-paths: + specifier: ^6.0.3 + version: 6.0.3(typescript@5.9.3)(vite@7.3.0(@types/node@20.19.27)(terser@5.44.1)) + +packages: + + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} + engines: {node: '>=6.9.0'} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@15.3.1': + resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@0.4.4': + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-typescript@11.1.6': + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.54.0': + resolution: {integrity: sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.54.0': + resolution: {integrity: sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.54.0': + resolution: {integrity: sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.54.0': + resolution: {integrity: sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.54.0': + resolution: {integrity: sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.54.0': + resolution: {integrity: sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.54.0': + resolution: {integrity: sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.54.0': + resolution: {integrity: sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.54.0': + resolution: {integrity: sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.54.0': + resolution: {integrity: sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.54.0': + resolution: {integrity: sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.54.0': + resolution: {integrity: sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.54.0': + resolution: {integrity: sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.54.0': + resolution: {integrity: sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.54.0': + resolution: {integrity: sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.54.0': + resolution: {integrity: sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.54.0': + resolution: {integrity: sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openharmony-arm64@4.54.0': + resolution: {integrity: sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.54.0': + resolution: {integrity: sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.54.0': + resolution: {integrity: sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.54.0': + resolution: {integrity: sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.54.0': + resolution: {integrity: sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==} + cpu: [x64] + os: [win32] + + '@sv443-network/coreutils@2.0.0': + resolution: {integrity: sha512-2fr1Y1Gd5OuyeYt+VL8VpYkQYU0me1GGJ0OXGRJPHfrTz5+r5oudRpMG0SdotSvx/4cbQV3w355C6ZwiBkW5pA==} + + '@sv443-network/userutils@9.4.4': + resolution: {integrity: sha512-/57YFyC6C1vKSG3Uref+aolRt11RdKL7SS4DEvnFdGLElzeuL3sKxomm4pbdKuGJ5XH73nGJ7GsUI+CXJCyFhQ==} + + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.7': + resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} + + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + + '@types/greasemonkey@4.0.7': + resolution: {integrity: sha512-DuYBRf/T4zixO/xhQ3eicZCBjjOgbSSXuHP5XkLNf/UBayrJpBniP9il/AQaPy0lffl4Bco48zgHL+pZmQ6Q0A==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/node@20.19.27': + resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.4: + resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + clean-css@4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + commander@2.17.1: + resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} + + commander@2.19.0: + resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concurrently@8.2.2: + resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} + engines: {node: ^14.13.0 || >=16.0.0} + hasBin: true + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cuint@0.2.2: + resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.4.0: + resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} + engines: {node: '>=18'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@0.2.1: + resolution: {integrity: sha512-6/I1dwNKk0N9iGOU3ydzAAurz4NPo/ttxZNCqgIVbWFvWyzWBSNonRrJ5CpjDuyBfmM7ENN7WCzUi9aT/UPXXQ==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + express@4.22.1: + resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + engines: {node: '>= 0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + html-minifier@3.5.21: + resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} + engines: {node: '>=4'} + hasBin: true + + htmlparser2@10.0.0: + resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.5.2: + resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} + engines: {node: '>=4.0.0'} + hasBin: true + + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoevents@9.1.0: + resolution: {integrity: sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==} + engines: {node: ^18.0.0 || >=20.0.0} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + + nodemon@3.1.11: + resolution: {integrity: sha512-is96t8F/1//UHAjNPHpbsNY46ELPpftGUoSVNXwUfMk/qdjSylYrWSu1XavVTBOn526kFiOR733ATgNBCQyH0g==} + engines: {node: '>=10'} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + postcss-url@10.1.3: + resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.0.0 + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.14.1: + resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-execute@1.1.1: + resolution: {integrity: sha512-isCNR/VrwlEfWJMwsnmt5TBRod8dW1IjVRxcXCBrxDmVTeA1IXjzeLSS3inFBmRD7KDPlo38KSb2mh5v5BoWgA==} + + rollup-plugin-html@0.2.1: + resolution: {integrity: sha512-qnyToGUAjjG69+M+KitUsHnfnLjpjtZdO3nIP0LN50KG/r6zEoBq/pfneAwWkxY/z13zM5aFFXSBY6+6M7bvUw==} + + rollup-plugin-import-css@3.5.8: + resolution: {integrity: sha512-a3YsZnwHz66mRHCKHjaPCSfWczczvS/HTkgDc+Eogn0mt/0JZXz0WjK0fzM5WwBpVtOqHB4/gHdmEY40ILsaVg==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^2.x.x || ^3.x.x || ^4.x.x + + rollup-pluginutils@1.5.2: + resolution: {integrity: sha512-SjdWWWO/CUoMpDy8RUbZ/pSpG68YHmhk5ROKNIoi2En9bJ8bTt3IhYi254RWiTclQmL7Awmrq+rZFOhZkJAHmQ==} + + rollup@4.54.0: + resolution: {integrity: sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + simple-update-notifier@2.0.0: + resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} + engines: {node: '>=10'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spawn-command@0.0.2: + resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + + terser@5.44.1: + resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uglify-js@3.4.10: + resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} + engines: {node: '>=0.8.0'} + hasBin: true + + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-plugin-monkey@7.1.8: + resolution: {integrity: sha512-FGz1jlHcodt+L120UcHLiN0jXqQZdZHxLuHcGQg8Zjas6BulxLM1oiGUg3M95HbjYVFH6ygrOJoZ5YCYu1purw==} + peerDependencies: + vite: ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + vite: + optional: true + + vite-tsconfig-paths@6.0.3: + resolution: {integrity: sha512-7bL7FPX/DSviaZGYUKowWF1AiDVWjMjxNbE8lyaVGDezkedWqfGhlnQ4BZXre0ZN5P4kAgIJfAlgFDVyjrCIyg==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + + vite@7.3.0: + resolution: {integrity: sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + 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 + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + xxhashjs@0.2.2: + resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@babel/runtime@7.28.4': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@esbuild/aix-ppc64@0.27.2': + optional: true + + '@esbuild/android-arm64@0.27.2': + optional: true + + '@esbuild/android-arm@0.27.2': + optional: true + + '@esbuild/android-x64@0.27.2': + optional: true + + '@esbuild/darwin-arm64@0.27.2': + optional: true + + '@esbuild/darwin-x64@0.27.2': + optional: true + + '@esbuild/freebsd-arm64@0.27.2': + optional: true + + '@esbuild/freebsd-x64@0.27.2': + optional: true + + '@esbuild/linux-arm64@0.27.2': + optional: true + + '@esbuild/linux-arm@0.27.2': + optional: true + + '@esbuild/linux-ia32@0.27.2': + optional: true + + '@esbuild/linux-loong64@0.27.2': + optional: true + + '@esbuild/linux-mips64el@0.27.2': + optional: true + + '@esbuild/linux-ppc64@0.27.2': + optional: true + + '@esbuild/linux-riscv64@0.27.2': + optional: true + + '@esbuild/linux-s390x@0.27.2': + optional: true + + '@esbuild/linux-x64@0.27.2': + optional: true + + '@esbuild/netbsd-arm64@0.27.2': + optional: true + + '@esbuild/netbsd-x64@0.27.2': + optional: true + + '@esbuild/openbsd-arm64@0.27.2': + optional: true + + '@esbuild/openbsd-x64@0.27.2': + optional: true + + '@esbuild/openharmony-arm64@0.27.2': + optional: true + + '@esbuild/sunos-x64@0.27.2': + optional: true + + '@esbuild/win32-arm64@0.27.2': + optional: true + + '@esbuild/win32-ia32@0.27.2': + optional: true + + '@esbuild/win32-x64@0.27.2': + optional: true + + '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.4.3(supports-color@5.5.0) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.3(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@rollup/plugin-json@6.1.0(rollup@4.54.0)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.54.0) + optionalDependencies: + rollup: 4.54.0 + + '@rollup/plugin-node-resolve@15.3.1(rollup@4.54.0)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.54.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.11 + optionalDependencies: + rollup: 4.54.0 + + '@rollup/plugin-terser@0.4.4(rollup@4.54.0)': + dependencies: + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.44.1 + optionalDependencies: + rollup: 4.54.0 + + '@rollup/plugin-typescript@11.1.6(rollup@4.54.0)(tslib@2.8.1)(typescript@5.9.3)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.54.0) + resolve: 1.22.11 + typescript: 5.9.3 + optionalDependencies: + rollup: 4.54.0 + tslib: 2.8.1 + + '@rollup/pluginutils@5.3.0(rollup@4.54.0)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.54.0 + + '@rollup/rollup-android-arm-eabi@4.54.0': + optional: true + + '@rollup/rollup-android-arm64@4.54.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.54.0': + optional: true + + '@rollup/rollup-darwin-x64@4.54.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.54.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.54.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.54.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.54.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.54.0': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.54.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.54.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.54.0': + optional: true + + '@rollup/rollup-openharmony-arm64@4.54.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.54.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.54.0': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.54.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.54.0': + optional: true + + '@sv443-network/coreutils@2.0.0': + dependencies: + nanoevents: 9.1.0 + + '@sv443-network/userutils@9.4.4': + dependencies: + nanoevents: 9.1.0 + + '@tsconfig/node10@1.0.12': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.19.27 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.19.27 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.7': + dependencies: + '@types/node': 20.19.27 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express@4.17.25': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.7 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.10 + + '@types/greasemonkey@4.0.7': {} + + '@types/http-errors@2.0.5': {} + + '@types/mime@1.3.5': {} + + '@types/node@20.19.27': + dependencies: + undici-types: 6.21.0 + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/resolve@1.20.2': {} + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.19.27 + + '@types/send@1.2.1': + dependencies: + '@types/node': 20.19.27 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 20.19.27 + '@types/send': 0.17.6 + + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.3(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.3(supports-color@5.5.0) + eslint: 8.57.1 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.9.3) + debug: 4.4.3(supports-color@5.5.0) + eslint: 8.57.1 + ts-api-utils: 1.4.3(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.18.0': {} + + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.3(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.3 + ts-api-utils: 1.4.3(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.9.3) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.3.0': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@4.1.3: {} + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + balanced-match@1.0.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.4: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.14.1 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + buffer-from@1.1.2: {} + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.1.0 + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + clean-css@4.2.4: + dependencies: + source-map: 0.6.1 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@2.17.1: {} + + commander@2.19.0: {} + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + concurrently@8.2.2: + dependencies: + chalk: 4.1.2 + date-fns: 2.30.0 + lodash: 4.17.21 + rxjs: 7.8.2 + shell-quote: 1.8.3 + spawn-command: 0.0.2 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cuint@0.2.2: {} + + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.28.4 + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3(supports-color@5.5.0): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 5.5.0 + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + default-browser-id@5.0.1: {} + + default-browser@5.4.0: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.1 + + define-lazy-prop@3.0.0: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + diff@4.0.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dotenv@16.6.1: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + ee-first@1.1.1: {} + + emoji-regex@8.0.0: {} + + encodeurl@2.0.0: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + esbuild@0.27.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@4.0.0: {} + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.3.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3(supports-color@5.5.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@9.6.1: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 3.4.3 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@0.2.1: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + express@4.22.1: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.4 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2 + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.14.1 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.2: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.3: {} + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globrex@0.1.2: {} + + gopd@1.2.0: {} + + graphemer@1.4.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + html-minifier@3.5.21: + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.17.1 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.4.10 + + htmlparser2@10.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 6.0.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ignore-by-default@1.0.1: {} + + ignore@5.3.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-meta-resolve@4.2.0: {} + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ipaddr.js@1.9.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-module@1.0.0: {} + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isexe@2.0.0: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + lower-case@1.1.4: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-error@1.3.6: {} + + math-intrinsics@1.1.0: {} + + media-typer@0.3.0: {} + + merge-descriptors@1.0.3: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mime@2.5.2: {} + + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.12 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + nanoevents@9.1.0: {} + + nanoid@3.3.11: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + no-case@2.3.2: + dependencies: + lower-case: 1.1.4 + + nodemon@3.1.11: + dependencies: + chokidar: 3.6.0 + debug: 4.4.3(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.7.3 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 + + normalize-path@3.0.0: {} + + object-inspect@1.13.4: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + open@10.2.0: + dependencies: + default-browser: 5.4.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + param-case@2.1.1: + dependencies: + no-case: 2.3.2 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parseurl@1.3.3: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.12: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + postcss-url@10.1.3(postcss@8.5.6): + dependencies: + make-dir: 3.1.0 + mime: 2.5.2 + minimatch: 3.0.8 + postcss: 8.5.6 + xxhashjs: 0.2.2 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + pstree.remy@1.1.8: {} + + punycode@2.3.1: {} + + qs@6.14.1: + dependencies: + side-channel: 1.1.0 + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + relateurl@0.2.7: {} + + require-directory@2.1.1: {} + + resolve-from@4.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup-plugin-execute@1.1.1: {} + + rollup-plugin-html@0.2.1: + dependencies: + html-minifier: 3.5.21 + rollup-pluginutils: 1.5.2 + + rollup-plugin-import-css@3.5.8(rollup@4.54.0): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.54.0) + rollup: 4.54.0 + + rollup-pluginutils@1.5.2: + dependencies: + estree-walker: 0.2.1 + minimatch: 3.1.2 + + rollup@4.54.0: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.54.0 + '@rollup/rollup-android-arm64': 4.54.0 + '@rollup/rollup-darwin-arm64': 4.54.0 + '@rollup/rollup-darwin-x64': 4.54.0 + '@rollup/rollup-freebsd-arm64': 4.54.0 + '@rollup/rollup-freebsd-x64': 4.54.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.54.0 + '@rollup/rollup-linux-arm-musleabihf': 4.54.0 + '@rollup/rollup-linux-arm64-gnu': 4.54.0 + '@rollup/rollup-linux-arm64-musl': 4.54.0 + '@rollup/rollup-linux-loong64-gnu': 4.54.0 + '@rollup/rollup-linux-ppc64-gnu': 4.54.0 + '@rollup/rollup-linux-riscv64-gnu': 4.54.0 + '@rollup/rollup-linux-riscv64-musl': 4.54.0 + '@rollup/rollup-linux-s390x-gnu': 4.54.0 + '@rollup/rollup-linux-x64-gnu': 4.54.0 + '@rollup/rollup-linux-x64-musl': 4.54.0 + '@rollup/rollup-openharmony-arm64': 4.54.0 + '@rollup/rollup-win32-arm64-msvc': 4.54.0 + '@rollup/rollup-win32-ia32-msvc': 4.54.0 + '@rollup/rollup-win32-x64-gnu': 4.54.0 + '@rollup/rollup-win32-x64-msvc': 4.54.0 + fsevents: 2.3.3 + + run-applescript@7.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + semver@6.3.1: {} + + semver@7.7.3: {} + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + simple-update-notifier@2.0.0: + dependencies: + semver: 7.7.3 + + slash@3.0.0: {} + + smob@1.5.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + spawn-command@0.0.2: {} + + statuses@2.0.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + systemjs@6.15.1: {} + + terser@5.44.1: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + touch@3.1.1: {} + + tree-kill@1.2.2: {} + + ts-api-utils@1.4.3(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + + ts-node@10.9.2(@types/node@20.19.27)(typescript@5.9.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.12 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.19.27 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.9.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + tsconfck@3.1.6(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript@5.9.3: {} + + uglify-js@3.4.10: + dependencies: + commander: 2.19.0 + source-map: 0.6.1 + + undefsafe@2.0.5: {} + + undici-types@6.21.0: {} + + unpipe@1.0.0: {} + + upper-case@1.1.3: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + utils-merge@1.0.1: {} + + v8-compile-cache-lib@3.0.1: {} + + vary@1.1.2: {} + + vite-plugin-monkey@7.1.8(postcss@8.5.6)(vite@7.3.0(@types/node@20.19.27)(terser@5.44.1)): + dependencies: + acorn: 8.15.0 + acorn-walk: 8.3.4 + cross-spawn: 7.0.6 + htmlparser2: 10.0.0 + import-meta-resolve: 4.2.0 + magic-string: 0.30.21 + mrmime: 2.0.1 + open: 10.2.0 + picocolors: 1.1.1 + postcss-url: 10.1.3(postcss@8.5.6) + systemjs: 6.15.1 + optionalDependencies: + vite: 7.3.0(@types/node@20.19.27)(terser@5.44.1) + transitivePeerDependencies: + - postcss + + vite-tsconfig-paths@6.0.3(typescript@5.9.3)(vite@7.3.0(@types/node@20.19.27)(terser@5.44.1)): + dependencies: + debug: 4.4.3(supports-color@5.5.0) + globrex: 0.1.2 + tsconfck: 3.1.6(typescript@5.9.3) + optionalDependencies: + vite: 7.3.0(@types/node@20.19.27)(terser@5.44.1) + transitivePeerDependencies: + - supports-color + - typescript + + vite@7.3.0(@types/node@20.19.27)(terser@5.44.1): + dependencies: + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.54.0 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 20.19.27 + fsevents: 2.3.3 + terser: 5.44.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + wsl-utils@0.1.0: + dependencies: + is-wsl: 3.1.0 + + xxhashjs@0.2.2: + dependencies: + cuint: 0.2.2 + + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yn@3.1.1: {} + + yocto-queue@0.1.0: {} diff --git a/src/config.ts b/src/config.ts index ce24583..8e1f502 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,40 +1,31 @@ -import { DataStore, compress, decompress } from "@sv443-network/userutils"; -import { compressionFormat } from "./constants"; -import type { ScriptConfig } from "./types"; +import { DataStore } from "@sv443-network/coreutils"; +import { compressionFormat } from "@/constants.js"; +import type { ScriptConfig } from "@/types.js"; +import { GMStorageEngine } from "@utils/GMStorageEngine.js"; -let canCompress: boolean | undefined; - -export const config = new DataStore({ - id: "script-config", +export const configStore = new DataStore({ + // unique ID used to identify this DataStore's data: + id: "config", + // add initial and default data here: defaultData: { - // add data here + // ... } satisfies ScriptConfig, // increment this value if the data format changes: formatVersion: 1, + // storage engine to use: + engine: () => new GMStorageEngine(), // functions that migrate data from older versions to newer ones: migrations: { - // migrate from v1 to v2: + // e.g. migration from v1 to v2: // 2: (oldData) => { - // return { ...oldData, newProp: "foo" }; + // delete oldData.someOldProp; // delete obsolete prop + // return { ...oldData, newProp: "foo" }; // add new prop // }, }, - encodeData: (data) => canCompress ? compress(data, compressionFormat, "string") : data, - decodeData: (data) => canCompress ? decompress(data, compressionFormat, "string") : data, + compressionFormat, }); +/** Initializes the configuration DataStore by loading data from storage. */ export async function initConfig() { - canCompress = await compressionSupported(); - await config.loadData(); -} - -async function compressionSupported() { - if(typeof canCompress === "boolean") - return canCompress; - try { - await compress(".", compressionFormat, "string"); - return canCompress = true; - } - catch(e) { - return canCompress = false; - } + await configStore.loadData(); } diff --git a/src/constants.ts b/src/constants.ts index 0b428e2..ec21a95 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,8 +1,9 @@ import { randomId } from "@sv443-network/userutils"; -const modeRaw = "#{{MODE}}"; -const branchRaw = "#{{BRANCH}}"; -const hostRaw = "#{{HOST}}"; +// These raw values are replaced during the build process: +const modeRaw = "#{{BUILD_MODE}}"; +const branchRaw = "#{{BUILD_BRANCH}}"; +const hostRaw = "#{{BUILD_HOST}}"; const buildNumberRaw = "#{{BUILD_NUMBER}}"; /** The mode in which the script was built (production or development) */ diff --git a/src/declarations.d.ts b/src/declarations.d.ts index 0da7917..51292d0 100644 --- a/src/declarations.d.ts +++ b/src/declarations.d.ts @@ -1,8 +1,14 @@ /** Import HTML as modules - https://stackoverflow.com/a/47705264/3323672 */ declare module "*.html" { /** Content of the HTML file as a string */ - const htmlContent: string; - export default htmlContent; + const content: string; + export default content; +} + +declare module "*.css" { + /** Content of the CSS file as a string */ + const content: string; + export default content; } declare module "*.md" { diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..0933d42 --- /dev/null +++ b/src/index.css @@ -0,0 +1,3 @@ +:root { + --foo: "bar"; +} diff --git a/src/index.ts b/src/index.ts index bb98cad..0ae52a1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,8 @@ -import { initConfig } from "./config"; -import { buildNumber, scriptInfo } from "./constants"; -import { initObservers } from "./observers"; -import { addStyle, domLoaded } from "./utils"; +import { initConfig } from "@/config"; +import { buildNumber, scriptInfo } from "@/constants"; +import { initObservers } from "@/observers"; +import { addStyle, domLoaded } from "@utils/dom"; +import "@/index.css"; /** Runs when the userscript is loaded initially */ async function init() { diff --git a/src/observers.ts b/src/observers.ts index 0c56041..1fa5def 100644 --- a/src/observers.ts +++ b/src/observers.ts @@ -8,7 +8,7 @@ export type ObserverName = /** Options that are applied to every SelectorObserver instance */ const defaultObserverOptions: SelectorObserverConstructorOptions = { defaultDebounce: 100, - defaultDebounceEdge: "rising", + defaultDebounceType: "immediate", subtree: false, }; diff --git a/src/utils/GMStorageEngine.ts b/src/utils/GMStorageEngine.ts new file mode 100644 index 0000000..889a235 --- /dev/null +++ b/src/utils/GMStorageEngine.ts @@ -0,0 +1,48 @@ +import { DataStoreEngine, type DataStoreData, type DataStoreEngineDSOptions, type SerializableVal } from "@sv443-network/coreutils"; + +/** Options for the {@linkcode GMStorageEngine} class */ +export type GMStorageEngineOptions = { + /** + * Specifies the necessary options for storing data. + * - ⚠️ Only specify this if you are using this instance standalone! The parent `DataStore` will set this automatically. + */ + dataStoreOptions?: DataStoreEngineDSOptions; +}; + +/** + * Storage engine for the `DataStore` class that uses the GM (GreaseMonkey) storage API. + * + * - ⚠️ Don't reuse engine instances, always create a new one for each {@linkcode DataStore} instance + */ +export class GMStorageEngine extends DataStoreEngine { + protected options: GMStorageEngineOptions; + + /** + * Creates an instance of `GMStorageEngine`. + * + * - ⚠️ Don't reuse engine instances, always create a new one for each {@linkcode DataStore} instance + */ + constructor(options?: GMStorageEngineOptions) { + super(options?.dataStoreOptions); + this.options = { + ...options, + }; + } + + //#region storage api + + /** Fetches a value from persistent storage */ + public async getValue(name: string, defaultValue: TValue): Promise { + return GM.getValue(name, defaultValue); + } + + /** Sets a value in persistent storage */ + public async setValue(name: string, value: SerializableVal): Promise { + await GM.setValue(name, value as GM.Value); + } + + /** Deletes a value from persistent storage */ + public async deleteValue(name: string): Promise { + await GM.deleteValue(name); + } +} diff --git a/src/utils.ts b/src/utils/dom.ts similarity index 51% rename from src/utils.ts rename to src/utils/dom.ts index 4f27194..085d461 100644 --- a/src/utils.ts +++ b/src/utils/dom.ts @@ -1,60 +1,5 @@ -import { addGlobalStyle, openInNewTab, randomId, type LooseUnion } from "@sv443-network/userutils"; -import type resources from "../assets/resources.json"; - -//#region resources - -/** Key of a resource in `assets/resources.json` and extra keys defined by `tools/post-build.ts` */ -export type ResourceKey = keyof typeof resources; - -/** - * Returns the URL of a resource by its name, as defined in `assets/resources.json`, from GM resource cache - [see GM.getResourceUrl docs](https://wiki.greasespot.net/GM.getResourceUrl) - * Falls back to a `raw.githubusercontent.com` URL or base64-encoded data URI if the resource is not available in the GM resource cache. - * ⚠️ Requires the directive `@grant GM.getResourceUrl` - */ -export async function getResourceUrl(name: LooseUnion) { - let url = await GM.getResourceUrl(name); - if(!url || url.length === 0) { - console.warn(`Couldn't get blob URL nor external URL for @resource '${name}', trying to use base64-encoded fallback`); - // @ts-ignore - url = await GM.getResourceUrl(name, false); - } - return url; -} - -//#region requests / urls - -/** - * Sends a request with the specified parameters and returns the response as a Promise. - * Ignores the CORS policy, contrary to fetch and fetchAdvanced. - * ⚠️ Requires the directive `@grant GM.xmlhttpRequest` - */ -export function sendRequest(details: GM.Request) { - return new Promise>((resolve, reject) => { - GM.xmlHttpRequest({ - timeout: 10_000, - ...details, - onload: resolve, - onerror: reject, - ontimeout: reject, - onabort: reject, - }); - }); -} - -/** - * Opens the given URL in a new tab, using GM.openInTab if available - * ⚠️ Requires the directive `@grant GM.openInTab` - */ -export function openInTab(href: string, background = true) { - try { - openInNewTab(href, background); - } - catch(err) { - window.open(href, "_blank", "noopener noreferrer"); - } -} - -//#region DOM utils +import { randomId } from "@sv443-network/coreutils"; +import { addGlobalStyle } from "@sv443-network/userutils"; export let domLoaded = document.readyState === "complete" || document.readyState === "interactive"; document.addEventListener("DOMContentLoaded", () => domLoaded = true); @@ -102,3 +47,16 @@ export function addStyle(css: string, ref?: string) { elem.id = `global-style-${ref ?? randomId(5, 36)}`; return elem; } + +/** Creates an invisible link element and clicks it to download the provided string or Blob data as a file. */ +export function downloadFile(fileName: string, data: string | Blob, mimeType = "text/plain") { + const blob = data instanceof Blob ? data : new Blob([data], { type: mimeType }); + const a = document.createElement("a"); + a.classList.add("bytm-hidden"); + a.href = URL.createObjectURL(blob); + a.download = fileName; + document.body.appendChild(a); + a.click(); + + setTimeout(() => a.remove(), 1); +} diff --git a/src/utils/net.ts b/src/utils/net.ts new file mode 100644 index 0000000..c746502 --- /dev/null +++ b/src/utils/net.ts @@ -0,0 +1,33 @@ +import { openInNewTab } from "@sv443-network/userutils"; + +/** + * Sends a request with the specified parameters and returns the response as a Promise. + * Ignores the CORS policy, contrary to `fetch` and CoreUtils' `fetchAdvanced`. + * ⚠️ Requires the directive `@grant GM.xmlhttpRequest` + * ⚠️ To fetch sites on other domains, they need to be allowlisted via `@connect` directives + */ +export function sendRequest(details: GM.Request) { + return new Promise>((resolve, reject) => { + GM.xmlHttpRequest({ + timeout: 10_000, + ...details, + onload: resolve, + onerror: reject, + ontimeout: reject, + onabort: reject, + }); + }); +} + +/** + * Opens the given URL in a new tab, using GM.openInTab if available + * ⚠️ Requires the directive `@grant GM.openInTab` + */ +export function openInTab(href: string, background = true) { + try { + openInNewTab(href, background); + } + catch(err) { + window.open(href, "_blank", "noopener noreferrer"); + } +} diff --git a/src/utils/resources.ts b/src/utils/resources.ts new file mode 100644 index 0000000..c5f7158 --- /dev/null +++ b/src/utils/resources.ts @@ -0,0 +1,20 @@ +import type { LooseUnion } from "@sv443-network/coreutils"; +import type resources from "@assets/resources.json"; + +/** Key of a resource in `assets/resources.json` and extra keys defined by `tools/post-build.ts` */ +export type ResourceKey = keyof typeof resources; + +/** + * Returns the URL of a resource by its name, as defined in `assets/resources.json`, from GM resource cache - [see GM.getResourceUrl docs](https://wiki.greasespot.net/GM.getResourceUrl) + * Falls back to a `raw.githubusercontent.com` URL or base64-encoded data URI if the resource is not available in the GM resource cache. + * ⚠️ Requires the directive `@grant GM.getResourceUrl` + */ +export async function getResourceUrl(name: LooseUnion) { + let url = await GM.getResourceUrl(name); + if(!url || url.length === 0) { + console.warn(`Couldn't get blob URL nor external URL for @resource '${name}', trying to use base64-encoded fallback`); + // @ts-ignore + url = await GM.getResourceUrl(name, false); + } + return url; +} diff --git a/src/utils/serializer.ts b/src/utils/serializer.ts new file mode 100644 index 0000000..b2cebd8 --- /dev/null +++ b/src/utils/serializer.ts @@ -0,0 +1,42 @@ +import { ChecksumMismatchError, DataStoreSerializer } from "@sv443-network/coreutils"; +import { configStore } from "@/config.js"; +import { downloadFile } from "@utils/dom.js"; +import { t } from "@utils/translations.js"; +import packageJson from "@root/package.json" with { type: "json" }; + +/** + * Serializer for all DataStores used in the userscript. + * This makes it easy to run bulk operations like load, import, export and delete on all or specific stores. + */ +export const serializer = new DataStoreSerializer([ + configStore, +]); + +/** Imports data from a file into all matching data stores. */ +export async function importData(blob: File | Blob) { + try { + const data = await blob.text(); + await serializer.deserialize(data); + + if(confirm(t("serializer.import.success_reload_prompt"))) + location.reload(); + } + catch(err) { + console.error("Error while importing serialized DataStores:", err); + + if(err instanceof TypeError) + alert(t("serializer.import.error_no_data")); + else if(err instanceof ChecksumMismatchError) + alert(t("serializer.import.error_checksum_mismatch")); + else + alert(t("serializer.import.error_invalid")); + } +} + +/** Downloads all data stores as a single file. */ +export async function downloadData(useEncoding = true) { + const fileName = t("serializer.export.file_name", { version: packageJson.version, date: new Date().toISOString() }); + const data = JSON.stringify(JSON.parse(await serializer.serialize(useEncoding)), undefined, 2); + + downloadFile(fileName, data, "application/json"); +} diff --git a/src/utils/translations.ts b/src/utils/translations.ts new file mode 100644 index 0000000..c18b0f9 --- /dev/null +++ b/src/utils/translations.ts @@ -0,0 +1,45 @@ +import type { LooseUnion, Stringifiable } from "@sv443-network/coreutils"; +import { tr, type TrKeys } from "@sv443-network/userutils"; +import type tr_enUS from "@assets/translations/en-US.json"; + +// This file includes translation boilerplate powered by UserUtils. +// I highly recommend checking out the documentation: +// https://github.com/Sv443-Network/UserUtils/blob/main/docs.md#translation + +/** Supported language codes. Should match the [IETF / BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format. */ +type LangCode = "en-US"; +//| "en-GB" +//| "de-DE"; + +type TrKey = TrKeys; + +// Add useful transforms: +// Percent, e.g. "Hello %1, you have %2 new messages." +tr.addTransform(tr.transforms.percent); +// Template literal, e.g. "Hello ${name}, you have ${count} new messages." +tr.addTransform(tr.transforms.templateLiteral); +// Sky's the limit! To create your own transforms, check out the docs: +// https://github.com/Sv443-Network/UserUtils/blob/main/docs.md#traddtransform + +// If a key isn't found in the current language, fall back to US-English: +tr.setFallbackLanguage("en-US"); + +let lang: LangCode = "en-US"; + +/** + * Returns the translated text for the specified key in the currently set language after applying all matching transforms, including argument insertion. + * If the key is not found in the specified previously registered translation or the fallback translation, the key itself is returned. + */ +export function t(key: LooseUnion, ...args: (Stringifiable | Record)[]) { + return tr.for(lang, key, ...args); +} + +/** Sets the current language */ +export function setLanguage(newLang: LangCode) { + lang = newLang; +} + +/** Returns the currently set language */ +export function getLanguage() { + return lang; +} diff --git a/tsconfig.json b/tsconfig.json index 26cd749..c66ce34 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,34 +1,47 @@ { "compilerOptions": { "module": "ESNext", - "moduleResolution": "node", - "target": "ES2016", + "moduleResolution": "bundler", + "target": "ES2019", "outDir": "dist/out", "lib": [ - "ES5", - "ES6", + "ES2015", + "ES2016", + "ES2017", + "ES2018", + "ES2019", "DOM", "DOM.Iterable" ], + "skipLibCheck": true, + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, "allowJs": true, "allowSyntheticDefaultImports": true, - "baseUrl": ".", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "isolatedModules": true, + "importHelpers": true, "resolveJsonModule": true, - "rootDir": ".", - "skipLibCheck": true, "sourceMap": true, - "strict": true, - "useDefineForClassFields": true, - "noImplicitThis": false, - }, - "ts-node": { - "esm": true, - "preferTsExts": true, + "paths": { + "@assets/*": ["./assets/*"], + "@utils/*": ["./src/utils/*"], + "@root/*": ["./*"], + "@/*": ["./src/*"], + }, }, + "include": [ + "src/**/*", + "node_modules/vite-userscript-plugin/types/violentmonkey.d.ts", + ], "exclude": [ + "node_modules/**/*", "**/*.js", "dist/**", ], diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..5976cf9 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,226 @@ +import "dotenv/config"; +import { execSync } from "child_process"; +import { createHash } from "node:crypto"; +import { createReadStream } from "node:fs"; +import { resolve } from "node:path"; +import { defineConfig, normalizePath, Plugin } from "vite"; +import tsConfigPathsPlugin from "vite-tsconfig-paths"; +import monkeyPlugin from "vite-plugin-monkey"; +import packageJson from "./package.json" with { type: "json" }; +import resourcesJson from "./assets/resources.json" with { type: "json" }; + +//#region variables + +const { author, homepage, namespace, repository, userscriptName, version } = packageJson; +const { argv, env, cwd } = process; + +/** + * Default port of the dev server. + * First tries to use the port specified by the "--port" argument, then the "DEV_SERVER_PORT" environment variable, and finally falls back to this value. + */ +const defaultPort = 8767; + +/** + * Repo is first extracted from the "repository.url" field in package.json, if that fails, it falls back to the "repository.identifier" field. + * The expected format is "User_or_Org/Repo". + */ +const repo = repository.url.match(/github.com\/(.+?\/.+?)\//)?.[1] ?? packageJson.repository?.identifier; + +const cliPortRaw = Number(argv.find(arg => arg.startsWith("--port="))?.split("=")[1]); +const envPortRaw = Number(env.DEV_SERVER_PORT); + +const cliBranchRaw = argv.find(arg => arg.startsWith("--branch="))?.split("=")[1]; +const envBranchRaw = env.BUILD_BRANCH; +const branch = cliBranchRaw ?? envBranchRaw ?? "main"; + +const cliHostRaw = argv.find(arg => arg.startsWith("--host="))?.split("=")[1]; +const envHostRaw = env.BUILD_HOST; +const host = cliHostRaw ?? envHostRaw ?? "github"; + +/** HTTP port of the dev server */ +const devServerPort = !isNaN(cliPortRaw) + ? cliPortRaw + : ( + !isNaN(envPortRaw) + ? envPortRaw + : defaultPort + ); + +//#region vite config + +export default defineConfig(async ({ mode }) => { + const buildNbr = getCommitSha(); + + const resources = await getResources(mode, buildNbr); + const resource = async (path: string) => await resolveResourceUrl(mode, path, buildNbr); + + return { + build: { + minify: false, + }, + plugins: [ + tsConfigPathsPlugin({ + root: import.meta.dirname, + }), + replaceStringsPlugin({ + "#{{BUILD_MODE}}": mode, + "#{{BUILD_NUMBER}}": buildNbr, + "#{{BUILD_BRANCH}}": branch, + "#{{BUILD_HOST}}": host, + }), + monkeyPlugin({ + entry: normalizePath(`${cwd()}/src/index.ts`), // see https://github.com/lisonge/vite-plugin-monkey/issues/186#issuecomment-2353496972 + userscript: { + name: userscriptName, + namespace, + version, + "run-at": "document-start", + author: author.name, + connect: [ + // for fetching resources from GitHub: + "github.com", + "raw.githubusercontent.com", + // add anything else that you may want to fetch with GM.xmlHttpRequest + ], + copyright: `Copyright ${new Date().getFullYear()} ${author.name}`, + description: packageJson.description, + homepageURL: homepage, + supportURL: packageJson.bugs.url, + grant: [ + // these are commonly used and may be required by parts of the UserUtils library - add or remove as needed: + "GM.setValue", + "GM.getValue", + "GM.deleteValue", + "GM.openInTab", + "GM.xmlHttpRequest", + "GM.getResourceUrl", + // "GM.registerMenuCommand", + // "unsafeWindow", + ], + // don't run in iframes: + noframes: true, + match: [ + // add your target sites here: + "https://example.com/*", + ], + icon: await resource("icon_128x128.png"), + resource: { + icon_500: await resource("icon_500x500.png"), + icon_128: await resource("icon_128x128.png"), + icon_64: await resource("icon_64x64.png"), + ...resources, + }, + }, + }), + ], + }; +}); + +//#region utilities + +/** Replaces strings in the bundle with other strings. */ +function replaceStringsPlugin(options: Record): Plugin { + return { + name: "vite-plugin-custom-replace-strings", + transform(code, _id) { + for(const [searchValue, replaceValue] of Object.entries(options)) { + const regex = new RegExp(searchValue, "gm"); + code = code.replace(regex, replaceValue); + } + return { code }; + }, + }; +} + +/** + * Returns the commit sha of the latest commit for use as a build number. + * + * ⚠️ Important: This will always trail behind the current commit by one, as the act of committing this number will also change it. + * If your script depends on this number (for example for versioned GitHub asset URLs), you should always commit your build separately and last. + */ +function getCommitSha(): string { + try { + return execSync("git rev-parse --short HEAD").toString().trim(); + } + catch { + console.error("\x1b[31mFailed to get the commit SHA. Is Git installed?\x1b[0m\nFalling back to 'BUILD_ERROR'."); + return "BUILD_ERROR"; + } +} + +/** + * Parses the file at `assets/resources.json` and returns a record of all resources with their URLs. + * If the `integrity` property is set to true, the hash of the file will be calculated and appended to the URL for [Subresource Integrity.](https://www.tampermonkey.net/documentation.php?locale=en#api:Subresource_Integrity) + */ +async function getResources(mode: string, buildNbrOrBranch: string): Promise> { + const resources: Record = {}; + for(const [name, resource] of Object.entries(resourcesJson)) { + const path = typeof resource === "string" ? resource : resource.path; + const integrity = typeof resource === "string" || typeof resource === "object" && (!("integrity" in resource) || resource.integrity === true); + resources[name] = await resolveResourceUrl(mode, path, buildNbrOrBranch, integrity); + } + return resources; +} + +/** + * Calculates the SHA-256 hash of the file at the given path (or http(s) URL). + * Uses {@linkcode resolveResourcePath()} to resolve the path, meaning paths prefixed with a slash are relative to the repository root, otherwise they are relative to the `assets` directory. + */ +function calculateHash(path: string) { + if(path.startsWith("http")) + return new Promise(async (res, rej) => { + try { + const data = await (await fetch(path)).text(); + + const hash = createHash("sha256"); + hash.update(data); + hash.addListener("error", rej); + + return res(hash.digest("base64")); + } + catch(err) { + console.error(`Failed to fetch from the URL '${path}'. Falling back to 'HASH_ERROR'.`, err); + return res("HASH_ERROR"); + } + }); + else + return new Promise((res, rej) => { + const hash = createHash("sha256"); + const stream = createReadStream(resolve(resolveResourcePath(path))); + stream.on("data", data => hash.update(data)); + stream.on("end", () => res(hash.digest("base64"))); + stream.on("error", rej); + }); +} + +/** + * Returns the URL to a resource. + * In `development` mode, the resource is served by the dev server. + * In `production` mode, the resource is fetched using the given commit SHA or branch name (`main` by default). + * @param mode `development` or `production`, defaults to `development` + * @param path The path to the resource - if prefixed with a slash, it is relative to the repository root, otherwise it is relative to the `assets` directory. + * @param buildNbrOrBranch The build number or branch name to use in the URL, defaults to `main` - this is very useful for versioned asset URLs, which will never break by changes made to the `main` branch. + * @param calcIntegrity Whether to append the hash of the file to the URL for [Subresource Integrity.](https://www.tampermonkey.net/documentation.php?locale=en#api:Subresource_Integrity) + */ +async function resolveResourceUrl(mode: string, path: string, buildNbrOrBranch: string = "main", calcIntegrity = true): Promise { + const hashStr = calcIntegrity ? `#sha256=${await calculateHash(path)}` : ""; + + if(path.startsWith("http")) + return `${path}${hashStr}`; + + path = resolveResourcePath(path); + + return mode === "development" + ? `http://localhost:${devServerPort}/${path}` + : `https://raw.githubusercontent.com/${repo}/${buildNbrOrBranch}/${path}${hashStr}`; +} + +/** + * Resolves the path to a resource. + * If prefixed with a slash, the path is relative to the repository root, otherwise it is relative to the `assets` directory. + */ +function resolveResourcePath(path: string): string { + if(path.startsWith("/")) + return path.slice(1); + return `assets/${path}`; +}