From 5148ee2063846d37f9152a9dfa64fcd40cc0454b Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Fri, 1 Mar 2024 16:31:27 -0700 Subject: [PATCH] get something on the screen --- index.html | 24 +- package-lock.json | 3264 +++++++++++++++++++++++++++++++++ package.json | 1 + public/fonts/scientifica.ttf | Bin 0 -> 120736 bytes public/vite.svg | 1 - src/App.css | 42 - src/App.tsx | 56 +- src/assets/react.svg | 1 - src/components/GameCanvas.tsx | 16 + src/css/colors.css | 45 + src/css/style.css | 95 + src/css/tf.css | 33 + src/css/theme.css | 17 + src/index.css | 68 - src/main.tsx | 13 +- 15 files changed, 3516 insertions(+), 160 deletions(-) create mode 100644 package-lock.json create mode 100644 public/fonts/scientifica.ttf delete mode 100644 public/vite.svg delete mode 100644 src/App.css delete mode 100644 src/assets/react.svg create mode 100644 src/components/GameCanvas.tsx create mode 100644 src/css/colors.css create mode 100644 src/css/style.css create mode 100644 src/css/tf.css create mode 100644 src/css/theme.css delete mode 100644 src/index.css diff --git a/index.html b/index.html index e4b78ea..ba996d3 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,15 @@ - + - - - - - Vite + React + TS - - -
- - + + + + The Abstraction Engine + + + +
+ + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2b68a71 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3264 @@ +{ + "name": "the-abstraction-engine", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "the-abstraction-engine", + "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": "^8.56.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.5", + "prettier": "^3.2.5", + "typescript": "^5.2.2", + "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.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "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.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "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.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "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/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/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-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.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "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.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "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.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "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.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "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.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "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.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.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.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/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.24", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.24.tgz", + "integrity": "sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "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/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/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/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/react": { + "version": "18.2.61", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.61.tgz", + "integrity": "sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==", + "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/@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/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/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/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/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/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/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "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/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-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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/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/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/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/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/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": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/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/electron-to-chromium": { + "version": "1.4.690", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", + "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-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-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-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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/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/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/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/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/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/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/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/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "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/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/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "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/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/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/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-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-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.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": "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/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/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/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/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/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/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/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/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-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/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/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/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/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/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/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-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/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "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/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.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/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/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/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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "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/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/to-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/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/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/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/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/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==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index a1cd98b..f4b2a67 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", + "prettier": "^3.2.5", "typescript": "^5.2.2", "vite": "^5.1.4" } diff --git a/public/fonts/scientifica.ttf b/public/fonts/scientifica.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1753d31d748d579e8d78fb2f691ce853bc798dda GIT binary patch literal 120736 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

4WujDDguVB>2a8s=?0^4tr2 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⪙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�EqQ|4(Ao{3>quHpCemUNmEl(_m%@Q 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 Na}JqsCd~f~=HIgVDsKP) literal 0 HcmV?d00001 diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/App.css b/src/App.css deleted file mode 100644 index b9d355d..0000000 --- a/src/App.css +++ /dev/null @@ -1,42 +0,0 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} diff --git a/src/App.tsx b/src/App.tsx index afe48ac..9c5f790 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,35 +1,31 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from '/vite.svg' -import './App.css' +import { GameCanvas } from "./components/GameCanvas"; -function App() { - const [count, setCount] = useState(0) +const WIDTH = 800; +const HEIGHT = 800; +export const App = () => { return ( - <> -

- - Vite logo - - - React logo - +
+
+
+

the abstraction engine

+
-

Vite + React

-
- -

- Edit src/App.tsx and save to test HMR -

+
+
-

- Click on the Vite and React logos to learn more -

- - ) -} - -export default App +
+ + built by{" "} + + simponic + + +
+
+ ); +}; diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/GameCanvas.tsx b/src/components/GameCanvas.tsx new file mode 100644 index 0000000..ea93c64 --- /dev/null +++ b/src/components/GameCanvas.tsx @@ -0,0 +1,16 @@ +import { useRef } from "react"; + +export interface GameCanvasProps { + width: number; + height: number; +} + +export const GameCanvas = ({ width, height }: GameCanvasProps) => { + const canvasRef = useRef(null); + + return ( +
+ +
+ ); +}; diff --git a/src/css/colors.css b/src/css/colors.css new file mode 100644 index 0000000..067ddcd --- /dev/null +++ b/src/css/colors.css @@ -0,0 +1,45 @@ +:root { + --bg: #fbf1c7; + --text: #3c3836; + --red: #9d0006; + --green: #6d790e; + --yellow: #b57614; + --blue: #075678; + --aqua: #57ab7e; + --purple: #b16286; + --orange: #af3a03; +} + +[data-theme="dark"] { + --bg: #282828; + --text: #f9f5d7; + --red: #fb4934; + --green: #b8bb26; + --yellow: #fabd2f; + --blue: #83a598; + --aqua: #8ec07c; + --purple: #d3869b; + --orange: #d65d0e; +} + +.red { + color: var(--red); +} +.green { + color: var(--green); +} +.yellow { + color: var(--yellow); +} +.blue { + color: var(--blue); +} +.aqua { + color: var(--aqua); +} +.purple { + color: var(--purple); +} +.orange { + color: var(--orange); +} diff --git a/src/css/style.css b/src/css/style.css new file mode 100644 index 0000000..cdfef76 --- /dev/null +++ b/src/css/style.css @@ -0,0 +1,95 @@ +@import url("./theme.css"); +@import url("./tf.css"); + +@font-face { + font-family: "scientifica"; + src: url("/fonts/scientifica.ttf"); +} + +* { + padding: 0; + margin: 0; + font-family: "scientifica", monospace; + transition: background 0.2s ease-in-out; + font-smooth: never; +} + +html, +body { + margin: 0; + width: 100%; + height: 100%; +} + +body { + background-color: var(--bg); + color: var(--text); +} + +a { + color: var(--blue); +} +a:visited { + color: var(--blue); +} + +.main { + min-height: 100vh; + display: grid; + grid-template-rows: auto 1fr auto; + min-width: 600px; + width: 45%; + margin-left: auto; + margin-right: auto; + padding: 0; +} + +.header { + display: flex; + justify-content: space-around; + padding-top: 1rem; + padding-bottom: 1rem; +} + +.content { + border-top: 1px solid var(--yellow); + border-bottom: 1px solid var(--yellow); + max-height: 90vh; +} + +.footer { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.nav { + display: flex; +} + +.title { + text-decoration: none; +} +.title:hover { + text-decoration: underline; + cursor: pointer; +} + +.centered-game { + display: flex; + justify-content: center; + align-items: center; + padding-bottom: 1rem; + height: 100%; + flex-direction: column; + gap: 1rem; +} + +.centered-game canvas { + display: block; + max-height: 90%; + width: auto; + max-width: 100%; + border: 1px solid var(--yellow); + border-radius: 0.5rem; + margin: 0; +} diff --git a/src/css/tf.css b/src/css/tf.css new file mode 100644 index 0000000..c1acd72 --- /dev/null +++ b/src/css/tf.css @@ -0,0 +1,33 @@ +.tf { + position: relative; + z-index: 1; + + transition: color 0.3s ease-out; + transition: opacity 0.5s ease-in-out; +} + +.tf:before { + background: rgb(162, 254, 254); + background: linear-gradient( + 90deg, + rgba(162, 254, 254, 1) 0%, + rgba(249, 187, 250, 1) 25%, + rgba(250, 250, 250, 1) 50%, + rgba(249, 187, 250, 1) 75%, + rgba(162, 254, 254, 1) 100% + ); + + content: ""; + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + z-index: -1; + opacity: 0; + transition: all 0.5s; +} + +.tf:hover:before { + opacity: 1; +} diff --git a/src/css/theme.css b/src/css/theme.css new file mode 100644 index 0000000..c65b2a8 --- /dev/null +++ b/src/css/theme.css @@ -0,0 +1,17 @@ +@import url("./colors.css"); + +.primary { + color: var(--aqua); +} +.secondary { + color: var(--blue); +} +.tertiary { + color: var(--purple); +} +.warning { + color: var(--yellow); +} +.error { + color: var(--red); +} diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 6119ad9..0000000 --- a/src/index.css +++ /dev/null @@ -1,68 +0,0 @@ -:root { - font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/src/main.tsx b/src/main.tsx index 3d7150d..94b1039 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,10 +1,9 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.tsx' -import './index.css' - -ReactDOM.createRoot(document.getElementById('root')!).render( +import React from "react"; +import ReactDOM from "react-dom/client"; +import { App } from "./App.tsx"; +import "./css/style.css"; +ReactDOM.createRoot(document.getElementById("root")!).render( , -) +);