From ef0c6e9c994a9d2f76e75e5c3f62d9caa6896f0a Mon Sep 17 00:00:00 2001 From: Igor Barcik Date: Mon, 4 Mar 2024 14:57:00 +0100 Subject: [PATCH] Simplify entire template --- .eslintrc.cjs | 13 - .eslintrc.cjs.bak.old | 13 - .prettierrc.json | 14 +- .vscode/settings.json | 5 + bun.lockb | Bin 127368 -> 271496 bytes client/package.json | 47 +- client/postcss.config.js | 8 + client/src/App.tsx | 34 +- client/tailwind.config.ts | 4 + client/tsconfig.json | 48 +- client/tsconfig.node.json | 9 +- client/vite.config.ts | 22 +- eslint.config.js | 6 +- package-lock.json | 7100 ------------------------------------- package.json | 42 +- server/api.ts | 17 +- server/auth.ts | 24 - server/index.ts | 22 +- server/package.json | 16 +- server/tsconfig.json | 6 - shared/LauncherEntry.ts | 12 +- shared/package.json | 2 +- shared/tsconfig.json | 101 - tsconfig-base.json | 101 - tsconfig.json | 53 +- 25 files changed, 242 insertions(+), 7477 deletions(-) delete mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.cjs.bak.old create mode 100644 .vscode/settings.json create mode 100644 client/postcss.config.js create mode 100644 client/tailwind.config.ts delete mode 100644 package-lock.json delete mode 100644 server/auth.ts delete mode 100644 server/tsconfig.json delete mode 100644 shared/tsconfig.json delete mode 100644 tsconfig-base.json diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 8aa16c0..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - env: { browser: true, es2020: true }, - plugins: ["prettier"], - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/stylistic-type-checked", - "prettier", - ], - rules: { "prettier/prettier": "error" }, - ignorePatterns: ["dist", ".eslintrc.cjs"], - parser: "@typescript-eslint/parser", -}; diff --git a/.eslintrc.cjs.bak.old b/.eslintrc.cjs.bak.old deleted file mode 100644 index 8aa16c0..0000000 --- a/.eslintrc.cjs.bak.old +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - env: { browser: true, es2020: true }, - plugins: ["prettier"], - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/stylistic-type-checked", - "prettier", - ], - rules: { "prettier/prettier": "error" }, - ignorePatterns: ["dist", ".eslintrc.cjs"], - parser: "@typescript-eslint/parser", -}; diff --git a/.prettierrc.json b/.prettierrc.json index c98a991..792e06d 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,22 +1,22 @@ { "arrowParens": "always", "bracketSameLine": false, - "endOfLine": "lf", - "printWidth": 130, - "semi": true, - "singleQuote": false, - "tabWidth": 4, - "trailingComma": "all", "bracketSpacing": true, "embeddedLanguageFormatting": "auto", + "endOfLine": "lf", "experimentalTernaries": false, "htmlWhitespaceSensitivity": "css", "insertPragma": false, "jsxSingleQuote": true, + "printWidth": 130, "proseWrap": "preserve", "quoteProps": "as-needed", "requirePragma": false, + "semi": true, "singleAttributePerLine": false, + "singleQuote": false, + "tabWidth": 4, + "trailingComma": "all", "useTabs": false, "vueIndentScriptAndStyle": false -} +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5cdc350 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib", + "liveServer.settings.multiRootWorkspaceName": "adientlab-launcher", + "cmake.configureOnOpen": false +} \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 0dca7d522bb41dc689411fced89fe73a342473d4..530e11159ac98f5825290bb093e63f51846375ed 100755 GIT binary patch literal 271496 zcmeFa1z1(x6YzULP(Y9nOcVi848U%rBm@+s#6pQfC?$s$6%`e`FtD%#Y(-4$0J{S_ z5fD2tzZv!#Ir>-F8@_v=d!OfBubVk*t@+K&%DwhJ_^PjK5+#W+@d*kw5r;-M@repm zg3Bm4%y)!;P_Wp@KP)1|JJKk+jgqWLB+@#5?1=S4nS~E$AKJNTSjV3OcQ%@;VW>Qy z(RGPO$joPlKI_YYmPnM2%8(Q|@k=JM{P94kRSp2_O+Tt1xTGa--mg2mCHXfK1+ zCo?%0WPPaj6N|%*f+Qku;8Y>+2~rVcW(_W1ADV=IYJ$YL9id(sWOI-PAcsqg;=DtG zMcxqs;ocDvaeXL9y&#EEKya9k$N^yFYe9KUEDs0`ix7)M@{mVAsN@|i5k)~I=D$?q z^!$TD{fwf*MP0xdaz;#s<4}1=LeRlMAwiKMBj_BgF8~hPn+_>lZN#scI6CsY01o_8_y2E6`_9}xiw$BqJ z#`g`%QQs4|#vn~WHUv2rerSVi4|$A3pV>`>LbMYJ673i_;-oG}Tn7h0Vt*=uKF;4F zSXgLx4oJ*<>WD<}Cs7-I)C1W8WK)pAO*lId5HtFdh(n^qkg?F^?8SKp2M0+aMSsqJ zoIgHsFn@x*CD{KV;)nooJCP_}kK^?9IeS4MF)p77Z(lL=;{#US44mUQ#DbKb-+n<6 zr3<930aqRd_HcZ@L1Q4)#F5Y*lyS|tcI1P^_Fo4HQzvmSNa%{hNJ%V2B@+2d#L?o= zNXgIUTstQia{Vrr_(TN-`-!f%_Qm01f^-YU0{vY8sRYt5$lo8!k3b rh*6in3V!dXP9D7cx1S$rvUF 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 GGyf0#0&y$= delta 26496 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[]); + useEffect(() => { + launcherRepo.find().then(setApps); + }, []); return ( <> -
Message
-
Apps
+ {apps.map((app) => ( +
+
+

{app.name}

+

{app.description}

+ {app.name} +
+
+ ))} ); } diff --git a/client/tailwind.config.ts b/client/tailwind.config.ts new file mode 100644 index 0000000..5153a2e --- /dev/null +++ b/client/tailwind.config.ts @@ -0,0 +1,4 @@ +export default { + content: ["./src/**/*.{js,ts,jsx,tsx}"], + plugins: [require("daisyui")], +}; diff --git a/client/tsconfig.json b/client/tsconfig.json index e0dbf93..22c545f 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -1,15 +1,39 @@ { - // What should be compiled - "include": [ - "src/**/*", - ], - // Single files that should be compiled - "files": [ - "vite.config.ts", - ], "compilerOptions": { - "target": "ESNext", + // Specifying ECMAScript targets for the compiler + "target": "ESNext", + "module": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + // Enabling options for better interoperability and module handling + "moduleResolution": "Bundler", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + // Configuring behavior for JSX, specific to React + "jsx": "react-jsx", // Transform JSX for React 17+ JSX Transform + // Strengthening type-checking and ensuring consistency + "strict": true, // Enable all strict type-checking options + "strictNullChecks": true, // Enable strict null checks + "noUnusedLocals": true, // Disallow unused local variables + "noUnusedParameters": true, // Disallow unused function parameters + "noFallthroughCasesInSwitch": true, // Prevent fallthrough cases in switch statements + "forceConsistentCasingInFileNames": true, // Ensure consistent file naming + // Improving project robustness + "isolatedModules": true, // Ensure correct transpiling of files + "noErrorTruncation": true, // Show full type error messages + "useDefineForClassFields": true, // Align class field behavior with the standard + // Configuring project build process + "allowJs": true, // Allow JavaScript files to be imported + "skipLibCheck": true, // Skip type checking of declaration files + "noEmit": true, // Vite handles the emitting of files + "paths": { + "@root/*": ["./*"], + "@/*": ["./src/*"] + } // Allow absolute imports from src. Create a path alias for the root directory - @root }, - // Extend the base configuration - "extends": "../tsconfig-base.json", -} \ No newline at end of file + // Specifying folders and files to include in compilation + "include": ["src/**/*", "server/index.ts", "server/services"], + // Excluding certain directories from the compilation + "exclude": ["node_modules"] +} diff --git a/client/tsconfig.node.json b/client/tsconfig.node.json index 6675f46..1cbc80a 100644 --- a/client/tsconfig.node.json +++ b/client/tsconfig.node.json @@ -7,5 +7,10 @@ "allowSyntheticDefaultImports": true, "strict": true }, - "include": ["vite.config.ts"] -} + "include": [ + "vite.config.ts", + ], + "ts-node": { + "esm": true + } +} \ No newline at end of file diff --git a/client/vite.config.ts b/client/vite.config.ts index 6345d48..d60e3b7 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -1,9 +1,19 @@ import react from "@vitejs/plugin-react"; -import { defineConfig } from "vite"; +import { defineConfig, loadEnv } from "vite"; +import path from "path"; // https://vitejs.dev/config/ -/** @type {import('vite').UserConfig} */ -export default defineConfig({ - server: { proxy: { "/api": "http://localhost:3000" } }, - plugins: [react()], -}); + +export default ({ mode }) => { + process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; + return defineConfig({ + resolve: { + alias: { + "@root": path.resolve(__dirname, "./"), + "@": path.resolve(__dirname, "./src"), + }, + }, + plugins: [react()], + server: { proxy: { "/api": "http://localhost:3000" } }, + }); +}; diff --git a/eslint.config.js b/eslint.config.js index 94cfd83..f11c6f7 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -4,14 +4,14 @@ import tseslint from "typescript-eslint"; /** @type {import('eslint').Linter.FlatConfig[]} */ export default [ eslintPluginJs.configs.recommended, - ...tseslint.configs.recommendedTypeChecked, - ...tseslint.configs.stylisticTypeChecked, + ...tseslint.configs.recommended, + ...tseslint.configs.stylistic, eslintPluginPrettierRecommended, { ignores: ["node_modules/", "dist/", "build/", "coverage/", "public/", "**/eslint.config.js"], languageOptions: { parserOptions: { - project: ["./shared/tsconfig.json", "./server/tsconfig.json", "./client/tsconfig.json"], + project: ["tsconfig.json", "./client/tsconfig.json"], tsconfigRootDir: "./", }, }, diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 943cf2e..0000000 --- a/package-lock.json +++ /dev/null @@ -1,7100 +0,0 @@ -{ - "name": "nodejs-sandbox", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "nodejs-sandbox", - "version": "1.0.0", - "license": "MIT", - "workspaces": [ - "client", - "server", - "shared" - ], - "dependencies": { - "remult": "^0.24.1" - }, - "devDependencies": { - "eslint": "^8.57.0", - "prettier": "^3.2.5", - "tsx": "4.7.0", - "typescript": "^5.3.3", - "typescript-eslint": "^7.1.0" - } - }, - "client": { - "version": "0.0.0", - "dependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "devDependencies": { - "@types/react": "^18.2.56", - "@types/react-dom": "^18.2.19", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", - "@vitejs/plugin-react": "^4.2.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.5", - "vite": "^5.1.4" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/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/@babel/core/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/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/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/@babel/traverse/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/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.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/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/@eslint/eslintrc/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/@eslint/eslintrc/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/@eslint/eslintrc/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/@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/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "optional": true - }, - "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/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/@humanwhocodes/config-array/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/@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.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", - "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "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.23", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", - "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "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/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "optional": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "optional": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@paralleldrive/cuid2": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz", - "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==", - "dependencies": { - "@noble/hashes": "^1.1.5" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", - "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", - "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", - "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", - "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", - "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", - "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", - "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", - "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", - "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", - "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", - "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", - "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", - "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "optional": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/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/cookie-session": { - "version": "2.0.48", - "resolved": "https://registry.npmjs.org/@types/cookie-session/-/cookie-session-2.0.48.tgz", - "integrity": "sha512-SeMTGlGVvPPcFGyAqT1kYY8FnkcZvmsURkz5DndHophxv/g3Y1nXQC556/HUDJHr6klPX1mEMP2ppQSBDfRPUA==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/keygrip": "*" - } - }, - "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.17.41", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", - "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "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/keygrip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz", - "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==", - "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.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", - "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", - "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/react": { - "version": "18.2.59", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.59.tgz", - "integrity": "sha512-DE+F6BYEC8VtajY85Qr7mmhTd/79rJKIHCg99MU9SWPB4xvLb6D1za2vYflgZfmPqQVEr6UqJTnLXEwzpVPuOg==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.19", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.19.tgz", - "integrity": "sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "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.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/swagger-ui-express": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/swagger-ui-express/-/swagger-ui-express-4.1.6.tgz", - "integrity": "sha512-UVSiGYXa5IzdJJG3hrc86e8KdZWLYxyEsVoUI4iPXc7CO4VZ3AfNP8d/8+hrDRIqz+HAaSMtZSqAsF3Nq2X/Dg==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz", - "integrity": "sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/type-utils": "7.1.0", - "@typescript-eslint/utils": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.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/eslint-plugin/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/@typescript-eslint/eslint-plugin/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/@typescript-eslint/parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz", - "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/typescript-estree": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/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/@typescript-eslint/parser/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/@typescript-eslint/scope-manager": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz", - "integrity": "sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz", - "integrity": "sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.1.0", - "@typescript-eslint/utils": "7.1.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/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/@typescript-eslint/type-utils/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/@typescript-eslint/types": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz", - "integrity": "sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz", - "integrity": "sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/utils": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz", - "integrity": "sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/typescript-estree": "7.1.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz", - "integrity": "sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.1.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.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/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "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==", - "optional": 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==", - "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/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "optional": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/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==", - "optional": true - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "optional": true, - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "optional": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "devOptional": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "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.1", - "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==", - "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==" - }, - "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==", - "devOptional": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "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/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "optional": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001591", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz", - "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/client": { - "resolved": "client", - "link": true - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true - }, - "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==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-session": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0.tgz", - "integrity": "sha512-hKvgoThbw00zQOleSlUr2qpvuNweoqBtxrmx0UFosx6AGi9lYtLoA+RbsvknrEX8Pr6MDbdWAb2j6SnMn+lPsg==", - "dependencies": { - "cookies": "0.8.0", - "debug": "3.2.7", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/cookies": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", - "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", - "dependencies": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "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/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "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==", - "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==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "engines": { - "node": ">=8" - } - }, - "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/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==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.682", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.682.tgz", - "integrity": "sha512-oCglfs8yYKs9RQjJFOHonSnhikPK3y+0SvSYc/YpYJV//6rqc0/hbwd0c7vgK4vrl6y2gJAwjkhkSGWK+z4KRA==", - "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==", - "optional": 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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "optional": true - }, - "node_modules/es-abstract": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.4.tgz", - "integrity": "sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.7", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.1", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.0", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.1", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", - "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", - "dev": true, - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.4", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "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==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/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-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.5.tgz", - "integrity": "sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "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/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/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/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/eslint/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/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/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/eslint/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/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/eslint/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/eslint/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/eslint/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/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" - } - }, - "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/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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.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==", - "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==" - }, - "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-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "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/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "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==", - "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==", - "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==" - }, - "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/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "devOptional": 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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "optional": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/getopts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", - "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "devOptional": 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/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "optional": true - }, - "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-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "optional": true - }, - "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==", - "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/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "optional": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/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==", - "optional": true - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "optional": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/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==", - "optional": true - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "optional": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/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/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/import-fresh/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/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "devOptional": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "optional": true - }, - "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==", - "devOptional": 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==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "optional": 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==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "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-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "optional": true - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "devOptional": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "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/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-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/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", - "dependencies": { - "tsscmp": "1.0.6" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/knex": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/knex/-/knex-3.1.0.tgz", - "integrity": "sha512-GLoII6hR0c4ti243gMs5/1Rb3B+AjwMOfjYm97pu0FOQa7JH56hgBxYf5WK2525ceSbBY1cjeZ9yk99GPMB6Kw==", - "dependencies": { - "colorette": "2.0.19", - "commander": "^10.0.0", - "debug": "4.3.4", - "escalade": "^3.1.1", - "esm": "^3.2.25", - "get-package-type": "^0.1.0", - "getopts": "2.3.0", - "interpret": "^2.2.0", - "lodash": "^4.17.21", - "pg-connection-string": "2.6.2", - "rechoir": "^0.8.0", - "resolve-from": "^5.0.0", - "tarn": "^3.0.2", - "tildify": "2.0.0" - }, - "bin": { - "knex": "bin/cli.js" - }, - "engines": { - "node": ">=16" - }, - "peerDependenciesMeta": { - "better-sqlite3": { - "optional": true - }, - "mysql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "tedious": { - "optional": true - } - } - }, - "node_modules/knex/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/knex/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==" - }, - "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==" - }, - "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/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "optional": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "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==", - "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==" - }, - "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==", - "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==", - "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==", - "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==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "devOptional": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "optional": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "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==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-abi": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", - "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", - "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==" - }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "optional": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "optional": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "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==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "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==", - "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/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "optional": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "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==", - "devOptional": 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==" - }, - "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==" - }, - "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/pg-connection-string": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", - "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "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/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "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/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "optional": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "optional": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "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==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "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==", - "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/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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "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/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/reflect-metadata": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", - "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", - "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.0.0", - "get-intrinsic": "^1.2.3", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/remult": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/remult/-/remult-0.24.1.tgz", - "integrity": "sha512-SajaCQ+rEbKJR7tXDWU3UiyKCkRcuC+Ht2hcGhD/r7Posu5qFK19RsgtNHzActH03Zg+fBYP/fff8+XmmfNVnQ==", - "dependencies": { - "@paralleldrive/cuid2": "^2.2.1", - "reflect-metadata": "^0.1.13", - "tslib": "^2.3.1", - "uuid": "^8.3.2" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "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": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "optional": 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==", - "devOptional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", - "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.2", - "@rollup/rollup-android-arm64": "4.9.2", - "@rollup/rollup-darwin-arm64": "4.9.2", - "@rollup/rollup-darwin-x64": "4.9.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", - "@rollup/rollup-linux-arm64-gnu": "4.9.2", - "@rollup/rollup-linux-arm64-musl": "4.9.2", - "@rollup/rollup-linux-riscv64-gnu": "4.9.2", - "@rollup/rollup-linux-x64-gnu": "4.9.2", - "@rollup/rollup-linux-x64-musl": "4.9.2", - "@rollup/rollup-win32-arm64-msvc": "4.9.2", - "@rollup/rollup-win32-ia32-msvc": "4.9.2", - "@rollup/rollup-win32-x64-msvc": "4.9.2", - "fsevents": "~2.3.2" - } - }, - "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/safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "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==", - "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==", - "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==" - }, - "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==", - "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/server": { - "resolved": "server", - "link": true - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "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==" - }, - "node_modules/shared": { - "resolved": "shared", - "link": 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/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "optional": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "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/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "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": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "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/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "optional": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "optional": true, - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "optional": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "optional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/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==", - "optional": true - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sqlite3": { - "version": "5.1.7-rc.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7-rc.0.tgz", - "integrity": "sha512-LBbru2WM4I259E+1pernw/vYKMjQa5elvxJPC15/7TgWYAaOBXuTnamyXdWJh7EH0qmhQrPmYEI9PbCMdoAW9Q==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^7.0.0", - "prebuild-install": "^7.1.1", - "tar": "^6.1.11" - }, - "optionalDependencies": { - "node-gyp": "8.x" - }, - "peerDependencies": { - "node-gyp": "8.x" - }, - "peerDependenciesMeta": { - "node-gyp": { - "optional": true - } - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "optional": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "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==", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "devOptional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "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/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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swagger-ui-dist": { - "version": "5.10.5", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.10.5.tgz", - "integrity": "sha512-Uv8E7hV/nXALQKgW86X1i58gl1O6DFg+Uq54sDwhYqucBBxj/47dLNw872TNILNlOTuPA6dRvUMGQdmlpaX8qQ==" - }, - "node_modules/swagger-ui-express": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-5.0.0.tgz", - "integrity": "sha512-tsU9tODVvhyfkNSvf03E6FAk+z+5cU3lXAzMy6Pv4av2Gt2xA0++fogwC4qo19XuFf6hdxevPuVCSKFuMHJhFA==", - "dependencies": { - "swagger-ui-dist": ">=5.0.0" - }, - "engines": { - "node": ">= v0.10.32" - }, - "peerDependencies": { - "express": ">=4.0.0 || >=5.0.0-beta" - } - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tarn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", - "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "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/tildify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", - "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "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==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ts-api-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", - "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", - "engines": { - "node": ">=0.6.x" - } - }, - "node_modules/tsx": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", - "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", - "dev": true, - "dependencies": { - "esbuild": "~0.19.10", - "get-tsconfig": "^4.7.2" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "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==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", - "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.1.0.tgz", - "integrity": "sha512-GfAALH4zoqae5mIfHr7WU3BsULHP73hjwF8vCmyTkH3IXHXjqg3JNWwUcd8CwOTLIr4tjRTZQWpToyESPnpOhg==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "7.1.0", - "@typescript-eslint/parser": "7.1.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "optional": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "optional": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "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==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", - "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", - "dev": true, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "devOptional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "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==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "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" - } - }, - "server": { - "version": "0.0.0", - "dependencies": { - "cookie-session": "^2.0.0", - "express": "^4.18.2", - "knex": "^3.1.0", - "sqlite3": "^5.1.7-rc.0", - "swagger-ui-express": "^5.0.0" - }, - "devDependencies": { - "@types/cookie-session": "^2.0.48", - "@types/express": "^4.17.21", - "@types/swagger-ui-express": "^4.1.6", - "@typescript-eslint/eslint-plugin": "^7.1.0", - "@typescript-eslint/parser": "^7.1.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3" - } - }, - "shared": { - "version": "0.0.0" - } - } -} diff --git a/package.json b/package.json index 2091af9..e3bb32b 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,32 @@ { - "name": "nodejs-sandbox", - "version": "1.0.0", + "dependencies": { + "remult": "^0.25.5" + }, "description": "", + "devDependencies": { + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "autoprefixer": "^10.4.17", + "daisyui": "latest", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "postcss": "^8.4.35", + "prettier": "^3.2.5", + "tailwindcss": "^3.4.1", + "ts-node": "^10.9.2", + "tsx": "^4.7.1", + "typescript": "^5.3.3", + "typescript-eslint": "^7.1.0" + }, "license": "MIT", - "type": "module", + "name": "nodejs-sandbox", "private": true, + "type": "module", + "version": "1.0.0", "workspaces": [ "client", "server", "shared" - ], - "dependencies": { - "remult": "^0.24.1" - }, - "devDependencies": { - "@types/eslint": "^8.56.5", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "prettier": "^3.2.5", - "tsx": "4.7.0", - "typescript": "^5.3.3", - "typescript-eslint": "^7.1.0" - } -} + ] +} \ No newline at end of file diff --git a/server/api.ts b/server/api.ts index ec281a6..0f5b64e 100644 --- a/server/api.ts +++ b/server/api.ts @@ -1,21 +1,6 @@ import { remultExpress } from "remult/remult-express"; -import { createKnexDataProvider } from "remult/remult-knex"; -import { LauncherEntry } from "shared/LauncherEntry"; +import { LauncherEntry } from "../shared/LauncherEntry"; export const api = remultExpress({ - dataProvider: createKnexDataProvider({ - client: "mssql", - connection: { - server: "192.168.55.10", - database: "test", - user: "sa", - password: "zaq1@WSX", - options: { - enableArithAbort: true, - encrypt: false, - instanceName: `sqlexpress`, - }, - }, - }), entities: [LauncherEntry], }); diff --git a/server/auth.ts b/server/auth.ts deleted file mode 100644 index 7aae88c..0000000 --- a/server/auth.ts +++ /dev/null @@ -1,24 +0,0 @@ -import express, { Router } from "express"; - -export const auth = Router(); - -auth.use(express.json()); - -auth.post("/api/signIn", (req, res) => { - const validUsers = [ - { id: "1", name: "Manager", roles: ["admin"] }, - { id: "2", name: "SalesRep" }, - ]; - const user = validUsers.find((user) => user.name === req.body.username); - if (user) { - req.session.user = user; - res.json(user); - } else { - res.sendStatus(403); - } -}); - -auth.post("/api/signOut", (req, res) => { - req.session.user = null; - res.json("signed out"); -}); diff --git a/server/index.ts b/server/index.ts index 3ebf80b..5c16d9e 100644 --- a/server/index.ts +++ b/server/index.ts @@ -1,28 +1,16 @@ +/* eslint-disable @typescript-eslint/no-unsafe-assignment */ import express from "express"; -import session from "cookie-session"; -import { auth } from "./auth.js"; -import { api } from "./api.js"; import swaggerUi from "swagger-ui-express"; +import { api } from "./api.js"; const app = express(); - -app.set("trust proxy", 1); - -app.use((req, res, next) => { - session({ - secret: "shhhhhhhhhhh", - sameSite: req.secure ? "none" : undefined, - })(req, res, next); -}); - -app.use(auth); - app.use(api); - const openApiDocument = api.openApiDoc({ title: "My API" }); -app.get("/api/openApi.json", (req, res) => res.json(openApiDocument)); +app.get("/api/openApi.json", (_, res) => res.json(openApiDocument)); app.use("/api/docs", swaggerUi.serve, swaggerUi.setup(openApiDocument)); app.listen(3000, () => { console.log("Server started"); + console.log("OpenAPI spec at http://localhost:3000/api/openApi.json"); + console.log("Swagger UI at http://localhost:3000/api/docs/"); }); diff --git a/server/package.json b/server/package.json index a35f568..c97ac6e 100644 --- a/server/package.json +++ b/server/package.json @@ -1,10 +1,4 @@ { - "name": "server", - "private": true, - "version": "0.0.0", - "scripts": { - "dev": "tsx watch index.ts" - }, "dependencies": { "cookie-session": "^2.0.0", "express": "^4.18.2", @@ -17,5 +11,11 @@ "@types/cookie-session": "^2.0.48", "@types/express": "^4.17.21", "@types/swagger-ui-express": "^4.1.6" - } -} + }, + "name": "server", + "private": true, + "scripts": { + "dev": "tsx watch index.ts" + }, + "version": "0.0.0" +} \ No newline at end of file diff --git a/server/tsconfig.json b/server/tsconfig.json deleted file mode 100644 index 41e2b2a..0000000 --- a/server/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "include": [ - "./**/*.ts" - ], - "extends": "./tsconfig-base.json", -} \ No newline at end of file diff --git a/shared/LauncherEntry.ts b/shared/LauncherEntry.ts index 5c6ea1e..0ac8b62 100644 --- a/shared/LauncherEntry.ts +++ b/shared/LauncherEntry.ts @@ -2,10 +2,20 @@ import { Entity, Fields } from "remult"; @Entity("LauncherEntry", { allowApiCrud: true, dbName: "core.launcher" }) export class LauncherEntry { - @Fields.uuid() + @Fields.autoIncrement() id!: string; @Fields.string() url!: string; @Fields.string() name!: string; + @Fields.string() + description?: string; + @Fields.string() + iconUrl?: string; + @Fields.boolean() + enabled = true; + @Fields.createdAt() + createdDate!: Date; + @Fields.updatedAt() + modifiedDate!: Date; } diff --git a/shared/package.json b/shared/package.json index 63f2542..5e97912 100644 --- a/shared/package.json +++ b/shared/package.json @@ -2,4 +2,4 @@ "name": "shared", "private": true, "version": "0.0.0" -} +} \ No newline at end of file diff --git a/shared/tsconfig.json b/shared/tsconfig.json deleted file mode 100644 index c9cf70f..0000000 --- a/shared/tsconfig.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - /* Language and Environment */ - "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - /* Modules */ - "module": "NodeNext", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} \ No newline at end of file diff --git a/tsconfig-base.json b/tsconfig-base.json deleted file mode 100644 index 5628f6c..0000000 --- a/tsconfig-base.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - /* Language and Environment */ - "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - /* Modules */ - "module": "NodeNext", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index f2e2033..dc9d5c5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,54 @@ { + // This is based on https://bun.sh/docs/typescript#suggested-compileroptions + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Bun", + "docs": "https://bun.sh/docs/typescript", "compilerOptions": { - "experimentalDecorators": true, - "esModuleInterop": true, - "composite": true + // Enable latest features + "lib": [ + "ESNext" + ], + "target": "ESNext", + "module": "NodeNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + // Bundler mode + "moduleResolution": "NodeNext", + "allowImportingTsExtensions": true, + // "verbatimModuleSyntax": true, // It breaks importing CommonJS modules + "noEmit": true, + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + // Some stricter flags + "noUnusedLocals": true, + "noUnusedParameters": true, + // "noPropertyAccessFromIndexSignature": true // Ugly method of accessing properties `obj['prop']` + // My rules + "experimentalDecorators": true, // remult required + "paths": { + "@shared/*": [ + "./shared/*" + ], + "@server/*": [ + "./server/*" + ], + "@client/*": [ + "./client/*" + ] + } }, + "include": [ + "shared/**/*", + "server/**/*", + ], + "exclude": [ + "node_modules", + "dist", + "build", + "coverage", + "client" + ] } \ No newline at end of file