From 160deac76475432f412ed8ebcec8d548ca1dc336 Mon Sep 17 00:00:00 2001 From: Aziya Nissam Date: Fri, 9 Jun 2023 13:48:04 +0200 Subject: [PATCH 1/2] Done --- client/.eslintrc.cjs | 15 + client/.gitignore | 24 + client/index.html | 13 + client/package-lock.json | 3542 ++++++++++++++++++++ client/package.json | 28 + client/public/vite.svg | 1 + client/src/App.css | 42 + client/src/App.jsx | 17 + client/src/assets/images/Galaxy_S7.png | Bin 0 -> 22344 bytes client/src/assets/images/Honor_10.png | Bin 0 -> 25726 bytes client/src/assets/images/IPhone_7.png | Bin 0 -> 11367 bytes client/src/assets/images/Moto_G6.png | Bin 0 -> 57096 bytes client/src/assets/images/Nokia_7.1.jpg | Bin 0 -> 7504 bytes client/src/assets/images/P10_Lite.jpg | Bin 0 -> 42878 bytes client/src/assets/images/Xiaomi_MI_A2.jpeg | Bin 0 -> 47666 bytes client/src/assets/images/ZenPhone_5.jpg | Bin 0 -> 12021 bytes client/src/index.css | 69 + client/src/main.jsx | 13 + client/src/pages/Detailspage.jsx | 38 + client/src/pages/Homepage.jsx | 54 + client/vite.config.js | 7 + 21 files changed, 3863 insertions(+) create mode 100644 client/.eslintrc.cjs create mode 100644 client/.gitignore create mode 100644 client/index.html create mode 100644 client/package-lock.json create mode 100644 client/package.json create mode 100644 client/public/vite.svg create mode 100644 client/src/App.css create mode 100644 client/src/App.jsx create mode 100644 client/src/assets/images/Galaxy_S7.png create mode 100644 client/src/assets/images/Honor_10.png create mode 100644 client/src/assets/images/IPhone_7.png create mode 100644 client/src/assets/images/Moto_G6.png create mode 100644 client/src/assets/images/Nokia_7.1.jpg create mode 100644 client/src/assets/images/P10_Lite.jpg create mode 100644 client/src/assets/images/Xiaomi_MI_A2.jpeg create mode 100644 client/src/assets/images/ZenPhone_5.jpg create mode 100644 client/src/index.css create mode 100644 client/src/main.jsx create mode 100644 client/src/pages/Detailspage.jsx create mode 100644 client/src/pages/Homepage.jsx create mode 100644 client/vite.config.js diff --git a/client/.eslintrc.cjs b/client/.eslintrc.cjs new file mode 100644 index 000000000..ec601b2ce --- /dev/null +++ b/client/.eslintrc.cjs @@ -0,0 +1,15 @@ +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/client/index.html b/client/index.html new file mode 100644 index 000000000..79c470191 --- /dev/null +++ b/client/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/client/package-lock.json b/client/package-lock.json new file mode 100644 index 000000000..0ef5210e3 --- /dev/null +++ b/client/package-lock.json @@ -0,0 +1,3542 @@ +{ + "name": "client", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.0.0", + "dependencies": { + "axios": "^1.4.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.12.1" + }, + "devDependencies": { + "@types/react": "^18.0.37", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "vite": "^4.3.9" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@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.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "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.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "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.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "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.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.42.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", + "integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "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": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "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/@remix-run/router": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.3.tgz", + "integrity": "sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.9.tgz", + "integrity": "sha512-pL3JAesUkF7PEQGxh5XOwdXGV907te6m1/Qe1ERJLgomojS6Ne790QiA7GUl434JEkFA2aAaB6qJ5z4e1zJn/w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz", + "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz", + "integrity": "sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.4", + "@babel/plugin-transform-react-jsx-self": "^7.21.0", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "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-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "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": "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/browserslist": { + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "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.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001497", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001497.tgz", + "integrity": "sha512-I4/duVK4wL6rAK/aKZl3HXB4g+lIZvaT4VLAn2rCgJ38jVLb0lv2Xug6QuqmxXFVRJMF74SPPWPJ/1Sdm3vCzw==", + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "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.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "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/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "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.425", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.425.tgz", + "integrity": "sha512-wv1NufHxu11zfDbY4fglYQApMswleE9FL/DSeyOyauVXDZ+Kco96JK/tPfBUaDqfRarYp2WH2hJ/5UnVywp9Jg==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "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.42.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", + "integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.42.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "import-fresh": "^3.0.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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "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": { + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "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.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/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.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "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/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.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "dependencies": { + "acorn": "^8.8.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-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.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "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/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.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "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/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-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-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "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/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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/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.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "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.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "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-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/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/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "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.6", + "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/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "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-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.12.1.tgz", + "integrity": "sha512-evd/GrKJOeOypD0JB9e1r7pQh2gWCsTbUfq059Wm1AFT/K2MNZuDo19lFtAgIhlBrp0MmpgpqtvZC7LPAs7vSw==", + "dependencies": { + "@remix-run/router": "1.6.3" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.12.1.tgz", + "integrity": "sha512-POIZN9UDKWwEDga054LvYr2KnK8V+0HR4Ny4Bwv8V7/FZCPxJgsCjYxXGxqxzHs7VBxMKZfgvtKhafuJkJSPGA==", + "dependencies": { + "@remix-run/router": "1.6.3", + "react-router": "6.12.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.0.tgz", + "integrity": "sha512-OgraHOIg2YpHQTjl0/ymWfFNBEyPucB7lmhXrQUh38qNOegxLapSPFs9sNr0qKR75awW41D93XafoR2QfhBdUQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "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/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/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/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "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": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "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/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/client/package.json b/client/package.json new file mode 100644 index 000000000..9e5549e9b --- /dev/null +++ b/client/package.json @@ -0,0 +1,28 @@ +{ + "name": "client", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "axios": "^1.4.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.12.1" + }, + "devDependencies": { + "@types/react": "^18.0.37", + "@types/react-dom": "^18.0.11", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "vite": "^4.3.9" + } +} diff --git a/client/public/vite.svg b/client/public/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/client/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/client/src/App.css b/client/src/App.css new file mode 100644 index 000000000..b9d355df2 --- /dev/null +++ b/client/src/App.css @@ -0,0 +1,42 @@ +#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/client/src/App.jsx b/client/src/App.jsx new file mode 100644 index 000000000..e5b54b1c4 --- /dev/null +++ b/client/src/App.jsx @@ -0,0 +1,17 @@ +import React, { useState, useEffect } from 'react'; +import Homepage from './pages/homepage'; + +import './App.css' +import { Route, Routes } from 'react-router-dom'; +import Detailspage from './pages/Detailspage'; + +function App() { + return ( + + } /> + } /> + + ) +} + +export default App diff --git a/client/src/assets/images/Galaxy_S7.png b/client/src/assets/images/Galaxy_S7.png new file mode 100644 index 0000000000000000000000000000000000000000..137e356f59e7db84941388f8b007c8464ec2aa60 GIT binary patch literal 22344 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/images/Honor_10.png b/client/src/assets/images/Honor_10.png new file mode 100644 index 0000000000000000000000000000000000000000..28b752d09a3a092e3b53a3c43cf3486234915e32 GIT binary patch literal 25726 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

tc0Zq(xWotafuaM)su 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 E2c?!2{Qv*} literal 0 HcmV?d00001 diff --git a/client/src/assets/images/IPhone_7.png b/client/src/assets/images/IPhone_7.png new file mode 100644 index 0000000000000000000000000000000000000000..d6647be20231f546f12502f6499f0146ff916a70 GIT binary patch literal 11367 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/images/Nokia_7.1.jpg b/client/src/assets/images/Nokia_7.1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b0711b186c8d06272eb2a70ca44c881a559192a GIT binary patch literal 7504 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/images/P10_Lite.jpg b/client/src/assets/images/P10_Lite.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02d2d52f3f57fd6cb7818103959e945e65c9291f GIT binary patch literal 42878 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 literal 0 HcmV?d00001 diff --git a/client/src/assets/images/ZenPhone_5.jpg b/client/src/assets/images/ZenPhone_5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d5512a2255df7050f1b507efa8b7e433b5b0dc0 GIT binary patch literal 12021 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 z zm+eNC@T|T2B!G&5>m|o>Za#RA!F;cVJQr9($*J0~m=HT9Lrl`L3q`kjWL0X@MCH~p z*FG>hew3LAu-MLLR<2*|{u5cAFnt8YIk0rk$Mf_4b}w+bG5r~-WFn9@>2RrbTq^1J ziEJZHg)WL&;)on=2@o=udu&mAy~pFz^vOjl(M!rt;?F;cOKkqaJvGX5E16m#>L<(w z-l3|-5+GWz2xnJHu4n%`x&DfW;GDbZ`)+Bvx4w~Pvh8PR_?N(MjuMx?mo*HR*Sa?D zbF(Ofo%TvvkN~exiIah@viYf;TVKtOuXZAG_Jikt>e&Bjgk=?kt%dxuJk>d9IyT>) zUi=(tWtiQSVX$iV!f3gDnaxr2yPKbhe@Xj#NkM*hh+^8)Pa9c&M{N}bjEYC>L$;e7 zCWL8SA)aNa9tWCYn)3)fLN3(Ut9l-`mT2_qN_@79OWvwKXonX91P_txexf4W0oHwN z$s3$%2EhuMs6uAqJt4dsm@B#Kk>khjVl`CX#F=B9UQGl!&O9}U+2}E6_W8nZ3OOO5=LOy)}15cLr^=CgZ0hP zjMrZKP-T_oY`)e~-D)H!t$bnyyR*a_w>J}eszjtKC(n^HLRQ_ZB^OaLFwqXH-6l1* zrLK62vQfH2%hJb)X$fi?P)XttOMO8CZsC=dDgg90%aP-wn7{x-kzLc3)Tzyt*<<&$ z<)%5U%wZDXQYvDaePWq`hX2NS96<@$L;=`{##L^a&OF*J;?+?h&j!%5S3!!!Rk_|K zoaV(pB}z9E^$BW(1n|PlYssB*58{o$j~hDk#BZ39JVo$Y&bap#VLvKCF?G)Hl+$p` za0ihe7qSpy!_hHyKeAxmtblz?_3nk+t^gNmG!6oOwN^?M=IV82FH6yR(&9d)$Ibz- z`Jfa3)m6^yFXxWDLQPxX;H?o{b6T19eVGr~UHrx3g+D1pu-ROJ#wyp(5^zdfi1FZ; za;n9^U~gPvoud+6wHM@Sp3N4Bbazk)KtBBASVeZZV4tx zv*C7LB)`{D`7`^|Wt$wfj*pGCSjpA=e`^$IJB%rL__>My3RiOZPJFF^{|xWYgfA~i zfwvzG!VhA_iDmGGPoTZT-MGA?Yx87Anqt@2fM-=A-j^FDcH8_7{*RTvTjkAv?hwXk zq7zb+&nxcMqN{QeW`;jT=wXs7Hdt;)4nSErA2mEqU~%XkqX4~h#XW?7HOF7jT*`=NcrmBYT7@$}6ZA(o>X3qG zW=(N~Ns~#NOQP0ZYx=akJj~uoWd7wbA+dP8tz92{ROAYZYo#fgRmtd56_nRu_5OOL zIL1ehnSSq9l7@W-7rBm9#@^?D=>xS1HeK~oabT}E^wlVk_;rQTB>&Ww1jw($BRGCS z7F=Cs+*5kb^gO)-kU!{pp7iAhbf{Ejk${DI4TU{~Bwhj29L0gi??W=pQM@XGx$Y^ZbW&ta}6k0N)Q?m ztTs?`d_=r?!5}(THF#jdJ!R2;Vgs*%6iVdgv?jJMDQnc>Bhd&&u7Fp8+iU#DNV+z& z@oF;y%M`AkPR-FE;@eZUlc{Ojm}ue;aP|1~lm~}vik63meRE)10ev#YtC7sB6peUO z+EK0t$48F{nTypp*FsmAtW|vT4;Rt*PpL~S?#U28UFPh`mKXdILt$)Y^bTJXlY^%w zyoaM*@OOTzi7_E3YhS+V557a=YVeRN$S2M{t-goU z{E|^YIx!n`MN(L9+gk2a?l||2&GKp8vM0X``RzpEz(>KOb>s>~OmFCL;G$K&(z&T! z{|tAZ-#@O4W!`x^r@NQBVq)4{VGU9`S=uT=TpfADkVdcL=#^tNPJ zNIp+eiFqMDe=T1D!xGslPXcK3;-%0D3JE;&8hKxr%X%2|1gQ4gpV26c1V(n+y|6N~ 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 literal 0 HcmV?d00001 diff --git a/client/src/index.css b/client/src/index.css new file mode 100644 index 000000000..2c3fac689 --- /dev/null +++ b/client/src/index.css @@ -0,0 +1,69 @@ +: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; + -webkit-text-size-adjust: 100%; +} + +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/client/src/main.jsx b/client/src/main.jsx new file mode 100644 index 000000000..cb32e7381 --- /dev/null +++ b/client/src/main.jsx @@ -0,0 +1,13 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' +import { BrowserRouter } from 'react-router-dom' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + + + , +) diff --git a/client/src/pages/Detailspage.jsx b/client/src/pages/Detailspage.jsx new file mode 100644 index 000000000..a6a4ee138 --- /dev/null +++ b/client/src/pages/Detailspage.jsx @@ -0,0 +1,38 @@ +import React, { useEffect, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import axios from 'axios'; + +function Detailspage() { + const { phoneId } = useParams(); + const [phone, setPhone] = useState(null); + + const fetchPhone = async () => { + try { + const response = await axios.get(`http://localhost:5005/api/phones/${phoneId}`); + if (response.status === 200) { + setPhone(response.data); + } + } catch (error) { + console.log(error); + } + }; + + useEffect(() => { + fetchPhone(); + }, []); + + return ( +

+ ); +} + +export default Detailspage; \ No newline at end of file diff --git a/client/src/pages/Homepage.jsx b/client/src/pages/Homepage.jsx new file mode 100644 index 000000000..f0881996a --- /dev/null +++ b/client/src/pages/Homepage.jsx @@ -0,0 +1,54 @@ +import React, { useState, useEffect } from 'react'; +import axios from 'axios'; +import { Link } from 'react-router-dom'; + +function Homepage() { + const [phones, setPhones] = useState([]); + + const [loading, setLoading] = useState(false); + + useEffect(() => { + async function fetchData() { + try { + setLoading(true); + const response = await axios.get('http://localhost:5005/phones'); + setPhones(response.data); + setLoading(false); + } catch (error) { + console.error('Error fetching phones:', error); + setLoading(false); + } + } + fetchData(); + }, []); + + const handlePhoneClick = (phone) => { + setSelectedPhone(phone); + }; + return ( +
+

Phone App

+ {loading ? ( +

Loading...

+ ) : ( +
+

Phone List

+ +
    + {phones.map((phone) => ( + +
  • handlePhoneClick(phone)}> + {phone.name} +
  • + + ))} +
+ + +
+ )} +
+ ) +} + +export default Homepage; diff --git a/client/vite.config.js b/client/vite.config.js new file mode 100644 index 000000000..5a33944a9 --- /dev/null +++ b/client/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From ef92eab9fdb3748153b00d2d0907c9156b301329 Mon Sep 17 00:00:00 2001 From: Aziya Nissam Date: Fri, 9 Jun 2023 13:49:12 +0200 Subject: [PATCH 2/2] Done --- server/.gitignore | 23 + server/app.js | 27 + server/config/index.js | 38 + server/data/phones.json | 98 +++ server/db/index.js | 19 + server/error-handling/index.js | 21 + server/models/User.model.js | 26 + server/package-lock.json | 1317 ++++++++++++++++++++++++++++++++ server/package.json | 20 + server/routes/index.routes.js | 7 + server/routes/phones.routes.js | 22 + server/server.js | 8 + 12 files changed, 1626 insertions(+) create mode 100644 server/.gitignore create mode 100644 server/app.js create mode 100644 server/config/index.js create mode 100644 server/data/phones.json create mode 100644 server/db/index.js create mode 100644 server/error-handling/index.js create mode 100644 server/models/User.model.js create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/routes/index.routes.js create mode 100644 server/routes/phones.routes.js create mode 100644 server/server.js diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 000000000..f933df33d --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,23 @@ +# Dependency directories +node_modules/ + +# Debug log from npm +npm-debug.log + +# Environment Variables should NEVER be published +.env + +# macOS +.DS_Store +.AppleDouble +.LSOverride + +# Windows +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +*.lnk + + +# VS Code +.vscode/* diff --git a/server/app.js b/server/app.js new file mode 100644 index 000000000..85fd23f3c --- /dev/null +++ b/server/app.js @@ -0,0 +1,27 @@ +// ℹ️ Gets access to environment variables/settings +// https://www.npmjs.com/package/dotenv +require("dotenv").config(); + +// ℹ️ Connects to the database +require("./db"); + +// Handles http requests (express is node js framework) +// https://www.npmjs.com/package/express +const express = require("express"); + +const app = express(); + +// ℹ️ This function is getting exported from the config folder. It runs most pieces of middleware +require("./config")(app); + +// 👇 Start handling routes here +const indexRoutes = require("./routes/index.routes"); +app.use("/", indexRoutes); + +const phonesRoutes = require("./routes/phones.routes"); +app.use("/phones", phonesRoutes); + +// ❗ To handle errors. Routes that don't exist or errors that you handle in specific routes +require("./error-handling")(app); + +module.exports = app; diff --git a/server/config/index.js b/server/config/index.js new file mode 100644 index 000000000..8c87e233d --- /dev/null +++ b/server/config/index.js @@ -0,0 +1,38 @@ +// We reuse this import in order to have access to the `body` property in requests +const express = require("express"); + +// ℹ️ Responsible for the messages you see in the terminal as requests are coming in +// https://www.npmjs.com/package/morgan +const logger = require("morgan"); + +// ℹ️ Needed when we deal with cookies (we will when dealing with authentication) +// https://www.npmjs.com/package/cookie-parser +const cookieParser = require("cookie-parser"); + +// ℹ️ Needed to accept from requests from 'the outside'. CORS stands for cross origin resource sharing +// unless the request if from the same domain, by default express wont accept POST requests +const cors = require("cors"); + +const FRONTEND_URL = process.env.ORIGIN || "http://localhost:3000"; + +// Middleware configuration +module.exports = (app) => { + // Because this is a server that will accept requests from outside and it will be hosted ona server with a `proxy`, express needs to know that it should trust that setting. + // Services like heroku use something called a proxy and you need to add this to your server + app.set("trust proxy", 1); + + // controls a very specific header to pass headers from the frontend + app.use( + cors({ + origin: [FRONTEND_URL] + }) + ); + + // In development environment the app logs + app.use(logger("dev")); + + // To have access to `body` property in the request + app.use(express.json()); + app.use(express.urlencoded({ extended: false })); + app.use(cookieParser()); +}; diff --git a/server/data/phones.json b/server/data/phones.json new file mode 100644 index 000000000..2261069ca --- /dev/null +++ b/server/data/phones.json @@ -0,0 +1,98 @@ +[ + { + "id": 0, + "name": "iPhone 7", + "manufacturer": "Apple", + "description": "iPhone 7 dramatically improves the most important aspects of the iPhone experience. It introduces advanced new camera systems. The best performance and battery life ever in an iPhone. Immersive stereo speakers. The brightest, most colorful iPhone display. Splash and water resistance*. And it looks every bit as powerful as it is. This is iPhone 7.", + "color": "black", + "price": 769, + "imageFileName": "IPhone_7.png", + "screen": "4,7 inch IPS", + "processor": "A10 Fusion", + "ram": 2 + }, + { + "id": 1, + "name": "Galaxy S7", + "manufacturer": "Samsung", + "description": "Introducing the smartphone your life can not do without, The Samsung Galaxy S7. Packed with features to keep you both productive and entertained, all in a sleek, slim design that fits comfortably in your hand or pocket.", + "color": "grey", + "price": 209, + "imageFileName": "Galaxy_S7.png", + "screen": "5,1 inch Quad-HD", + "processor": "Snapdragon 820", + "ram": 4 + }, + { + "id": 2, + "name": "Honor 10", + "manufacturer": "Huawei", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "blue", + "price": 399, + "imageFileName": "Honor_10.png", + "screen": "5,84 inch Full-HD", + "processor": "Kirin 970", + "ram": 6 + }, + { + "id": 3, + "name": "P10 Lite", + "manufacturer": "Huawei", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "white", + "price": 249, + "imageFileName": "P10_Lite.jpg", + "screen": "5,2 inch Full-HD", + "processor": "Kirin 658", + "ram": 4 + }, + { + "id": 4, + "name": "Nokia 7.1", + "manufacturer": "Nokia", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "black", + "price": 275, + "imageFileName": "Nokia_7.1.jpg", + "screen": "5,84 inch Full-HD", + "processor": "Octa-core", + "ram": 4 + }, + { + "id": 5, + "name": "Zen Phone 5", + "manufacturer": "Asus", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "black", + "price": 359, + "imageFileName": "ZenPhone_5.jpg", + "screen": "6,2 inch Full-HD", + "processor": "Snapdragon 636", + "ram": 6 + }, + { + "id": 6, + "name": "MI A2", + "manufacturer": "Xiaomi", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "black", + "price": 179, + "imageFileName": "Xiaomi_MI_A2.jpeg", + "screen": "5,99 inch Full-HD", + "processor": "Snapdragon 660", + "ram": 6 + }, + { + "id": 7, + "name": "Moto G6", + "manufacturer": "Motorola", + "description": "Great phone with an excellent interface. One of the best mid price range phones in the market.", + "color": "black", + "price": 199, + "imageFileName": "Moto_G6.png", + "screen": "5,7 inch Full-HD", + "processor": "Snapdragon 450", + "ram": 3 + } +] \ No newline at end of file diff --git a/server/db/index.js b/server/db/index.js new file mode 100644 index 000000000..eb3c8e5d4 --- /dev/null +++ b/server/db/index.js @@ -0,0 +1,19 @@ +// ℹ️ package responsible to make the connection with mongodb +// https://www.npmjs.com/package/mongoose +const mongoose = require("mongoose"); + +// ℹ️ Sets the MongoDB URI for our app to have access to it. +// If no env has been set, we dynamically set it to whatever the folder name was upon the creation of the app + +const MONGO_URI = + process.env.MONGODB_URI || "mongodb://127.0.0.1:27017/server"; + +mongoose + .connect(MONGO_URI) + .then((x) => { + const dbName = x.connections[0].name; + console.log(`Connected to Mongo! Database name: "${dbName}"`); + }) + .catch((err) => { + console.error("Error connecting to mongo: ", err); + }); diff --git a/server/error-handling/index.js b/server/error-handling/index.js new file mode 100644 index 000000000..bed943d1a --- /dev/null +++ b/server/error-handling/index.js @@ -0,0 +1,21 @@ +module.exports = (app) => { + app.use((req, res, next) => { + // this middleware runs whenever requested page is not available + res.status(404).json({ message: "This route does not exist" }); + }); + + app.use((err, req, res, next) => { + // whenever you call next(err), this middleware will handle the error + // always logs the error + console.error("ERROR", req.method, req.path, err); + + // only render if the error ocurred before sending the response + if (!res.headersSent) { + res + .status(500) + .json({ + message: "Internal server error. Check the server console", + }); + } + }); +}; diff --git a/server/models/User.model.js b/server/models/User.model.js new file mode 100644 index 000000000..178deec9b --- /dev/null +++ b/server/models/User.model.js @@ -0,0 +1,26 @@ +const { Schema, model } = require("mongoose"); + +// TODO: Please make sure you edit the User model to whatever makes sense in this case +const userSchema = new Schema( + { + email: { + type: String, + required: [true, 'Email is required.'], + unique: true, + lowercase: true, + trim: true + }, + password: { + type: String, + required: [true, 'Password is required.'] + } + }, + { + // this second object adds extra properties: `createdAt` and `updatedAt` + timestamps: true + } +); + +const User = model("User", userSchema); + +module.exports = User; diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 000000000..7ff810613 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,1317 @@ +{ + "name": "server-server", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "server-server", + "version": "0.0.0", + "dependencies": { + "cookie-parser": "^1.4.6", + "cors": "^2.8.5", + "dotenv": "^16.1.4", + "express": "^4.18.2", + "mongoose": "^7.2.2", + "morgan": "^1.10.0" + }, + "devDependencies": { + "nodemon": "^2.0.22" + } + }, + "node_modules/@types/node": { + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", + "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/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/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/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/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/bson": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.3.0.tgz", + "integrity": "sha512-ukmCZMneMlaC5ebPHXIkP8YJzNl5DC41N5MAIvKDqLggdao342t4McltoJBQfQya/nHBWAcSsYRqlXPoQkTJag==", + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "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/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dotenv": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.4.tgz", + "integrity": "sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-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/kareem": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.5.1.tgz", + "integrity": "sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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/mongodb": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.5.0.tgz", + "integrity": "sha512-XgrkUgAAdfnZKQfk5AsYL8j7O99WHd4YXPxYxnh8dZxD+ekYWFRA3JktUsBnfg+455Smf75/+asoU/YLwNGoQQ==", + "dependencies": { + "bson": "^5.3.0", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "optionalDependencies": { + "saslprep": "^1.0.3" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.201.0", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", + "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/mongoose": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.2.2.tgz", + "integrity": "sha512-JPBMTF+oYfLGVFWbHSZ/H+f1GajNanGLYH6c/P0nE3bNJfwGhX573vieGR0kNlNhj3cZk8WCPrnVsTNeUmFUag==", + "dependencies": { + "bson": "^5.3.0", + "kareem": "2.5.1", + "mongodb": "5.5.0", + "mpath": "0.9.0", + "mquery": "5.0.0", + "ms": "2.1.3", + "sift": "16.0.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", + "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/mquery/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mquery/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nodemon": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", + "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/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/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz", + "integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==" + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dev": true, + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 000000000..745b2b3b1 --- /dev/null +++ b/server/package.json @@ -0,0 +1,20 @@ +{ + "name": "server-server", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node server.js", + "dev": "nodemon server.js" + }, + "dependencies": { + "cookie-parser": "^1.4.6", + "cors": "^2.8.5", + "dotenv": "^16.1.4", + "express": "^4.18.2", + "mongoose": "^7.2.2", + "morgan": "^1.10.0" + }, + "devDependencies": { + "nodemon": "^2.0.22" + } +} diff --git a/server/routes/index.routes.js b/server/routes/index.routes.js new file mode 100644 index 000000000..9a0681185 --- /dev/null +++ b/server/routes/index.routes.js @@ -0,0 +1,7 @@ +const router = require("express").Router(); + +router.get("/", (req, res, next) => { + res.json("All good in here"); +}); + +module.exports = router; diff --git a/server/routes/phones.routes.js b/server/routes/phones.routes.js new file mode 100644 index 000000000..7e9c49fe6 --- /dev/null +++ b/server/routes/phones.routes.js @@ -0,0 +1,22 @@ +const router = require("express").Router(); +const dataPhones = require('../data/phones.json') + + +router.get("/", (req, res, next) => { + res.json(dataPhones); +}); + +router.get("/:id", (req, res) => { + const phoneId = parseInt(req.params.id); + const phone = phonesData.find(phone => phone.id === phoneId); + + if (!phone) { + res.status(404).json({ error: 'Phone not found' }); + } + else { + res.json(phone); + } + +}) + +module.exports = router; diff --git a/server/server.js b/server/server.js new file mode 100644 index 000000000..e8617a793 --- /dev/null +++ b/server/server.js @@ -0,0 +1,8 @@ +const app = require("./app"); + +// ℹ️ Sets the PORT for our app to have access to it. If no env has been set, we hard code it to 5005 +const PORT = process.env.PORT || 5005; + +app.listen(PORT, () => { + console.log(`Server listening on http://localhost:${PORT}`); +});