diff --git a/nram/.gitignore b/nram/.gitignore new file mode 100644 index 0000000..33e99a4 --- /dev/null +++ b/nram/.gitignore @@ -0,0 +1,2 @@ +*/node_modules +*/.env \ No newline at end of file diff --git a/nram/.vscode/tasks.json b/nram/.vscode/tasks.json new file mode 100644 index 0000000..5e03d6d --- /dev/null +++ b/nram/.vscode/tasks.json @@ -0,0 +1,54 @@ +{ + "version": "2.0.0", + "presentation": { + "echo": false, + "reveal": "always", + "focus": false, + "panel": "dedicated", + "showReuseMessage": true + }, + "tasks": [ + { + "label": "Create Terminals", + "dependsOn": ["client", "server", "tsc"], + "group": { + "isDefault": true + }, + "runOptions": { + "runOn": "folderOpen" + }, + "type": "shell", + "command": "bash" + }, + { + "label": "client", + "type": "shell", + "command": "cd client && npm install && npm run dev", + "isBackground": true, + "problemMatcher": [], + "presentation": { + "group": "my-group" + } + }, + { + "label": "server", + "type": "shell", + "command": "cd server && npm install && npm start", + "isBackground": true, + "problemMatcher": [], + "presentation": { + "group": "my-group" + } + }, + { + "label": "tsc", + "type": "shell", + "command": "cd server && tsc -w", + "isBackground": true, + "problemMatcher": [], + "presentation": { + "group": "compile" + } + } + ] +} diff --git a/nram/README.MD b/nram/README.MD new file mode 100644 index 0000000..1c2e1cf --- /dev/null +++ b/nram/README.MD @@ -0,0 +1,59 @@ +#### Team Name - N-RAM +#### Problem Statement - A 3D AI interface for personalized, trustworthy education on securities markets, empowering investors to navigate financial decisions +#### Team Leader Email - ashishlal4twitter@gmail.com + +## A Brief of the Prototype: + At the prototype level: + +- We offer an immersive speech based solution where users can have +- Interactive conversation with the AI model +- The model as a personalized AI companion that helps in portfolio specific way based on the user queries to- optimize their financial understanding. +- The knowledge of current insights and trends of the market. +- Comfort of limited typing ability or prefer verbal communication. +- discover new investment opportunities and strategies +- More market experience with each interaction +- Get Tip of the day to learn more everyday. +- All the interactions are saved so that every next conversation could be more personalised to the user than before. +Further, we have planned to include a points based system where each interaction gives more user specific experience (exp) points. The model will also provide external links to get more insights on the given scenario as a reference. + +Use Case Diagram: + +![UseCase](../nram/usecase.png) + + +## Tech Stack: +- WhisperAI +- PaLM API +- OAuth +- ThreeJS +- Vite + React +- TailwindCSS +- TypeScript +- NodeJS +- ExpressJS +- MongoDB + +## Step-by-Step Code Execution Instructions: +- Clone the repository using +``` +git clone https://github.com/ashishlal2003/Empowering-Investors-Hackathon.git +``` +- ```cd nram``` +- Request for the ```.env``` file from the project manager - ashishlal4twitter@gmail.com +- Place the file in the ```server``` folder. +- By default, in VSCode, the web-app starts automatically through the in-built terminal. It can be directly then accessed on ```localhost:3000```. +- If not, run the following commands: +Open two terminal windows +1. ``` cd client && npm install && npm run dev ``` +2. ``` cd server && npm install && npm start ``` + +## What I Learned: + We as a team learnt a lot of aspects of project development through this hackathon. Some of them include: +- Implementation of Generative AI (using PaLM model API by Google) +- Implementation of ThreeJS (for the 3d avatar) +- Understanding the securities market and what a user can expect to learn. +- Collaboration +- Leadership +- Resolving internal conflicts +- Time management +- Prioritisation \ No newline at end of file diff --git a/nram/api/palmAPI.py b/nram/api/palmAPI.py new file mode 100644 index 0000000..8b81f4b --- /dev/null +++ b/nram/api/palmAPI.py @@ -0,0 +1,22 @@ +import pprint +import google.generativeai as palm + +palm.configure(api_key='AIzaSyCcrKRaX4Lx5RjcjEaY7IYN1dA7UUTFm1M') + +models = [m for m in palm.list_models() if 'generateText' in m.supported_generation_methods] +model = models[0].name +print(model) + +prompt = """ +Should i invest in gold bond or in stock market? +""" + +completion = palm.generate_text( + model=model, + prompt=prompt, + temperature=0, + # The maximum length of the response + max_output_tokens=100, +) + +print(completion.result) \ No newline at end of file diff --git a/nram/api/sample.wav b/nram/api/sample.wav new file mode 100644 index 0000000..4c5dbfe Binary files /dev/null and b/nram/api/sample.wav differ diff --git a/nram/api/speech2text.py b/nram/api/speech2text.py new file mode 100644 index 0000000..f4565de --- /dev/null +++ b/nram/api/speech2text.py @@ -0,0 +1,15 @@ +import speech_recognition as sr + +filename = "sample.wav" + +# initialize the recognizer +r = sr.Recognizer() + +# open the file +with sr.AudioFile(filename) as source: + # listen for the data (load audio to memory) + audio_data = r.record(source) + # recognize (convert from speech to text) + text = r.recognize_google(audio_data) + print(text) + diff --git a/nram/api/tempCodeRunnerFile.py b/nram/api/tempCodeRunnerFile.py new file mode 100644 index 0000000..2015d21 --- /dev/null +++ b/nram/api/tempCodeRunnerFile.py @@ -0,0 +1,2 @@ +import pprint +import google.generativeai as palm \ No newline at end of file diff --git a/nram/client/.eslintrc.cjs b/nram/client/.eslintrc.cjs new file mode 100644 index 0000000..4dcb439 --- /dev/null +++ b/nram/client/.eslintrc.cjs @@ -0,0 +1,20 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/nram/client/.gitignore b/nram/client/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/nram/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/nram/client/README.md b/nram/client/README.md new file mode 100644 index 0000000..f768e33 --- /dev/null +++ b/nram/client/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/nram/client/index.html b/nram/client/index.html new file mode 100644 index 0000000..b445701 --- /dev/null +++ b/nram/client/index.html @@ -0,0 +1,13 @@ + + + + + + + NRAM.ai + + +
+ + + diff --git a/nram/client/package-lock.json b/nram/client/package-lock.json new file mode 100644 index 0000000..391866c --- /dev/null +++ b/nram/client/package-lock.json @@ -0,0 +1,14679 @@ +{ + "name": "client", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.0.0", + "dependencies": { + "@emotion/react": "^11.11.1", + "@mantine/core": "^6.0.19", + "@mantine/hooks": "^6.0.19", + "@react-three/drei": "^9.80.4", + "@react-three/fiber": "^8.13.7", + "axios": "^1.4.0", + "crypto-js": "^4.1.1", + "framer-motion": "^10.16.0", + "framer-motion-3d": "^10.16.0", + "gsap": "^3.12.2", + "jwt-decode": "^3.1.2", + "leva": "^0.9.35", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^4.10.1", + "react-media-recorder": "^1.6.6", + "react-router-dom": "^6.15.0", + "react-speech-recognition": "^3.10.0", + "react-toggle-dark-mode": "^1.1.1", + "react-use-clipboard": "^1.0.9" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react": "^4.0.3", + "autoprefixer": "^10.4.15", + "eslint": "^8.45.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "postcss": "^8.4.28", + "tailwindcss": "^3.3.3", + "vite": "^4.4.5" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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.10", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", + "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", + "dependencies": { + "@babel/highlight": "^7.22.10", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.10.tgz", + "integrity": "sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", + "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "dependencies": { + "@babel/types": "^7.22.10", + "@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-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.10.tgz", + "integrity": "sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz", + "integrity": "sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", + "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "peer": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@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==", + "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==", + "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==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "peer": 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==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "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.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "peer": true, + "dependencies": { + "@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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.10.tgz", + "integrity": "sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==", + "peer": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.10.tgz", + "integrity": "sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==", + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", + "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz", + "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "peer": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", + "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-default-from": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "peer": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", + "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", + "peer": 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-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", + "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "peer": 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-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "peer": 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-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "peer": 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-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "peer": 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-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "peer": 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-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "peer": 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-async-generator-functions": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.10.tgz", + "integrity": "sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "peer": 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-block-scoping": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.10.tgz", + "integrity": "sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==", + "peer": 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-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "peer": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "peer": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.10.tgz", + "integrity": "sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==", + "peer": 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-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "peer": 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-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "peer": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", + "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "peer": 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-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "peer": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "peer": 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-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "peer": 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-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "peer": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "peer": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "peer": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "peer": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "peer": 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-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.10.tgz", + "integrity": "sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "peer": 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-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "peer": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "peer": 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-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "peer": 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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", + "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "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==", + "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-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "peer": 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-runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.10.tgz", + "integrity": "sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "peer": 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-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "peer": 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-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "peer": 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-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "peer": 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-typescript": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", + "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "peer": 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-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.10.tgz", + "integrity": "sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.10", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.10", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.10", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.10", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.10", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.10", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", + "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-transform-flow-strip-types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", + "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", + "peer": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "peer": true + }, + "node_modules/@babel/runtime": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", + "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "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.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.10.tgz", + "integrity": "sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==", + "dependencies": { + "@babel/code-frame": "^7.22.10", + "@babel/generator": "^7.22.10", + "@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.6", + "@babel/parser": "^7.22.10", + "@babel/types": "^7.22.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.10.tgz", + "integrity": "sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==", + "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/@chevrotain/cst-dts-gen": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", + "integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==", + "dependencies": { + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.5.0.tgz", + "integrity": "sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==", + "dependencies": { + "@chevrotain/types": "10.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/@chevrotain/types": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.5.0.tgz", + "integrity": "sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==" + }, + "node_modules/@chevrotain/utils": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.5.0.tgz", + "integrity": "sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==" + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/babel-plugin/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/cache/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "optional": true + }, + "node_modules/@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/serialize/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "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.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", + "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", + "dependencies": { + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz", + "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==", + "dependencies": { + "@floating-ui/core": "^1.4.1", + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.1.tgz", + "integrity": "sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==", + "dependencies": { + "@floating-ui/dom": "^1.3.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react/node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz", + "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==" + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "peer": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "peer": true, + "dependencies": { + "@hapi/hoek": "^9.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/@jest/create-cache-key-function": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.2.tgz", + "integrity": "sha512-oGVRMr8na9h1vUiem1E/Uoxb/NR9BdfKb7IBZ+pNWxJQmTYSbDF0dsVBAGqNU7MBQwYJDyRx0H7H/0itiqAgQg==", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz", + "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==", + "peer": true, + "dependencies": { + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz", + "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.6.2", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@jest/types/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/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==", + "peer": true + }, + "node_modules/@jest/types/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "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.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "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==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mantine/core": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.19.tgz", + "integrity": "sha512-SvMZCOgCc315SIg6hkuLM0ZnBaAac4VFDHZ0BM5LIE4MPJUpe4QOLsg/5RGxOa5s7JRCtu/dawH3/9frvfDrhw==", + "dependencies": { + "@floating-ui/react": "^0.19.1", + "@mantine/styles": "6.0.19", + "@mantine/utils": "6.0.19", + "@radix-ui/react-scroll-area": "1.0.2", + "react-remove-scroll": "^2.5.5", + "react-textarea-autosize": "8.3.4" + }, + "peerDependencies": { + "@mantine/hooks": "6.0.19", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/hooks": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.19.tgz", + "integrity": "sha512-YkmuB6kmoenU1PVuE8tLBA+6RJIY9hIsGyIQG1yuPAy6SLWNFT8g2T9YvI/psqsUbVIYGaNEXg8zq42xbxnD8Q==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@mantine/styles": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.19.tgz", + "integrity": "sha512-0tg3Dvv/kxCc1mbQVFhZaIhlSbSbV1F/3xG0NRlP2DF23mw9088o5KaIXGKM6XkXU6OEt/f99nDCUHBk2ixtUg==", + "dependencies": { + "clsx": "1.1.1", + "csstype": "3.0.9" + }, + "peerDependencies": { + "@emotion/react": ">=11.9.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/styles/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + }, + "node_modules/@mantine/utils": { + "version": "6.0.19", + "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.19.tgz", + "integrity": "sha512-duvtnaW1gDR2gnvUqnWhl6DMW7sN0HEWqS8Z/BbwaMi75U+Xp17Q72R9JtiIrxQbzsq+KvH9L9B/pxMVwbLirg==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@mediapipe/tasks-vision": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.2.tgz", + "integrity": "sha512-d8Q9uRK89ZRWmED2JLI9/blpJcfdbh0iEUuMo8TgkMzNfQBY1/GC0FEJWrairTwHkxIf6Oud1vFBP+aHicWqJA==" + }, + "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/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz", + "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz", + "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.6.tgz", + "integrity": "sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@react-native-community/cli": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.6.tgz", + "integrity": "sha512-bdwOIYTBVQ9VK34dsf6t3u6vOUU5lfdhKaAxiAVArjsr7Je88Bgs4sAbsOYsNK3tkE8G77U6wLpekknXcanlww==", + "peer": true, + "dependencies": { + "@react-native-community/cli-clean": "11.3.6", + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-doctor": "11.3.6", + "@react-native-community/cli-hermes": "11.3.6", + "@react-native-community/cli-plugin-metro": "11.3.6", + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "@react-native-community/cli-types": "11.3.6", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.0", + "semver": "^7.5.2" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-clean": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.6.tgz", + "integrity": "sha512-jOOaeG5ebSXTHweq1NznVJVAFKtTFWL4lWgUXl845bCGX7t1lL8xQNWHKwT8Oh1pGR2CI3cKmRjY4hBg+pEI9g==", + "peer": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "prompts": "^2.4.0" + } + }, + "node_modules/@react-native-community/cli-clean/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-clean/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-clean/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-clean/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-clean/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-config": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.6.tgz", + "integrity": "sha512-edy7fwllSFLan/6BG6/rznOBCLPrjmJAE10FzkEqNLHowi0bckiAPg1+1jlgQ2qqAxV5kuk+c9eajVfQvPLYDA==", + "peer": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli-config/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-config/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-config/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-config/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-config/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.6.tgz", + "integrity": "sha512-jhMOSN/iOlid9jn/A2/uf7HbC3u7+lGktpeGSLnHNw21iahFBzcpuO71ekEdlmTZ4zC/WyxBXw9j2ka33T358w==", + "peer": true, + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-doctor": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.6.tgz", + "integrity": "sha512-UT/Tt6omVPi1j6JEX+CObc85eVFghSZwy4GR9JFMsO7gNg2Tvcu1RGWlUkrbmWMAMHw127LUu6TGK66Ugu1NLA==", + "peer": true, + "dependencies": { + "@react-native-community/cli-config": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "envinfo": "^7.7.2", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "prompts": "^2.4.0", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "sudo-prompt": "^9.0.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-doctor/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-doctor/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-doctor/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-doctor/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "peer": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-doctor/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/@react-native-community/cli-hermes": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.6.tgz", + "integrity": "sha512-O55YAYGZ3XynpUdePPVvNuUPGPY0IJdctLAOHme73OvS80gNwfntHDXfmY70TGHWIfkK2zBhA0B+2v8s5aTyTA==", + "peer": true, + "dependencies": { + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6", + "ip": "^1.1.5" + } + }, + "node_modules/@react-native-community/cli-hermes/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-hermes/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-hermes/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-hermes/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-hermes/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.6.tgz", + "integrity": "sha512-ZARrpLv5tn3rmhZc//IuDM1LSAdYnjUmjrp58RynlvjLDI4ZEjBAGCQmgysRgXAsK7ekMrfkZgemUczfn9td2A==", + "peer": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "glob": "^7.1.3", + "logkitty": "^0.7.1" + } + }, + "node_modules/@react-native-community/cli-platform-android/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-platform-android/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-platform-android/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-platform-android/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-android/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.6.tgz", + "integrity": "sha512-tZ9VbXWiRW+F+fbZzpLMZlj93g3Q96HpuMsS6DRhrTiG+vMQ3o6oPWSEEmMGOvJSYU7+y68Dc9ms2liC7VD6cw==", + "peer": true, + "dependencies": { + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, + "node_modules/@react-native-community/cli-platform-ios/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-platform-ios/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-platform-ios/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-platform-ios/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-ios/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-plugin-metro": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.6.tgz", + "integrity": "sha512-D97racrPX3069ibyabJNKw9aJpVcaZrkYiEzsEnx50uauQtPDoQ1ELb/5c6CtMhAEGKoZ0B5MS23BbsSZcLs2g==", + "peer": true, + "dependencies": { + "@react-native-community/cli-server-api": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "metro": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-react-native-babel-transformer": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "readline": "^1.3.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-plugin-metro/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-plugin-metro/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.6.tgz", + "integrity": "sha512-8GUKodPnURGtJ9JKg8yOHIRtWepPciI3ssXVw5jik7+dZ43yN8P5BqCoDaq8e1H1yRer27iiOfT7XVnwk8Dueg==", + "peer": true, + "dependencies": { + "@react-native-community/cli-debugger-ui": "11.3.6", + "@react-native-community/cli-tools": "11.3.6", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^7.5.1" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.6.tgz", + "integrity": "sha512-JpmUTcDwAGiTzLsfMlIAYpCMSJ9w2Qlf7PU7mZIRyEu61UzEawyw83DkqfbzDPBuRwRnaeN44JX2CP/yTO3ThQ==", + "peer": true, + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3" + } + }, + "node_modules/@react-native-community/cli-tools/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli-tools/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli-tools/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==", + "peer": true + }, + "node_modules/@react-native-community/cli-tools/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-tools/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/@react-native-community/cli-types": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.6.tgz", + "integrity": "sha512-6DxjrMKx5x68N/tCJYVYRKAtlRHbtUVBZrnAvkxbRWFD9v4vhNgsPM0RQm8i2vRugeksnao5mbnRGpS6c0awCw==", + "peer": true, + "dependencies": { + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@react-native-community/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/@react-native-community/cli/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@react-native-community/cli/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==", + "peer": true + }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/@react-native/assets-registry": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.72.0.tgz", + "integrity": "sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==", + "peer": true + }, + "node_modules/@react-native/codegen": { + "version": "0.72.6", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.72.6.tgz", + "integrity": "sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==", + "peer": true, + "dependencies": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", + "jscodeshift": "^0.14.0", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.72.11", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz", + "integrity": "sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw==", + "peer": true + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.72.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz", + "integrity": "sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA==", + "peer": true + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.72.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz", + "integrity": "sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw==", + "peer": true + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", + "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/@react-spring/animated": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.6.1.tgz", + "integrity": "sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==", + "dependencies": { + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/core": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.6.1.tgz", + "integrity": "sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==", + "dependencies": { + "@react-spring/animated": "~9.6.1", + "@react-spring/rafz": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/konva": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/konva/-/konva-9.7.3.tgz", + "integrity": "sha512-R9sY6SiPGYqz1383P5qppg5z57YfChVknOC1UxxaGxpw+WiZa8fZ4zmZobslrw+os3/+HAXZv8O+EvU/nQpf7g==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/core": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "konva": ">=2.6", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-konva": "^16.8.0 || ^16.8.7-0 || ^16.9.0-0 || ^16.10.1-0 || ^16.12.0-0 || ^16.13.0-0 || ^17.0.0-0 || ^17.0.1-0 || ^17.0.2-0 || ^18.0.0-0" + } + }, + "node_modules/@react-spring/konva/node_modules/@react-spring/animated": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz", + "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==", + "dependencies": { + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/konva/node_modules/@react-spring/core": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz", + "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/konva/node_modules/@react-spring/shared": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz", + "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==", + "dependencies": { + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/konva/node_modules/@react-spring/types": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz", + "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==" + }, + "node_modules/@react-spring/native": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/native/-/native-9.7.3.tgz", + "integrity": "sha512-4mpxX3FuEBCUT6ae2fjhxcJW6bhr2FBwFf274eXB7n+U30Gdg8Wo2qYwcUnmiAA0S3dvP8vLTazx3+CYWFShnA==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/core": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || >=17.0.0 || >=18.0.0", + "react-native": ">=0.58" + } + }, + "node_modules/@react-spring/native/node_modules/@react-spring/animated": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz", + "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==", + "dependencies": { + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/native/node_modules/@react-spring/core": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz", + "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/native/node_modules/@react-spring/shared": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz", + "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==", + "dependencies": { + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/native/node_modules/@react-spring/types": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz", + "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==" + }, + "node_modules/@react-spring/rafz": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.6.1.tgz", + "integrity": "sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==" + }, + "node_modules/@react-spring/shared": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.6.1.tgz", + "integrity": "sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==", + "dependencies": { + "@react-spring/rafz": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/three": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.6.1.tgz", + "integrity": "sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==", + "dependencies": { + "@react-spring/animated": "~9.6.1", + "@react-spring/core": "~9.6.1", + "@react-spring/shared": "~9.6.1", + "@react-spring/types": "~9.6.1" + }, + "peerDependencies": { + "@react-three/fiber": ">=6.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "three": ">=0.126" + } + }, + "node_modules/@react-spring/types": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.6.1.tgz", + "integrity": "sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==" + }, + "node_modules/@react-spring/web": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.7.3.tgz", + "integrity": "sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/core": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/web/node_modules/@react-spring/animated": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz", + "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==", + "dependencies": { + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/web/node_modules/@react-spring/core": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz", + "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/web/node_modules/@react-spring/shared": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz", + "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==", + "dependencies": { + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/web/node_modules/@react-spring/types": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz", + "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==" + }, + "node_modules/@react-spring/zdog": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/zdog/-/zdog-9.7.3.tgz", + "integrity": "sha512-L+yK/1PvNi9n8cldiJ309k4LdxcPkeWE0W18l1zrP1IBIyd5NB5EPA8DMsGr9gtNnnIujtEzZk+4JIOjT8u/tw==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/core": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-zdog": ">=1.0", + "zdog": ">=1.0" + } + }, + "node_modules/@react-spring/zdog/node_modules/@react-spring/animated": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz", + "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==", + "dependencies": { + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/zdog/node_modules/@react-spring/core": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz", + "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/zdog/node_modules/@react-spring/shared": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz", + "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==", + "dependencies": { + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@react-spring/zdog/node_modules/@react-spring/types": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz", + "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==" + }, + "node_modules/@react-three/drei": { + "version": "9.80.4", + "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.80.4.tgz", + "integrity": "sha512-DcD0AnWhRDvZKb/eoVVbRE/zZZEpw9EgeO2AZ1JzceluxsplkkPrvPweJFoc4egAGCE4PAGnnd7QxW8d7gNA3g==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@mediapipe/tasks-vision": "0.10.2", + "@react-spring/three": "~9.6.1", + "@use-gesture/react": "^10.2.24", + "camera-controls": "^2.4.2", + "detect-gpu": "^5.0.28", + "glsl-noise": "^0.0.0", + "lodash.clamp": "^4.0.3", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "maath": "^0.6.0", + "meshline": "^3.1.6", + "react-composer": "^5.0.3", + "react-merge-refs": "^1.1.0", + "stats-gl": "^1.0.4", + "stats.js": "^0.17.0", + "suspend-react": "^0.1.3", + "three-mesh-bvh": "^0.6.0", + "three-stdlib": "^2.23.9", + "troika-three-text": "^0.47.2", + "utility-types": "^3.10.0", + "zustand": "^3.5.13" + }, + "peerDependencies": { + "@react-three/fiber": ">=8.0", + "react": ">=18.0", + "react-dom": ">=18.0", + "three": ">=0.137" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/@react-three/fiber": { + "version": "8.13.7", + "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.13.7.tgz", + "integrity": "sha512-fH1wYi8+A2YZX8uYd9N4hfbAV+kHE565s7f62+SMNmpeynaUsN8NzXACmmJ6BpVKAKdxfvOde6dBGwG1BrWOKQ==", + "dependencies": { + "@babel/runtime": "^7.17.8", + "@types/react-reconciler": "^0.26.7", + "its-fine": "^1.0.6", + "react-reconciler": "^0.27.0", + "react-use-measure": "^2.1.1", + "scheduler": "^0.21.0", + "suspend-react": "^0.1.3", + "zustand": "^3.7.1" + }, + "peerDependencies": { + "expo": ">=43.0", + "expo-asset": ">=8.4", + "expo-gl": ">=11.0", + "react": ">=18.0", + "react-dom": ">=18.0", + "react-native": ">=0.64", + "three": ">=0.133" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + }, + "expo-asset": { + "optional": true + }, + "expo-gl": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", + "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "peer": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "peer": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "peer": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "peer": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@stitches/react": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@stitches/react/-/react-1.2.8.tgz", + "integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==", + "peerDependencies": { + "react": ">= 16.3.0" + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "18.6.4", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-18.6.4.tgz", + "integrity": "sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==", + "peer": true + }, + "node_modules/@types/draco3d": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.2.tgz", + "integrity": "sha512-goh23EGr6CLV6aKPwN1p8kBD/7tT5V/bLpToSbarKrwVejqNrspVrv8DhliteYkkhZYrlq/fwKZRRUzH4XN88w==" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "peer": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", + "peer": true + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.0", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "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==" + }, + "node_modules/@types/react": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", + "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "devOptional": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-reconciler": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz", + "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==", + "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==" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "peer": true + }, + "node_modules/@types/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==", + "peer": true + }, + "node_modules/@types/three": { + "version": "0.155.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.155.0.tgz", + "integrity": "sha512-IzdbqXsGsbG0flvq9D5L9pZRwySQQps2bGcizLYEsfvK3dM+B0sqKR6S+xAOXbouXemfDmHttrcQjVOM46YnAw==", + "peer": true, + "dependencies": { + "@tweenjs/tween.js": "~18.6.4", + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.9", + "lil-gui": "~0.17.0", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.3.tgz", + "integrity": "sha512-orrXqFCuuRE5hMuwLZhPaQrukAZxpkMzNJHmKCNJ16XT5yiR5iNBLNdn+xONbfzU2XAXTZR0GA2R99ciUd/2hg==" + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "peer": true + }, + "node_modules/@use-gesture/core": { + "version": "10.2.27", + "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.27.tgz", + "integrity": "sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA==" + }, + "node_modules/@use-gesture/react": { + "version": "10.2.27", + "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.27.tgz", + "integrity": "sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==", + "dependencies": { + "@use-gesture/core": "10.2.27" + }, + "peerDependencies": { + "react": ">= 16.8.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz", + "integrity": "sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "peer": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "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==", + "peer": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "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/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "peer": true + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "peer": true, + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-fragments/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-fragments/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "peer": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "peer": true + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "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.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/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "peer": true + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "peer": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "peer": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "peer": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/automation-events": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/automation-events/-/automation-events-6.0.9.tgz", + "integrity": "sha512-JEJzZRfRb26FMWR8zE2D/H/n5n+NNFZh1BtmDcpZVJOhLYKLGFCImBuxChRBhpZaOyIxqobPtM839amAeu2H9g==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=16.1.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "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/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "peer": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-macros/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-plugin-macros/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-macros/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", + "peer": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "peer": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "peer": true + }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "peer": true, + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "peer": true, + "dependencies": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "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/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "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==", + "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==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/broker-factory": { + "version": "3.0.84", + "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.0.84.tgz", + "integrity": "sha512-Z5ihhfifx7n//u99AG88z1q4csVt8vgf72jN5JYD4FqkPWTMp+xCvUaKdWQUaiPFOmNYOV8uPIcqB1MtrLGjiQ==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "fast-unique-numbers": "^8.0.7", + "tslib": "^2.6.1", + "worker-factory": "^7.0.9" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "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.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "peer": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "peer": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "peer": true, + "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==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "peer": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "peer": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camera-controls": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.7.0.tgz", + "integrity": "sha512-HONMoMYHieOCQOoweS639bdWHP/P/fvVGR08imnECGVUp04mqGfsX/zp1ZufLeiAA5hA6i1JhP6SrnOwh01C0w==", + "peerDependencies": { + "three": ">=0.126.1" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001522", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", + "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", + "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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chevrotain": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.5.0.tgz", + "integrity": "sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==", + "dependencies": { + "@chevrotain/cst-dts-gen": "10.5.0", + "@chevrotain/gast": "10.5.0", + "@chevrotain/types": "10.5.0", + "@chevrotain/utils": "10.5.0", + "lodash": "4.17.21", + "regexp-to-ast": "0.5.0" + } + }, + "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/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "peer": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "engines": { + "node": ">=6" + } + }, + "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==", + "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==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "peer": 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/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "peer": true + }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "peer": true + }, + "node_modules/compilerr": { + "version": "11.0.9", + "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-11.0.9.tgz", + "integrity": "sha512-jMa+nWaVR+I+hFB8lL2mMhvTHGWqloq1/SuEJiEkiagsl+NXb2qnBsGoULuvmTJQMX5eI/sc4eWqwewY5vXCmA==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "dashify": "^2.0.0", + "indefinite-article": "0.0.2", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=16.1.0" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "peer": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "peer": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": 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==" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js-compat": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.1.tgz", + "integrity": "sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==", + "peer": true, + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "peer": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "peer": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/dashify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dashify/-/dashify-2.0.0.tgz", + "integrity": "sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==", + "engines": { + "node": ">=4" + } + }, + "node_modules/dayjs": { + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "peer": true + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "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/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "peer": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "peer": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deprecated-react-native-prop-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz", + "integrity": "sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw==", + "peer": true, + "dependencies": { + "@react-native/normalize-colors": "*", + "invariant": "*", + "prop-types": "*" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "peer": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-gpu": { + "version": "5.0.37", + "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.37.tgz", + "integrity": "sha512-EraWs84faI4iskB4qvE39bevMIazEvd1RpoyGLOBesRLbiz6eMeJqqRPHjEFClfRByYZzi9IzU35rBXIO76oDw==", + "dependencies": { + "webgl-constants": "^1.1.1" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "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/draco3d": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.6.tgz", + "integrity": "sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==" + }, + "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==", + "peer": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.496", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.496.tgz", + "integrity": "sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "peer": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/envinfo": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", + "peer": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "peer": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "peer": true, + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "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.1", + "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.5.0", + "safe-array-concat": "^1.0.0", + "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-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.0", + "safe-array-concat": "^1.0.0" + } + }, + "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.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "peer": true + }, + "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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz", + "integrity": "sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==", + "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.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/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.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "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.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extendable-media-recorder": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/extendable-media-recorder/-/extendable-media-recorder-6.6.10.tgz", + "integrity": "sha512-gnSmLqDFq40ZdbGfuarnMLNqYPLCPpPr0p21V+g67wG4Pv2oCc/ga8sfsZrEM5GywEi7FcpyRm3z99JWZ/0aPw==", + "dependencies": { + "@babel/runtime": "^7.18.9", + "media-encoder-host": "^8.0.76", + "multi-buffer-data-view": "^3.0.20", + "recorder-audio-worklet": "^5.1.26", + "standardized-audio-context": "^25.3.29", + "subscribable-things": "^2.1.6", + "tslib": "^2.4.0" + } + }, + "node_modules/extendable-media-recorder-wav-encoder": { + "version": "7.0.96", + "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder/-/extendable-media-recorder-wav-encoder-7.0.96.tgz", + "integrity": "sha512-xNwVUeajBMsrgdiMEcakZ/0LCmcvnn6ZRCT5TTfQe8VqMPCJJyrW+0KyEgqzBEe2bQmq8dEpIMzzYg+5BnIzMA==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "extendable-media-recorder-wav-encoder-broker": "^7.0.88", + "extendable-media-recorder-wav-encoder-worker": "^8.0.86", + "tslib": "^2.6.1" + } + }, + "node_modules/extendable-media-recorder-wav-encoder-broker": { + "version": "7.0.88", + "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-broker/-/extendable-media-recorder-wav-encoder-broker-7.0.88.tgz", + "integrity": "sha512-QmihcCI51YJbbH/09NaFxQPbK3pwp71mXUX+f4xKN/ACWUu4s/XQx65KEpK02TnufmX9wCom5xagbtPiCQzWGQ==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "broker-factory": "^3.0.84", + "extendable-media-recorder-wav-encoder-worker": "^8.0.86", + "tslib": "^2.6.1" + } + }, + "node_modules/extendable-media-recorder-wav-encoder-worker": { + "version": "8.0.86", + "resolved": "https://registry.npmjs.org/extendable-media-recorder-wav-encoder-worker/-/extendable-media-recorder-wav-encoder-worker-8.0.86.tgz", + "integrity": "sha512-CCJzijR+w1+V/j9fFelKhU7h20Bw3oIkIUNG/egevYUbwGhZC+5Y0edttU66MbiL1CsopOJ6lHpB3ag7+M6R5A==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "tslib": "^2.6.1", + "worker-factory": "^7.0.9" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-unique-numbers": { + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-8.0.8.tgz", + "integrity": "sha512-TrtnK7tf1MfJ1gmWMM0rk6VGy2XVW8lV/7HjOUH+kd1gk27qHchDLhV83yq4NmASGA+ZnRozR99p2Sc2bE5s6Q==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "tslib": "^2.6.1" + }, + "engines": { + "node": ">=16.1.0" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "peer": true, + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "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/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "peer": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-selector": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.5.0.tgz", + "integrity": "sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==", + "dependencies": { + "tslib": "^2.0.3" + }, + "engines": { + "node": ">= 10" + } + }, + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "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==", + "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/flow-enums-runtime": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz", + "integrity": "sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ==", + "peer": true + }, + "node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", + "integrity": "sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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/fraction.js": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.1.tgz", + "integrity": "sha512-/KxoyCnPM0GwYI4NN0Iag38Tqt+od3/mLuguepLgCAKPn0ZhC544nssAW0tG2/00zXEYl9W+7hwAIpLHo6Oc7Q==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/framer-motion": { + "version": "10.16.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.16.0.tgz", + "integrity": "sha512-R+88Mkr/1dr7XHjacwptfJyrywRzQ1HZX3YSZtN4tFMBq1O8GGCbDEv31Nf/H08o0hUXLC87GkxsR/1bZgwXfw==", + "dependencies": { + "tslib": "^2.4.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/framer-motion-3d": { + "version": "10.16.0", + "resolved": "https://registry.npmjs.org/framer-motion-3d/-/framer-motion-3d-10.16.0.tgz", + "integrity": "sha512-/C6GarbmKHMs7ojaENAyUGi3KwUTxoV+Z9sxc+3vFcgf7IXIKJpiYjJbT5ZkZjGMgRQETvkzTJt94VYCETibXQ==", + "dependencies": { + "framer-motion": "^10.16.0", + "react-merge-refs": "^2.0.1" + }, + "peerDependencies": { + "@react-three/fiber": "^8.2.2", + "react": ">=18.0", + "react-dom": ">=18.0", + "three": ">=0.133" + } + }, + "node_modules/framer-motion-3d/node_modules/react-merge-refs": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-2.0.2.tgz", + "integrity": "sha512-V5BGTwGa2r+/t0A/BZMS6L7VPXY0CU8xtAhkT3XUoI1WJJhhtvulvoiZkJ5Jt9YAW23m4xFWmhQ+C5HwjtTFhQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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==", + "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/glsl-noise": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz", + "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==" + }, + "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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gsap": { + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.2.tgz", + "integrity": "sha512-EkYnpG8qHgYBFAwsgsGEqvT1WUidX0tt/ijepx7z8EUJHElykg91RvW1XbkT59T0gZzzszOpjQv7SE41XuIXyQ==" + }, + "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-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==", + "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/hermes-estree": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz", + "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==", + "peer": true + }, + "node_modules/hermes-parser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz", + "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==", + "peer": true, + "dependencies": { + "hermes-estree": "0.12.0" + } + }, + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "peer": true, + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "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==", + "peer": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "peer": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "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/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "peer": true, + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indefinite-article": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/indefinite-article/-/indefinite-article-0.0.2.tgz", + "integrity": "sha512-Au/2XzRkvxq2J6w5uvSSbBKPZ5kzINx5F2wb0SF8xpRL8BP9Lav81TnRbfPp6p+SYjYxwaaLn4EUwI3/MmYKSw==" + }, + "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==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/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/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "peer": true + }, + "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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "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-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.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": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.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-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, + "node_modules/its-fine": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.1.1.tgz", + "integrity": "sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==", + "dependencies": { + "@types/react-reconciler": "^0.28.0" + }, + "peerDependencies": { + "react": ">=18.0" + } + }, + "node_modules/its-fine/node_modules/@types/react-reconciler": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.2.tgz", + "integrity": "sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/jest-environment-node": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz", + "integrity": "sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==", + "peer": true, + "dependencies": { + "@jest/environment": "^29.6.2", + "@jest/fake-timers": "^29.6.2", + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-mock": "^29.6.2", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz", + "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/jest-message-util/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/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==", + "peer": true + }, + "node_modules/jest-message-util/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "peer": true + }, + "node_modules/jest-message-util/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz", + "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "jest-util": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz", + "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/jest-util/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/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==", + "peer": true + }, + "node_modules/jest-util/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz", + "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.4.3", + "leven": "^3.1.0", + "pretty-format": "^29.6.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/jest-validate/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/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==", + "peer": true + }, + "node_modules/jest-validate/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz", + "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "peer": true + }, + "node_modules/jest-validate/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.3.tgz", + "integrity": "sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.9.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", + "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", + "peer": true, + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "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/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "peer": true + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "peer": true + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/jscodeshift/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/jscodeshift/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jscodeshift/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==", + "peer": true + }, + "node_modules/jscodeshift/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jscodeshift/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "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==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/konva": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/konva/-/konva-9.2.0.tgz", + "integrity": "sha512-+woI76Sk+VFVl9z7zPkuTnN2zFpEYg27YWz8BCdQXpt5IS3pdnSPAPQVPPMidcbDi9/G5b/IOIp35/KqMGiYPA==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/lavrton" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/konva" + }, + { + "type": "github", + "url": "https://github.com/sponsors/lavrton" + } + ], + "peer": true + }, + "node_modules/ktx-parse": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.4.5.tgz", + "integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==" + }, + "node_modules/leva": { + "version": "0.9.35", + "resolved": "https://registry.npmjs.org/leva/-/leva-0.9.35.tgz", + "integrity": "sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==", + "dependencies": { + "@radix-ui/react-portal": "^1.0.2", + "@radix-ui/react-tooltip": "^1.0.5", + "@stitches/react": "^1.2.8", + "@use-gesture/react": "^10.2.5", + "colord": "^2.9.2", + "dequal": "^2.0.2", + "merge-value": "^1.0.0", + "react-colorful": "^5.5.1", + "react-dropzone": "^12.0.0", + "v8n": "^1.3.3", + "zustand": "^3.6.9" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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/lil-gui": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/lil-gui/-/lil-gui-0.17.0.tgz", + "integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==", + "peer": true + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "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==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "peer": true + }, + "node_modules/lodash.clamp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lodash.clamp/-/lodash.clamp-4.0.3.tgz", + "integrity": "sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "peer": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "peer": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/log-symbols/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/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==", + "peer": true + }, + "node_modules/log-symbols/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "peer": true, + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/logkitty/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/logkitty/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/logkitty/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/logkitty/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==", + "peer": true + }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "peer": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "peer": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/maath": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/maath/-/maath-0.6.0.tgz", + "integrity": "sha512-dSb2xQuP7vDnaYqfoKzlApeRcR2xtN8/f7WV/TMAkBC8552TwTLtOO0JTcSygkYMjNDPoo6V01jTw/aPi4JrMw==", + "peerDependencies": { + "@types/three": ">=0.144.0", + "three": ">=0.144.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "peer": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "peer": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/media-encoder-host": { + "version": "8.0.99", + "resolved": "https://registry.npmjs.org/media-encoder-host/-/media-encoder-host-8.0.99.tgz", + "integrity": "sha512-F+4v70AsYbDO4d9TusWDDeSbdJuRK5XlcAsv29o2vbv4Cn212WwR78w9MYEq0iBAkkHg9/aLrJpog3Yhz5BzFQ==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "media-encoder-host-broker": "^7.0.89", + "media-encoder-host-worker": "^9.1.11", + "tslib": "^2.6.1" + } + }, + "node_modules/media-encoder-host-broker": { + "version": "7.0.89", + "resolved": "https://registry.npmjs.org/media-encoder-host-broker/-/media-encoder-host-broker-7.0.89.tgz", + "integrity": "sha512-2J57Dj1jBvo3EfmON8LK1Xuwe/3gJ+7N5c22nTxvMrxDo79xPYbSbVRGXFvY/rpO6rlhMlNcLoGecV6Tq1bu0g==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "broker-factory": "^3.0.84", + "fast-unique-numbers": "^8.0.7", + "media-encoder-host-worker": "^9.1.11", + "tslib": "^2.6.1" + } + }, + "node_modules/media-encoder-host-worker": { + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/media-encoder-host-worker/-/media-encoder-host-worker-9.1.11.tgz", + "integrity": "sha512-7eBfNSFtJ366f3iLtOchuMY8a4+n8wAyVlVYeyh8d9EdxAytieYU+zjjluXYGSczqKKKFrP4tE/8Y3TJtQBhCg==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "extendable-media-recorder-wav-encoder-broker": "^7.0.88", + "tslib": "^2.6.1", + "worker-factory": "^7.0.9" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "peer": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "peer": true + }, + "node_modules/merge-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-value/-/merge-value-1.0.0.tgz", + "integrity": "sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==", + "dependencies": { + "get-value": "^2.0.6", + "is-extendable": "^1.0.0", + "mixin-deep": "^1.2.0", + "set-value": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/meshline": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.1.6.tgz", + "integrity": "sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==", + "peerDependencies": { + "three": ">=0.137" + } + }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "peer": true + }, + "node_modules/metro": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz", + "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.12.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-config": "0.76.7", + "metro-core": "0.76.7", + "metro-file-map": "0.76.7", + "metro-inspector-proxy": "0.76.7", + "metro-minify-terser": "0.76.7", + "metro-minify-uglify": "0.76.7", + "metro-react-native-babel-preset": "0.76.7", + "metro-resolver": "0.76.7", + "metro-runtime": "0.76.7", + "metro-source-map": "0.76.7", + "metro-symbolicate": "0.76.7", + "metro-transform-plugins": "0.76.7", + "metro-transform-worker": "0.76.7", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz", + "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.12.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-cache": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz", + "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==", + "peer": true, + "dependencies": { + "metro-core": "0.76.7", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-cache-key": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz", + "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-config": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz", + "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==", + "peer": true, + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "jest-validate": "^29.2.1", + "metro": "0.76.7", + "metro-cache": "0.76.7", + "metro-core": "0.76.7", + "metro-runtime": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-config/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-config/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-core": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz", + "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==", + "peer": true, + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.76.7" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-file-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz", + "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==", + "peer": true, + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/metro-file-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/metro-file-map/node_modules/@types/yargs": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", + "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/metro-file-map/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/metro-file-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/metro-file-map/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/metro-file-map/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==", + "peer": true + }, + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro-file-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/metro-file-map/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro-inspector-proxy": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz", + "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==", + "peer": true, + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.6.2" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-inspector-proxy/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-inspector-proxy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/metro-inspector-proxy/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/metro-minify-terser": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz", + "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==", + "peer": true, + "dependencies": { + "terser": "^5.15.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-minify-uglify": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz", + "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==", + "peer": true, + "dependencies": { + "uglify-es": "^3.1.9" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-react-native-babel-preset": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz", + "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-react-native-babel-transformer": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz", + "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "hermes-parser": "0.12.0", + "metro-react-native-babel-preset": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/metro-resolver": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz", + "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-runtime": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.8.tgz", + "integrity": "sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-runtime/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-source-map": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.8.tgz", + "integrity": "sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.8", + "nullthrows": "^1.1.1", + "ob1": "0.76.8", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-source-map/node_modules/metro-symbolicate": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz", + "integrity": "sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w==", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.8", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz", + "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.76.7", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-symbolicate/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-symbolicate/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz", + "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz", + "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==", + "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.76.7", + "metro-babel-transformer": "0.76.7", + "metro-cache": "0.76.7", + "metro-cache-key": "0.76.7", + "metro-source-map": "0.76.7", + "metro-transform-plugins": "0.76.7", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-worker/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-worker/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro-transform-worker/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/metro/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "peer": true + }, + "node_modules/metro/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/metro/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==", + "peer": true + }, + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/metro-runtime": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz", + "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro/node_modules/metro-source-map": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz", + "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.76.7", + "nullthrows": "^1.1.1", + "ob1": "0.76.7", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/metro/node_modules/ob1": { + "version": "0.76.7", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz", + "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/metro/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "peer": true, + "engines": { + "node": ">=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==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mmd-parser": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz", + "integrity": "sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==" + }, + "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/multi-buffer-data-view": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/multi-buffer-data-view/-/multi-buffer-data-view-3.0.24.tgz", + "integrity": "sha512-jm7Ycplx37ExXyQmqhwl7zfQmAj81y5LLzVx0XyWea4omP9W/xJhLEHs/5b+WojGyYSRt8BHiXZVcYzu68Ma0Q==", + "dependencies": { + "@babel/runtime": "^7.20.6", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=12.20.1" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "peer": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "peer": true + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "peer": true, + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "peer": true, + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "peer": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "peer": true + }, + "node_modules/ob1": { + "version": "0.76.8", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.8.tgz", + "integrity": "sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "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-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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/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==", + "peer": true, + "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==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "peer": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "peer": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opentype.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz", + "integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==", + "dependencies": { + "string.prototype.codepointat": "^0.2.1", + "tiny-inflate": "^1.0.3" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "peer": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/ora/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/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==", + "peer": true + }, + "node_modules/ora/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "peer": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "peer": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "peer": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "peer": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "peer": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pointer-events-polyfill": { + "version": "0.4.4-pre", + "resolved": "https://registry.npmjs.org/pointer-events-polyfill/-/pointer-events-polyfill-0.4.4-pre.tgz", + "integrity": "sha512-t7iitVY5jW9mGOFZEHphJOzB8eMhoYaE6I5HqsUX14rjsPa9F6OlMOCj3EpqDzNb/8XtMk2BxMpOyePPyuefHw==", + "peer": true + }, + "node_modules/postcss": { + "version": "8.4.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", + "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "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/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-import/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==" + }, + "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/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "peer": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/pretty-format/node_modules/@types/yargs": { + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/pretty-format/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": 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/pretty-format/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/pretty-format/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==", + "peer": true + }, + "node_modules/pretty-format/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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "peer": true + }, + "node_modules/pretty-format/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==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "peer": true, + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "peer": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "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": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "peer": true, + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "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-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-composer": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/react-composer/-/react-composer-5.0.3.tgz", + "integrity": "sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==", + "dependencies": { + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-devtools-core": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.28.0.tgz", + "integrity": "sha512-E3C3X1skWBdBzwpOUbmXG8SgH6BtsluSMe+s6rRcujNKG1DGi8uIfhdhszkgDpAsMoE55hwqRUzeXCmETDBpTg==", + "peer": true, + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "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-dom/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/react-dropzone": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-12.1.0.tgz", + "integrity": "sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.5.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8" + } + }, + "node_modules/react-icons": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.10.1.tgz", + "integrity": "sha512-/ngzDP/77tlCfqthiiGNZeYFACw85fUjZtLbedmJ5DTlNDIwETxhwBzdOJ21zj4iJdvc0J3y7yOsX3PpxAJzrw==", + "peerDependencies": { + "react": "*" + } + }, + "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==" + }, + "node_modules/react-konva": { + "version": "18.2.10", + "resolved": "https://registry.npmjs.org/react-konva/-/react-konva-18.2.10.tgz", + "integrity": "sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/lavrton" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/konva" + }, + { + "type": "github", + "url": "https://github.com/sponsors/lavrton" + } + ], + "peer": true, + "dependencies": { + "@types/react-reconciler": "^0.28.2", + "its-fine": "^1.1.1", + "react-reconciler": "~0.29.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "konva": "^8.0.1 || ^7.2.5 || ^9.0.0", + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/react-konva/node_modules/@types/react-reconciler": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.2.tgz", + "integrity": "sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==", + "peer": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/react-konva/node_modules/react-reconciler": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.29.0.tgz", + "integrity": "sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-konva/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/react-media-recorder": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/react-media-recorder/-/react-media-recorder-1.6.6.tgz", + "integrity": "sha512-VdC4bUINMWJyqOAHw1DaZ8HZhdCyVBK85zJ4cHMo9tsrekui3wq5ZxNtBmNe6nbAFQBTNj/pRnLEsiVrCW+TNQ==", + "dependencies": { + "extendable-media-recorder": "^6.6.5", + "extendable-media-recorder-wav-encoder": "^7.0.68" + } + }, + "node_modules/react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/react-native": { + "version": "0.72.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.4.tgz", + "integrity": "sha512-+vrObi0wZR+NeqL09KihAAdVlQ9IdplwznJWtYrjnQ4UbCW6rkzZJebRsugwUneSOKNFaHFEo1uKU89HsgtYBg==", + "peer": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.2.1", + "@react-native-community/cli": "11.3.6", + "@react-native-community/cli-platform-android": "11.3.6", + "@react-native-community/cli-platform-ios": "11.3.6", + "@react-native/assets-registry": "^0.72.0", + "@react-native/codegen": "^0.72.6", + "@react-native/gradle-plugin": "^0.72.11", + "@react-native/js-polyfills": "^0.72.1", + "@react-native/normalize-colors": "^0.72.0", + "@react-native/virtualized-lists": "^0.72.8", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "base64-js": "^1.1.2", + "deprecated-react-native-prop-types": "4.1.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.5", + "invariant": "^2.2.4", + "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "0.76.8", + "metro-source-map": "0.76.8", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^4.27.2", + "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "react": "18.2.0" + } + }, + "node_modules/react-native/node_modules/react-refresh": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", + "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "peer": true + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/react-reconciler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz", + "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.21.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.6.tgz", + "integrity": "sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", + "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", + "dependencies": { + "@remix-run/router": "1.8.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", + "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", + "dependencies": { + "@remix-run/router": "1.8.0", + "react-router": "6.15.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "peer": true, + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-speech-recognition": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/react-speech-recognition/-/react-speech-recognition-3.10.0.tgz", + "integrity": "sha512-EVSr4Ik8l9urwdPiK2r0+ADrLyDDrjB0qBRdUWO+w2MfwEBrj6NuRmy1GD3x7BU/V6/hab0pl8Lupen0zwlJyw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-spring": { + "version": "9.7.2", + "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-9.7.2.tgz", + "integrity": "sha512-cckALtj79yiaJiAOUNAhtZbdqjvv1bdn/FpobgkckIChc8l6vu0E53WQ+zWru60gINI3JT+oRJSIn2hUVlOvlQ==", + "dependencies": { + "@react-spring/core": "~9.7.3", + "@react-spring/konva": "~9.7.3", + "@react-spring/native": "~9.7.3", + "@react-spring/three": "~9.7.3", + "@react-spring/web": "~9.7.3", + "@react-spring/zdog": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-spring/node_modules/@react-spring/animated": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz", + "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==", + "dependencies": { + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-spring/node_modules/@react-spring/core": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz", + "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-spring/donate" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-spring/node_modules/@react-spring/shared": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz", + "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==", + "dependencies": { + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-spring/node_modules/@react-spring/three": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.7.3.tgz", + "integrity": "sha512-Q1p512CqUlmMK8UMBF/Rj79qndhOWq4XUTayxMP9S892jiXzWQuj+xC3Xvm59DP/D4JXusXpxxqfgoH+hmOktA==", + "dependencies": { + "@react-spring/animated": "~9.7.3", + "@react-spring/core": "~9.7.3", + "@react-spring/shared": "~9.7.3", + "@react-spring/types": "~9.7.3" + }, + "peerDependencies": { + "@react-three/fiber": ">=6.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "three": ">=0.126" + } + }, + "node_modules/react-spring/node_modules/@react-spring/types": { + "version": "9.7.3", + "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz", + "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==" + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", + "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-toggle-dark-mode": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-toggle-dark-mode/-/react-toggle-dark-mode-1.1.1.tgz", + "integrity": "sha512-25dH8tvQucpW9c024WQ6gXLxJ6Irc5iTFgAIKuwCUUfbbahyVd1OKEq5TqExzoPHoORIXlQKYXV/+fuyclr6FQ==", + "dependencies": { + "react-spring": "^9.0.0-rc.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/react-use-clipboard": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/react-use-clipboard/-/react-use-clipboard-1.0.9.tgz", + "integrity": "sha512-OcMzc14usXhqQnAkvzmhCXAbW5WBT2LSgscVh2vKHXZfg72jFsSOsEearqdeC/nUj8YxEfLnziqe7AE7YkWFwA==", + "dependencies": { + "copy-to-clipboard": "^3.3.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/react-use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", + "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==", + "dependencies": { + "debounce": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.13", + "react-dom": ">=16.13" + } + }, + "node_modules/react-zdog": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-zdog/-/react-zdog-1.2.1.tgz", + "integrity": "sha512-dY5u6v64SsXUlsjCQKCF0Bnly2XJuUOG+yigN+7nCwAGoWKAdB4OoBpxa4X4ee7NVnpXWXdas41AZiLiA5u2yw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.4.4", + "lodash-es": "^4.17.11", + "pointer-events-polyfill": "^0.4.4-pre", + "react-reconciler": "^0.20.4", + "resize-observer-polyfill": "^1.5.1", + "scheduler": "0.13.3" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8", + "zdog": ">=1.1" + } + }, + "node_modules/react-zdog/node_modules/react-reconciler": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", + "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^16.0.0" + } + }, + "node_modules/react-zdog/node_modules/react-reconciler/node_modules/scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/react-zdog/node_modules/scheduler": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.3.tgz", + "integrity": "sha512-UxN5QRYWtpR1egNWzJcVLk8jlegxAugswQc984lD3kU7NuobsO37/sRfbpTdBjtnD5TBNFA2Q2oLV5+UmPSmEQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "peer": true + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "peer": true, + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recorder-audio-worklet": { + "version": "5.1.39", + "resolved": "https://registry.npmjs.org/recorder-audio-worklet/-/recorder-audio-worklet-5.1.39.tgz", + "integrity": "sha512-w/RazoBwZnkFnEPRsJYNThOHznLQC98/IzWRrutpJQVvCcL0nbLsVSLDaRrnrqVpRUI11VgiXRh30HaHiSdVhQ==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "broker-factory": "^3.0.75", + "fast-unique-numbers": "^7.0.2", + "recorder-audio-worklet-processor": "^4.2.21", + "standardized-audio-context": "^25.3.41", + "subscribable-things": "^2.1.14", + "tslib": "^2.5.0", + "worker-factory": "^6.0.76" + } + }, + "node_modules/recorder-audio-worklet-processor": { + "version": "4.2.21", + "resolved": "https://registry.npmjs.org/recorder-audio-worklet-processor/-/recorder-audio-worklet-processor-4.2.21.tgz", + "integrity": "sha512-oiiS2sp6eMxkvjt13yetSYUJvnAxBZk60mIxz0Vf/2lDWa/4svCyMLHIDzYKbHahkISd0UYyqLS9dI7xDlUOCA==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "tslib": "^2.5.0" + } + }, + "node_modules/recorder-audio-worklet/node_modules/compilerr": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/compilerr/-/compilerr-10.0.2.tgz", + "integrity": "sha512-CFwUXxJ9OuWsSvnLSbefxi+GLsZ0YnuJh40ry5QdmZ1FWK59OG+QB8XSj6t7Kq+/c5DSS7en+cML6GlzHKH58A==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "dashify": "^2.0.0", + "indefinite-article": "0.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.15.4" + } + }, + "node_modules/recorder-audio-worklet/node_modules/fast-unique-numbers": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-7.0.2.tgz", + "integrity": "sha512-xnqpsnu889bHbq5cbDMwCJ2BPf6kjFPMu+RHfqKvisRxeEbTOVxY5aW/ZNsZ/r8OlwatxmjdFEVQog2xAhLkvg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.15.4" + } + }, + "node_modules/recorder-audio-worklet/node_modules/worker-factory": { + "version": "6.0.76", + "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-6.0.76.tgz", + "integrity": "sha512-W1iBNPmE9p0asU4aFmYJYCnMxhkvk4qlKc660GlHxWgmflY64NxxTbmKqipu4K5p9LiKKPjqXfcQme6153BZEQ==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "compilerr": "^10.0.2", + "fast-unique-numbers": "^7.0.2", + "tslib": "^2.5.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "peer": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "peer": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" + }, + "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/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "peer": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "peer": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "peer": true + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "peer": true + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "peer": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", + "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", + "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/rxjs-interop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rxjs-interop/-/rxjs-interop-2.0.0.tgz", + "integrity": "sha512-ASEq9atUw7lualXB+knvgtvwkCEvGWV2gDD/8qnASzBkzEARZck9JAyxmY8OS6Nc1pCPEgDTKNcx+YqqYfzArw==" + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "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.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "peer": true + }, + "node_modules/send/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==", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "peer": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "peer": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "peer": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "peer": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "peer": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "peer": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "peer": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "peer": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "peer": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "peer": true, + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/standardized-audio-context": { + "version": "25.3.55", + "resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.55.tgz", + "integrity": "sha512-ym9g7FZ5S1FykbQ1///ktTJgk+zTtGF1hGR/BFRQjRkN6G2Xy9GbL5kOcM7DlzflV2yJtqVwfU2gL042b1oHwg==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "automation-events": "^6.0.8", + "tslib": "^2.6.1" + } + }, + "node_modules/stats-gl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-1.0.4.tgz", + "integrity": "sha512-oxo13HHonoMWIYcrIu4xCk8IcFEFaqAOkMOMIyfvZFxNZzGy+jnW8sy0W3VfEjKQd5JX0Kp2KhePAKhtI6/TSw==" + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==" + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/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" + } + ], + "peer": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "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/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "peer": true + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/subscribable-things": { + "version": "2.1.23", + "resolved": "https://registry.npmjs.org/subscribable-things/-/subscribable-things-2.1.23.tgz", + "integrity": "sha512-ks4rvqxofzIcXzOdRUCoNbAptNzsoa1LEJEbJBCy/ADahzWNEiy1Oa3LpRVw12QcTGUXHblxO4Gpb+JQNjprKQ==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "rxjs-interop": "^2.0.0", + "tslib": "^2.6.1" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "peer": true + }, + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/suspend-react": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz", + "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==", + "peerDependencies": { + "react": ">=17.0" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "node_modules/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "peer": true, + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/three": { + "version": "0.155.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.155.0.tgz", + "integrity": "sha512-sNgCYmDijnIqkD/bMfk+1pHg3YzsxW7V2ChpuP6HCQ8NiZr3RufsXQr8M3SSUMjW4hG+sUk7YbyuY0DncaDTJQ==", + "peer": true + }, + "node_modules/three-mesh-bvh": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.6.3.tgz", + "integrity": "sha512-xjuGLSI9nBATIsWcT/DnnNma5xXYyvBiXfUbhGLAFqItOlOKYF5JWsUOX+cuSAnSWovEoHzd5Emx23qKiByrlw==", + "peerDependencies": { + "three": ">= 0.151.0" + } + }, + "node_modules/three-stdlib": { + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.24.2.tgz", + "integrity": "sha512-+FWg+evDvjcuwIYopqEz6xCrqadSW6j855EV4/5w/kygwEc2BktB7s4Y8iZEQKGq8g6Srfj5eWQpSK0+51C4Hg==", + "dependencies": { + "@types/draco3d": "^1.4.0", + "@types/offscreencanvas": "^2019.6.4", + "@types/webxr": "^0.5.2", + "chevrotain": "^10.1.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "ktx-parse": "^0.4.5", + "mmd-parser": "^1.0.4", + "opentype.js": "^1.3.3", + "potpack": "^1.0.1", + "zstddec": "^0.0.2" + }, + "peerDependencies": { + "three": ">=0.128.0" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "peer": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "peer": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "peer": 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==", + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "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==", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "peer": true + }, + "node_modules/troika-three-text": { + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.47.2.tgz", + "integrity": "sha512-qylT0F+U7xGs+/PEf3ujBdJMYWbn0Qci0kLqI5BJG2kW1wdg4T1XSxneypnF05DxFqJhEzuaOR9S2SjiyknMng==", + "dependencies": { + "bidi-js": "^1.0.2", + "troika-three-utils": "^0.47.2", + "troika-worker-utils": "^0.47.2", + "webgl-sdf-generator": "1.1.1" + }, + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-three-utils": { + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.47.2.tgz", + "integrity": "sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==", + "peerDependencies": { + "three": ">=0.125.0" + } + }, + "node_modules/troika-worker-utils": { + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.47.2.tgz", + "integrity": "sha512-mzss4MeyzUkYBppn4x5cdAqrhBHFEuVmMMgLMTyFV23x6GvQMyo+/R5E5Lsbrt7WSt5RfvewjcwD1DChRTA9lA==" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "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-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", + "peer": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "peer": true + }, + "node_modules/uglify-es/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "peer": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "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/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peer": true, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8n": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/v8n/-/v8n-1.5.1.tgz", + "integrity": "sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A==" + }, + "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==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "peer": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "peer": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "peer": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webgl-constants": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz", + "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==" + }, + "node_modules/webgl-sdf-generator": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz", + "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "peer": true + }, + "node_modules/whatwg-fetch": { + "version": "3.6.17", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz", + "integrity": "sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==", + "peer": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "peer": true + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "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/worker-factory": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-7.0.10.tgz", + "integrity": "sha512-1GXKb+2LDqAN0/w4rcobHh6U5btfD1rmY8U64rU/AATBbHSS9Rv2DUG4mTmJ1WK6e/YZeQLbLGnRiAUCBNm92g==", + "dependencies": { + "@babel/runtime": "^7.22.10", + "compilerr": "^11.0.8", + "fast-unique-numbers": "^8.0.7", + "tslib": "^2.6.1" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/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==", + "peer": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "peer": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "peer": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zdog": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz", + "integrity": "sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==", + "peer": true + }, + "node_modules/zstddec": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.0.2.tgz", + "integrity": "sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==" + }, + "node_modules/zustand": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz", + "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==", + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + } + } +} diff --git a/nram/client/package.json b/nram/client/package.json new file mode 100644 index 0000000..13c65e8 --- /dev/null +++ b/nram/client/package.json @@ -0,0 +1,47 @@ +{ + "name": "client", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@emotion/react": "^11.11.1", + "@mantine/core": "^6.0.19", + "@mantine/hooks": "^6.0.19", + "@react-three/drei": "^9.80.4", + "@react-three/fiber": "^8.13.7", + "axios": "^1.4.0", + "crypto-js": "^4.1.1", + "framer-motion": "^10.16.0", + "framer-motion-3d": "^10.16.0", + "gsap": "^3.12.2", + "jwt-decode": "^3.1.2", + "leva": "^0.9.35", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^4.10.1", + "react-media-recorder": "^1.6.6", + "react-router-dom": "^6.15.0", + "react-speech-recognition": "^3.10.0", + "react-toggle-dark-mode": "^1.1.1", + "react-use-clipboard": "^1.0.9" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react": "^4.0.3", + "autoprefixer": "^10.4.15", + "eslint": "^8.45.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.3", + "postcss": "^8.4.28", + "tailwindcss": "^3.3.3", + "vite": "^4.4.5" + } +} diff --git a/nram/client/postcss.config.js b/nram/client/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/nram/client/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/nram/client/public/animations/Falling Idle.fbx b/nram/client/public/animations/Falling Idle.fbx new file mode 100644 index 0000000..8b5ab82 Binary files /dev/null and b/nram/client/public/animations/Falling Idle.fbx differ diff --git a/nram/client/public/animations/Standing Idle.fbx b/nram/client/public/animations/Standing Idle.fbx new file mode 100644 index 0000000..fe9e15d Binary files /dev/null and b/nram/client/public/animations/Standing Idle.fbx differ diff --git a/nram/client/public/animations/Typing.fbx b/nram/client/public/animations/Typing.fbx new file mode 100644 index 0000000..c10df3c Binary files /dev/null and b/nram/client/public/animations/Typing.fbx differ diff --git a/nram/client/public/animations/Waving.fbx b/nram/client/public/animations/Waving.fbx new file mode 100644 index 0000000..96065d0 Binary files /dev/null and b/nram/client/public/animations/Waving.fbx differ diff --git a/nram/client/public/models/646d9dcdc8a5f5bddbfac913.glb b/nram/client/public/models/646d9dcdc8a5f5bddbfac913.glb new file mode 100644 index 0000000..f8108e6 Binary files /dev/null and b/nram/client/public/models/646d9dcdc8a5f5bddbfac913.glb differ diff --git a/nram/client/public/models/Talking.gltf b/nram/client/public/models/Talking.gltf new file mode 100644 index 0000000..89772b1 Binary files /dev/null and b/nram/client/public/models/Talking.gltf differ diff --git a/nram/client/public/models/scene.gltf b/nram/client/public/models/scene.gltf new file mode 100644 index 0000000..355c781 --- /dev/null +++ b/nram/client/public/models/scene.gltf @@ -0,0 +1,2981 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.3.27", + "version" : "2.0" + }, + "extensionsUsed" : [ + "KHR_draco_mesh_compression", + "KHR_materials_unlit", + "KHR_materials_transmission", + "KHR_materials_ior" + ], + "extensionsRequired" : [ + "KHR_draco_mesh_compression" + ], + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Desk", + "rotation" : [ + 0, + -0.7071068286895752, + 0, + 0.7071068286895752 + ], + "translation" : [ + -0.07356123626232147, + 0, + -1.520719051361084 + ] + }, + { + "mesh" : 1, + "name" : "SM_Shelf:SM_Shelf1", + "translation" : [ + -0.8681530952453613, + 1.6935210227966309, + -2.0376219749450684 + ] + }, + { + "mesh" : 2, + "name" : "LavaLamp", + "translation" : [ + -1.3020353317260742, + 2.071155548095703, + -1.986155390739441 + ] + }, + { + "mesh" : 3, + "name" : "WawaRug", + "translation" : [ + -0.28075799345970154, + 0.008942804299294949, + 0.7649680376052856 + ] + }, + { + "mesh" : 4, + "name" : "salameche", + "rotation" : [ + 0, + 0.9344727396965027, + 0, + 0.35603460669517517 + ], + "translation" : [ + -0.6102827787399292, + 2.0442845821380615, + -1.9582874774932861 + ] + }, + { + "mesh" : 5, + "name" : "keyboard", + "rotation" : [ + 0, + -0.08255621790885925, + 0, + 0.9965863823890686 + ], + "translation" : [ + -0.04413680359721184, + 0.9812453389167786, + -1.346172571182251 + ] + }, + { + "mesh" : 6, + "name" : "iMac", + "rotation" : [ + 0, + -0.8528281450271606, + 0, + 0.5221916437149048 + ], + "translation" : [ + 0.4536285102367401, + 0.938627302646637, + -1.7225621938705444 + ] + }, + { + "mesh" : 7, + "name" : "Comp_Mouse" + }, + { + "mesh" : 8, + "name" : "plant", + "translation" : [ + -0.7798894047737122, + 1.071291208267212, + -1.610242486000061 + ] + }, + { + "mesh" : 9, + "name" : "Houseplant_7", + "rotation" : [ + -0.7071068286895752, + 0, + 0, + 0.7071067094802856 + ], + "translation" : [ + -2.0189430713653564, + -0.042276959866285324, + -1.5255370140075684 + ] + }, + { + "mesh" : 10, + "name" : "palm_tree_01", + "rotation" : [ + 0, + 0.9441266059875488, + 0, + 0.3295830488204956 + ], + "translation" : [ + 2.1297519207000732, + -0.08111843466758728, + -1.0553535223007202 + ] + }, + { + "mesh" : 11, + "name" : "Chair", + "rotation" : [ + 0, + -0.18713662028312683, + 0, + 0.9823338985443115 + ], + "translation" : [ + -0.2777540385723114, + 0, + -0.7079673409461975 + ] + }, + { + "mesh" : 12, + "name" : "Plane" + } + ], + "materials" : [ + { + "name" : "BlackWood.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.020315000787377357, + 0.020315000787377357, + 0.020315000787377357, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "BlackCoatSteel.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.016231000423431396, + 0.016231000423431396, + 0.016231000423431396, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "GrayPlastic.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.08561799675226212, + 0.10410899668931961, + 0.1199679970741272, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "WhiteSteelScrew.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.3300339877605438, + 0.3300339877605438, + 0.3300339877605438, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "BlackPlastic.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.004846999887377024, + 0.004846999887377024, + 0.004846999887377024, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "lambert2SG", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.12999999523162842, + 0.09000000357627869, + 0.05000000074505806, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "795548.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.1899999976158142, + 0.09000000357627869, + 0.05999999865889549, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "lambert4SG", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.9900000095367432, + 0.800000011920929, + 0.009999999776482582, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "lambert2SG.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.33000001311302185, + 0.33000001311302185, + 0.33000001311302185, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "extensions" : { + "KHR_materials_unlit" : {} + }, + "name" : "lambert3SG.002", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.029207199811935425, + 0.011228306218981743, + 0.2950604259967804, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9 + } + }, + { + "doubleSided" : true, + "name" : "Rug", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.8000000715255737, + 0.7349817752838135, + 0.20852765440940857, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "emissiveFactor" : [ + 1, + 0.1776915192604065, + 0.046507809311151505 + ], + "name" : "mat14", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 1, + 0.09000000357627869, + 0.009999999776482582, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat13", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 1, + 0.33000001311302185, + 0, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat12.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 1, + 0.8299999833106995, + 0.03999999910593033, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat21.003", + "pbrMetallicRoughness" : { + "metallicFactor" : 0 + } + }, + { + "name" : "mat23.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.009999999776482582, + 0.009999999776482582, + 0.009999999776482582, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat11", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0, + 0.3100000023841858, + 0.25, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat21.004", + "pbrMetallicRoughness" : { + "metallicFactor" : 0 + } + }, + { + "name" : "mat22.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.3499999940395355, + 0.3499999940395355, + 0.3499999940395355, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat9.002", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.27000001072883606, + 0.550000011920929, + 0.07000000029802322, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat16.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.1899999976158142, + 0.2800000011920929, + 0.3400000035762787, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "doubleSided" : true, + "name" : "Screen", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor" : 0.12811388075351715, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "ScreenBlack", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.016683073714375496, + 0.016683073714375496, + 0.016683073714375496, + 1 + ], + "metallicFactor" : 0.15658363699913025, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "name" : "iMacBody", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.2994316816329956, + 0.2838878929615021, + 0.2925560772418976, + 1 + ], + "metallicFactor" : 0.4056939482688904, + "roughnessFactor" : 0.5 + } + }, + { + "name" : "lambert3SG.003", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.5, + 0.5, + 0.5, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat9.003", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.27000001072883606, + 0.550000011920929, + 0.07000000029802322, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat20.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.1899999976158142, + 0.09000000357627869, + 0.05999999865889549, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "name" : "mat21.005", + "pbrMetallicRoughness" : { + "metallicFactor" : 0 + } + }, + { + "name" : "Black.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.028173347935080528, + 0.028173347935080528, + 0.028173347935080528, + 1 + ], + "metallicFactor" : 0.4000000059604645, + "roughnessFactor" : 0.41508710384368896 + } + }, + { + "name" : "Brown.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.09154830127954483, + 0.07092447578907013, + 0.04490279778838158, + 1 + ], + "metallicFactor" : 0.4000000059604645, + "roughnessFactor" : 0.41508710384368896 + } + }, + { + "name" : "Plant_Green.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.1976533979177475, + 0.314487487077713, + 0.04269959032535553, + 1 + ], + "metallicFactor" : 0.4000000059604645, + "roughnessFactor" : 0.41508710384368896 + } + }, + { + "name" : "8BC34A.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.25999999046325684, + 0.550000011920929, + 0.07000000029802322, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "DD9944.001", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.7300000190734863, + 0.33000001311302185, + 0.05000000074505806, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9039215445518494 + } + }, + { + "name" : "Office_Cha", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.013609726913273335, + 0.1259642392396927, + 0.02073892019689083, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9735999703407288 + } + }, + { + "name" : "Office_Cha_1", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.03999999910593033, + 0.03999999910593033, + 0.03999999910593033, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.9228000044822693 + } + }, + { + "doubleSided" : true, + "name" : "Floor", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "doubleSided" : true, + "name" : "White", + "pbrMetallicRoughness" : { + "metallicFactor" : 0 + } + }, + { + "doubleSided" : true, + "name" : "Wall", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor" : 0 + } + }, + { + "alphaMode" : "BLEND", + "doubleSided" : true, + "extensions" : { + "KHR_materials_transmission" : { + "transmissionFactor" : 1 + }, + "KHR_materials_ior" : { + "ior" : 1.5099999904632568 + } + }, + "name" : "Glass", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.3783681392669678, + 0.3723391890525818, + 0.8000000715255737, + 0.16014236211776733 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.1428571492433548 + } + } + ], + "meshes" : [ + { + "name" : "Plane.001_Plane.002_BlackWood.001", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 0, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 3, + "material" : 0, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 4, + "NORMAL" : 5, + "TEXCOORD_0" : 6 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 1, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 7, + "material" : 1, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 8, + "NORMAL" : 9, + "TEXCOORD_0" : 10 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 2, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 11, + "material" : 2, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 12, + "NORMAL" : 13, + "TEXCOORD_0" : 14 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 3, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 15, + "material" : 3, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 16, + "NORMAL" : 17, + "TEXCOORD_0" : 18 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 4, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 19, + "material" : 4, + "mode" : 4 + } + ] + }, + { + "name" : "SM_Shelf:SM_Shelf1_1", + "primitives" : [ + { + "attributes" : { + "POSITION" : 20, + "NORMAL" : 21, + "TEXCOORD_0" : 22 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 5, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 23, + "material" : 5, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 24, + "NORMAL" : 25, + "TEXCOORD_0" : 26 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 6, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 27, + "material" : 6, + "mode" : 4 + } + ] + }, + { + "name" : "Node-Mesh.001", + "primitives" : [ + { + "attributes" : { + "POSITION" : 28, + "NORMAL" : 29, + "TEXCOORD_0" : 30 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 7, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 31, + "material" : 7, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 32, + "NORMAL" : 33, + "TEXCOORD_0" : 34 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 8, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 35, + "material" : 8, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 36, + "NORMAL" : 37, + "TEXCOORD_0" : 38 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 9, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 39, + "material" : 9, + "mode" : 4 + } + ] + }, + { + "name" : "Plane", + "primitives" : [ + { + "attributes" : { + "POSITION" : 40, + "NORMAL" : 41, + "TEXCOORD_0" : 42 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 10, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 43, + "material" : 10, + "mode" : 4 + } + ] + }, + { + "name" : "mesh434900071", + "primitives" : [ + { + "attributes" : { + "POSITION" : 44, + "NORMAL" : 45, + "TEXCOORD_0" : 46 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 11, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 47, + "material" : 11, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 48, + "NORMAL" : 49, + "TEXCOORD_0" : 50 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 12, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 51, + "material" : 12, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 52, + "NORMAL" : 53, + "TEXCOORD_0" : 54 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 13, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 55, + "material" : 13, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 56, + "NORMAL" : 57, + "TEXCOORD_0" : 58 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 14, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 59, + "material" : 14, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 60, + "NORMAL" : 61, + "TEXCOORD_0" : 62 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 15, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 63, + "material" : 15, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 64, + "NORMAL" : 65, + "TEXCOORD_0" : 66 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 16, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 67, + "material" : 16, + "mode" : 4 + } + ] + }, + { + "name" : "mesh425587018", + "primitives" : [ + { + "attributes" : { + "POSITION" : 68, + "NORMAL" : 69, + "TEXCOORD_0" : 70 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 17, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 71, + "material" : 17, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 72, + "NORMAL" : 73, + "TEXCOORD_0" : 74 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 18, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 75, + "material" : 18, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 76, + "NORMAL" : 77, + "TEXCOORD_0" : 78 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 19, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 79, + "material" : 19, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 80, + "NORMAL" : 81, + "TEXCOORD_0" : 82 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 20, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 83, + "material" : 20, + "mode" : 4 + } + ] + }, + { + "name" : "iMac_1", + "primitives" : [ + { + "attributes" : { + "POSITION" : 84, + "NORMAL" : 85, + "TEXCOORD_0" : 86 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 21, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 87, + "material" : 21, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 88, + "NORMAL" : 89, + "TEXCOORD_0" : 90 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 22, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 91, + "material" : 22, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 92, + "NORMAL" : 93, + "TEXCOORD_0" : 94 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 23, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 95, + "material" : 23, + "mode" : 4 + } + ] + }, + { + "name" : "Comp_Mouse_1", + "primitives" : [ + { + "attributes" : { + "POSITION" : 96, + "NORMAL" : 97, + "TEXCOORD_0" : 98 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 24, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 99, + "material" : 24, + "mode" : 4 + } + ] + }, + { + "name" : "mesh24448074", + "primitives" : [ + { + "attributes" : { + "POSITION" : 100, + "NORMAL" : 101, + "TEXCOORD_0" : 102 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 25, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 103, + "material" : 25, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 104, + "NORMAL" : 105, + "TEXCOORD_0" : 106 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 26, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 107, + "material" : 26, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 108, + "NORMAL" : 109, + "TEXCOORD_0" : 110 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 27, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 111, + "material" : 27, + "mode" : 4 + } + ] + }, + { + "name" : "Houseplant_7", + "primitives" : [ + { + "attributes" : { + "POSITION" : 112, + "NORMAL" : 113, + "TEXCOORD_0" : 114 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 28, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 115, + "material" : 28, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 116, + "NORMAL" : 117, + "TEXCOORD_0" : 118 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 29, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 119, + "material" : 29, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 120, + "NORMAL" : 121, + "TEXCOORD_0" : 122 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 30, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 123, + "material" : 30, + "mode" : 4 + } + ] + }, + { + "name" : "palm_tree_01-Mesh", + "primitives" : [ + { + "attributes" : { + "POSITION" : 124, + "NORMAL" : 125, + "TEXCOORD_0" : 126 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 31, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 127, + "material" : 6, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 128, + "NORMAL" : 129, + "TEXCOORD_0" : 130 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 32, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 131, + "material" : 31, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 132, + "NORMAL" : 133, + "TEXCOORD_0" : 134 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 33, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 135, + "material" : 32, + "mode" : 4 + } + ] + }, + { + "name" : "Node-Mesh", + "primitives" : [ + { + "attributes" : { + "POSITION" : 136, + "NORMAL" : 137, + "TEXCOORD_0" : 138 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 34, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 139, + "material" : 33, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 140, + "NORMAL" : 141, + "TEXCOORD_0" : 142 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 35, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + } + } + }, + "indices" : 143, + "material" : 34, + "mode" : 4 + } + ] + }, + { + "name" : "Plane.001", + "primitives" : [ + { + "attributes" : { + "POSITION" : 144, + "NORMAL" : 145, + "TEXCOORD_0" : 146, + "TEXCOORD_1" : 147 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 36, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "TEXCOORD_1" : 3 + } + } + }, + "indices" : 148, + "material" : 35, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 149, + "NORMAL" : 150, + "TEXCOORD_0" : 151, + "TEXCOORD_1" : 152 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 37, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "TEXCOORD_1" : 3 + } + } + }, + "indices" : 153, + "material" : 36, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 154, + "NORMAL" : 155, + "TEXCOORD_0" : 156, + "TEXCOORD_1" : 157 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 38, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "TEXCOORD_1" : 3 + } + } + }, + "indices" : 158, + "material" : 37, + "mode" : 4 + }, + { + "attributes" : { + "POSITION" : 159, + "NORMAL" : 160, + "TEXCOORD_0" : 161, + "TEXCOORD_1" : 162 + }, + "extensions" : { + "KHR_draco_mesh_compression" : { + "bufferView" : 39, + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "TEXCOORD_1" : 3 + } + } + }, + "indices" : 163, + "material" : 38, + "mode" : 4 + } + ] + } + ], + "accessors" : [ + { + "componentType" : 5126, + "count" : 2405, + "max" : [ + 0.9497169852256775, + 0.9420509934425354, + 1 + ], + "min" : [ + -0.46664199233055115, + 0.9117739796638489, + -1 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 2405, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 2405, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 3120, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 7617, + "max" : [ + 0.8522182703018188, + 0.9122599959373474, + 0.8856541514396667 + ], + "min" : [ + -0.4648841917514801, + 0.02132299914956093, + -0.8860591650009155 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 7617, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 7617, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 16800, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 406, + "max" : [ + 0.4690069556236267, + 0.9148730039596558, + 0.6701071262359619 + ], + "min" : [ + 0.3745049238204956, + 0.8825049996376038, + 0.550956130027771 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 406, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 406, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 588, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 1246, + "max" : [ + 0.41789618134498596, + 0.03380100056529045, + 0.8115151524543762 + ], + "min" : [ + -0.4240511655807495, + 0.013313000090420246, + -0.794228196144104 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1246, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1246, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 1488, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 1664, + "max" : [ + 0.4512881934642792, + 0.018993999809026718, + 0.8449071645736694 + ], + "min" : [ + -0.45744216442108154, + 0.000450999999884516, + -0.827619194984436 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1664, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1664, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 5328, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 32, + "max" : [ + 0.385785311460495, + 0.2592736482620239, + 0.17511819303035736 + ], + "min" : [ + -0.36072883009910583, + 0.024317998439073563, + -0.1645701825618744 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 32, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 32, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 48, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 272, + "max" : [ + 0.8768302798271179, + 0.28305891156196594, + 0.1989160031080246 + ], + "min" : [ + -0.8768312335014343, + 0, + -0.198915034532547 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 272, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 272, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 336, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 3456, + "max" : [ + 0.048828452825546265, + 0.3102084696292877, + 0.054590724408626556 + ], + "min" : [ + -0.05616204813122749, + 0.07997032254934311, + -0.05516756698489189 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 3456, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 3456, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 3456, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 210, + "max" : [ + 0.06594723463058472, + 0.3517545759677887, + 0.06594723463058472 + ], + "min" : [ + -0.06594723463058472, + -0.09161778539419174, + -0.06594723463058472 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 210, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 210, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 240, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 48, + "max" : [ + 0.06594723463058472, + 0.3041590452194214, + 0.06594723463058472 + ], + "min" : [ + -0.06594723463058472, + 0.09161778539419174, + -0.06594723463058472 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 48, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 48, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 48, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 312, + "max" : [ + 1.424025535583496, + 0.041922129690647125, + 0.878626823425293 + ], + "min" : [ + -1.424025535583496, + 0, + -0.878626823425293 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 312, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 312, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 612, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 176, + "max" : [ + 0.02222721092402935, + 0.09860172867774963, + 0.18401658535003662 + ], + "min" : [ + -0.016959186643362045, + 0.03012760728597641, + 0.1387253850698471 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 176, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 176, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 276, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 698, + "max" : [ + 0.09860026836395264, + 0.17388707399368286, + 0.1765708178281784 + ], + "min" : [ + -0.08878539502620697, + -0.08350959420204163, + -0.05959140509366989 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 698, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 698, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 1044, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 24, + "max" : [ + 0.04108148440718651, + 0.07255516946315765, + 0.004441757220774889 + ], + "min" : [ + -0.045001834630966187, + -0.032362014055252075, + -0.02591140940785408 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 24, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 24, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 36, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 264, + "max" : [ + 0.06490541994571686, + 0.15203745663166046, + 0.011358793824911118 + ], + "min" : [ + -0.0756431370973587, + -0.08413105458021164, + -0.03127352148294449 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 264, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 264, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 384, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 74, + "max" : [ + 0.0480683334171772, + 0.14661481976509094, + 0.008321071043610573 + ], + "min" : [ + -0.038030482828617096, + 0.09007582813501358, + -0.05725611001253128 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 74, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 74, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 114, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 26, + "max" : [ + 0.048088815063238144, + 0.12681666016578674, + 0.007737400010228157 + ], + "min" : [ + -0.03893725574016571, + 0.11050504446029663, + -0.024808427318930626 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 26, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 26, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 42, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 2134, + "max" : [ + 0.3910338282585144, + 0.004191149491816759, + 0.1389337182044983 + ], + "min" : [ + -0.3870357573032379, + -0.002980108605697751, + -0.12281325459480286 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 2134, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 2134, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 2304, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 32, + "max" : [ + 0.39879950881004333, + -0.0038697521667927504, + 0.1496904492378235 + ], + "min" : [ + -0.39361241459846497, + -0.021798714995384216, + -0.13356992602348328 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 32, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 32, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 36, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 48, + "max" : [ + -0.39284834265708923, + -0.00771433487534523, + -0.10371314734220505 + ], + "min" : [ + -0.3951129615306854, + -0.017526809126138687, + -0.11401131004095078 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 48, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 48, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 48, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 34, + "max" : [ + -0.3541710674762726, + -0.007455327082425356, + -0.1299843192100525 + ], + "min" : [ + -0.38644129037857056, + -0.018212057650089264, + -0.13715550303459167 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 34, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 34, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 36, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 12, + "max" : [ + 0.08742553740739822, + 0.5847203135490417, + 0.3089582622051239 + ], + "min" : [ + 0.024868952110409737, + 0.2410517781972885, + -0.3089582622051239 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 12, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 12, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 12, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 66, + "max" : [ + 0.09344960749149323, + 0.6139926314353943, + 0.33926790952682495 + ], + "min" : [ + 0.019540630280971527, + 0.20795725286006927, + -0.33926790952682495 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 66, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 66, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 66, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 764, + "max" : [ + 0.11601308733224869, + 0.6139926314353943, + 0.33926790952682495 + ], + "min" : [ + -0.11601308733224869, + -1.955030484168674e-06, + -0.33926790952682495 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 764, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 764, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 798, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 96, + "max" : [ + 0.6440718770027161, + 0.9859317541122437, + -1.079954743385315 + ], + "min" : [ + 0.489196240901947, + 0.934925377368927, + -1.255428671836853 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 96, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 96, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 96, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 3990, + "max" : [ + 0.11357525736093521, + 0.2905360758304596, + 0.09907195717096329 + ], + "min" : [ + -0.10086958855390549, + -0.059204403311014175, + -0.08298120647668839 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 3990, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 3990, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 4584, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 572, + "max" : [ + 0.07275459170341492, + 0.022232994437217712, + 0.07107044756412506 + ], + "min" : [ + -0.07625821977853775, + 0.001229301793500781, + -0.0779423639178276 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 572, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 572, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 606, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 78, + "max" : [ + 0.08186930418014526, + 0.031839173287153244, + 0.08018514513969421 + ], + "min" : [ + -0.0853729173541069, + -0.140183225274086, + -0.08705709129571915 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 78, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 78, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 78, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 243, + "max" : [ + 0.20534850656986237, + 0.20534849166870117, + 0.34010136127471924 + ], + "min" : [ + -0.20534850656986237, + -0.20534849166870117, + 0.0015023539308458567 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 243, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 243, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 243, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 18, + "max" : [ + 0.18206225335597992, + 0.18206223845481873, + 0.30185920000076294 + ], + "min" : [ + -0.18206225335597992, + -0.18206223845481873, + 0.30185920000076294 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 18, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 18, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 18, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 1071, + "max" : [ + 0.6282608509063721, + 0.5860482454299927, + 0.8833588361740112 + ], + "min" : [ + -0.5379853248596191, + -0.6340107917785645, + 0.0616806335747242 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1071, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1071, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 1071, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 288, + "max" : [ + 0.20453891158103943, + 2.643902540206909, + 0.12520363926887512 + ], + "min" : [ + -0.22615258395671844, + 2.341675043106079, + -0.27127593755722046 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 288, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 288, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 432, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 1464, + "max" : [ + 1.334727168083191, + 3.2032063007354736, + 1.0354464054107666 + ], + "min" : [ + -1.2288482189178467, + 2.0498204231262207, + -1.3543205261230469 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1464, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 1464, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 2064, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 428, + "max" : [ + 0.13176752626895905, + 2.5556082725524902, + 0.3330613970756531 + ], + "min" : [ + -0.13176752626895905, + 0.0003693174512591213, + -0.1654817759990692 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 428, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 428, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 504, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 253, + "max" : [ + 0.3698734641075134, + 1.3270606994628906, + 0.3885452151298523 + ], + "min" : [ + -0.3561824560165405, + 0.6332564949989319, + -0.4193726181983948 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 253, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 253, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 255, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 348, + "max" : [ + 0.4944767355918884, + 0.6916130781173706, + 0.4761832356452942 + ], + "min" : [ + -0.4763372540473938, + 0.05489233136177063, + -0.49463075399398804 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 348, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 348, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 354, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 4, + "max" : [ + 2.6893136501312256, + 0, + 2.1967217922210693 + ], + "min" : [ + -2.6893136501312256, + 0, + -2.1967217922210693 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 4, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 4, + "type" : "VEC2" + }, + { + "componentType" : 5126, + "count" : 4, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 6, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 60, + "max" : [ + 2.6893136501312256, + 3.498527765274048, + 2.1967217922210693 + ], + "min" : [ + -3.033057928085327, + -0.34374430775642395, + -2.540466070175171 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 60, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 60, + "type" : "VEC2" + }, + { + "componentType" : 5126, + "count" : 60, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 90, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 22, + "max" : [ + 2.6893136501312256, + 3.498527765274048, + 2.1967217922210693 + ], + "min" : [ + -2.6893136501312256, + 0, + -2.1967217922210693 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 22, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 22, + "type" : "VEC2" + }, + { + "componentType" : 5126, + "count" : 22, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 48, + "type" : "SCALAR" + }, + { + "componentType" : 5126, + "count" : 8, + "max" : [ + -2.6893136501312256, + 2.9175209999084473, + 0.7352559566497803 + ], + "min" : [ + -2.6893136501312256, + 0.9540526270866394, + -1.0964337587356567 + ], + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 8, + "type" : "VEC3" + }, + { + "componentType" : 5126, + "count" : 8, + "type" : "VEC2" + }, + { + "componentType" : 5126, + "count" : 8, + "type" : "VEC2" + }, + { + "componentType" : 5123, + "count" : 12, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 13440, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 37996, + "byteOffset" : 13440 + }, + { + "buffer" : 0, + "byteLength" : 2338, + "byteOffset" : 51436 + }, + { + "buffer" : 0, + "byteLength" : 5198, + "byteOffset" : 53776 + }, + { + "buffer" : 0, + "byteLength" : 7999, + "byteOffset" : 58976 + }, + { + "buffer" : 0, + "byteLength" : 411, + "byteOffset" : 66976 + }, + { + "buffer" : 0, + "byteLength" : 1626, + "byteOffset" : 67388 + }, + { + "buffer" : 0, + "byteLength" : 24661, + "byteOffset" : 69016 + }, + { + "buffer" : 0, + "byteLength" : 1557, + "byteOffset" : 93680 + }, + { + "buffer" : 0, + "byteLength" : 561, + "byteOffset" : 95240 + }, + { + "buffer" : 0, + "byteLength" : 2016, + "byteOffset" : 95804 + }, + { + "buffer" : 0, + "byteLength" : 1674, + "byteOffset" : 97820 + }, + { + "buffer" : 0, + "byteLength" : 6047, + "byteOffset" : 99496 + }, + { + "buffer" : 0, + "byteLength" : 394, + "byteOffset" : 105544 + }, + { + "buffer" : 0, + "byteLength" : 2253, + "byteOffset" : 105940 + }, + { + "buffer" : 0, + "byteLength" : 724, + "byteOffset" : 108196 + }, + { + "buffer" : 0, + "byteLength" : 389, + "byteOffset" : 108920 + }, + { + "buffer" : 0, + "byteLength" : 5894, + "byteOffset" : 109312 + }, + { + "buffer" : 0, + "byteLength" : 386, + "byteOffset" : 115208 + }, + { + "buffer" : 0, + "byteLength" : 547, + "byteOffset" : 115596 + }, + { + "buffer" : 0, + "byteLength" : 410, + "byteOffset" : 116144 + }, + { + "buffer" : 0, + "byteLength" : 225, + "byteOffset" : 116556 + }, + { + "buffer" : 0, + "byteLength" : 662, + "byteOffset" : 116784 + }, + { + "buffer" : 0, + "byteLength" : 5633, + "byteOffset" : 117448 + }, + { + "buffer" : 0, + "byteLength" : 1090, + "byteOffset" : 123084 + }, + { + "buffer" : 0, + "byteLength" : 31873, + "byteOffset" : 124176 + }, + { + "buffer" : 0, + "byteLength" : 4755, + "byteOffset" : 156052 + }, + { + "buffer" : 0, + "byteLength" : 802, + "byteOffset" : 160808 + }, + { + "buffer" : 0, + "byteLength" : 2129, + "byteOffset" : 161612 + }, + { + "buffer" : 0, + "byteLength" : 316, + "byteOffset" : 163744 + }, + { + "buffer" : 0, + "byteLength" : 9368, + "byteOffset" : 164060 + }, + { + "buffer" : 0, + "byteLength" : 2570, + "byteOffset" : 173428 + }, + { + "buffer" : 0, + "byteLength" : 12852, + "byteOffset" : 176000 + }, + { + "buffer" : 0, + "byteLength" : 3511, + "byteOffset" : 188852 + }, + { + "buffer" : 0, + "byteLength" : 2129, + "byteOffset" : 192364 + }, + { + "buffer" : 0, + "byteLength" : 2362, + "byteOffset" : 194496 + }, + { + "buffer" : 0, + "byteLength" : 240, + "byteOffset" : 196860 + }, + { + "buffer" : 0, + "byteLength" : 800, + "byteOffset" : 197100 + }, + { + "buffer" : 0, + "byteLength" : 472, + "byteOffset" : 197900 + }, + { + "buffer" : 0, + "byteLength" : 263, + "byteOffset" : 198372 + } + ], + "buffers" : [ + { + "byteLength" : 198636, + "uri" : "data:application/octet-stream;base64,RFJBQ08CAgEBAAAA5RKQCAKQCCYAggP///3v/3/f9//////f9/3///////3v////+////////7//9//////f////////////////+//////v////9//f13d93n9/13Vf13Vd1/7L/y5/13Xdvq/vvz7/////sv7///////3ft/Tv/v3/////+r//3/5/u//P+v//////////////9////+7/+///////27fZ/v/////////////b//b/////1////////3/d////////////////3/3//////2/P/23//////v/////b/+7/3/d90j15+retrevS/f//////////b///f8/+////////f/v////3////r13//93//////X////////+39v/f///3/8/6b33+/+/2/Pv//+/////f//////////////+/////r/+3/v3/bN26PmtbrVL9/7bV////7926///bf/ubdGv6JvVoffu27mkfz1Pd0r7xpDwt/P+/Ntv///+//W/3/P+7/e//////v/vXAv8DDOeA/wLjdP8C43QD/wAAAAAAAQAAAQAJAwAAAgEBCQMAAQMBAwkCAAICAQEBAQvfft7OAWkEsQTVBGkEaQRFAyEC/QGxBLEEJQFJAUUC/QJtAbUBtJDZAdkBbEkBbQElAdjYSEghAv0BtQFJAbUBjQJtAW0BtNiRAW0BbEgkbAEBSQFsSJEBJQEBAbRsSJCQ2NiQbAEBkJC0kQG1AQMktGy0AQGRAbUBkGy02EgktGwkbLQBAUhISEgDSLRsSGyRAbUBSQFJAbTYkJC0kEgktQG1AUi0bEhIkGyQSEjYkNi0SQGRAWy0JCRISAEBbAEBAQElAdiQkGyRAdhJASRsSJABAWxsSCUBbQFsbJEBkQEDJEgDSLRIbAMkkGy0JJBIkEiQkAMkSCQkbJCQSGxIbCQDbCQDJLSQbLQHbJDZAf0BAQHYbQFJAWxsAQElAWxsbEiQ2AMktEglAUkBkJADJCQkAyQkbGxIJANIJCQkJEi0kEi0tGy0bCQDSGwHkJBsbCRIbEhJASUBSEhsbCQkJEhtASUBSAMkAyQDJCQkJAdI2CRISJC0tAMkSEhskCRISEhsbAckJLTYkJADJEgkB7SQJQEBASRISCRsSAdISCQkByQDSCRIJCQDtGwkCyQkJGwLJGxsByQkJGxIJCUBSQFsSCQkSCSQbCRIAyQDJGyQbCRsbCRsbANIA0hsJCRIkGyQB7RsJAO0tGxItJBtAQEBB0hsJCRISAckSGwkbJBsJEhIDyQDJAMkJAckJEgkAyRIJCQkAyQkSAdskGxICyQkJAckJEgkSCTYbPkaZRwkSEgkAyRsSCQkJEhISAMkJAMkbCRIA0gkSEgkJGwDJCQDJAPYSEhIByQkCyRIA0hsJCQkJA8kSCRIByQkSGxIJAtISEgPJAMkJCQkSEgDJEhIJCRISEjYbGzY2AclAUkBAyQkA2xIAyQPJAMkJBckJAdIDyQHkLQkJyQHJANskAckSEhIJAckJAskJAckA0hsJAskJGxsCyQDJCQkAQG0B0hIJAMlAbQHJEgfSEgDJCQDJCQkA0gDSGwPJCQkSANIByQkDyQHJLRsByQkSCQPSCQkJGxIGyS0AQEkAyQ3JCRIJCRIJJDYB2xsAyRIbCQLJCQDJCQTkNgkAyQDJCQkSAckJA/YtCQkSEgHJAtISGwkSJAbJEhISEgkSCQDbEhIkANIByUBtJCQA0gkJJC0B5C0bCQrSGyQSCRISEgDSCTY2AdsbAMkSEhISLS0bCQHAQG0bGwkJNjYRQJFAtkBaQK1AdkBkLSNAiECbEjYbCQkkLQkbNjYtEkBbLRsSAMkJGxISGwkSEi02EgkJCRskGxsSEgkB0gkJAckJCRIJEgDJAMkJEgHJAOQSAdISEhICyQkGyQkAyQHJEgDJCQkJAOQtEgLJAMkSEgkB0hIIyQkSAdISBckJBckJA+QbEgkFyRICyQTJEgkJAckDyQfSAskDyQkCyQXJAskSCRIF0gkAyQHJEhIJA9IA0hsByQrJAMkJAckEyQzSCQTJA9IJAskSGwXSEgXJAMkG7S0IyRIJAMkJCQHJBskJCQ3JA8kDyQPJCQ/JCRHJAskEyRIByQkJCQXJEgkJAckJC8kByQPSCQTJCMkF0hISCQTJGxIAyQ/kJAkJBdIJB8kByQfJCMkJCRLJBskJB8kSDskLyQDSCQPJCS0tCQDSCQnJCMkCyQkJ0hsB0hID2xIJGwkJAckJAMkB0hICyQPkEgkJEhIHyQkJCQTJAckCyQkDySQJCQkJAckA2xsB0hISEgTJBdIJCQHJCQkByQkAyQHJCQHSCQfSEgTSCQDJCQPSCQHJCRIbAskD2xsJCQkCyQPJANsJCQkCyQkGyQPSCQPJEgPSCQLJA9ISAckEyQDJAskJGy0EyQDJCRIAyRISEgBAQckJAdIJBckJAdskA9sbCQkJEgDJEgkCyQDJAMkByRIH2wkJCQHbCQHSGwLJAMkJCRISGwkJCQkJC8kSAeQtGxIDyQkJAdIByQDSGwHJAcktJAkAyQDtNgHkLQkJGwkJCQDJCQkAyQkJEgkJCNIJCQbJEgTJEhIFyRIDyQHJAMkKySQbAckJBckJEhsB0hIIyQPJCMkJCQkAyQDJCQkDyQkKyQkE0gkDyQkC0gDJA8kAyQkCyQTJCQkUyQHJEgXJCR/JAMkJC8kJBckFyQLJDckJC8kJAMkByQ3JBckJA8kJBskByQkDyQDJCQXJEgHJCQDJEMkj0hIMyQfJCQfJCQHJEgPkGwfJCRHJBskSBMkB0hIJCQ/JCRsJDckJCRIFyQkIyQfJCQ/JK8kLyQk10gkGyRbJE8kX0gkByTzJCQkdyRIWyRPJDMkOyQkzyQHJOMkDyQkGyR3JDMkJHsktyT/RyQ/JP/zJCT/xySrJAskJP8HJCskGyQTJBckJP9zJBck/5ckFyQ3JH9ITyQkWyQLJAsk/9MkAyT///+/JK8k/xMk/8Mk/48kwyQTJBckSyTXJD8k//8vJP///38k/wckqyT//////x8k//////////////9zJP//IyT///9jJP///////////yMk/5sk//9bJCT/ByT//6ck//9bJP9PJP////////ck//////////////////+DJKMk////////////OyT/wyT/myQkxyT//5Mk//////+7JP//////////////hyT/TyT//ysk/////////5sk//87JP//kyT////zJP//iyRbJP////////////83JP///0ck/4ck//9fJP//OyS7JP/fJP///////////8sk/xMk////myT/////GyT///+HJAck///rJKkrAFnSiEtinMXDmTGZ4bvNnp1WehlzNx5dUUKFLkjghY1JhheA2EfXjBIh4kXMfd9i/OKflJIn1Dbs0w91lNNnCA9+F9wjxNHaa13s2Y9FZmV3XorSaQV1B+usBjOtFScqRCPV6tR99Jz/8NArCSpTxF2uoheiPP6hb2OuDLaBdhMLvW2npPwVwbAfPxDOcnGxRDbGf27Gjz9dMyBJrCQB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D5ECP4ABP2cZugMbbReqARH2/xfIDv///f/+//+/N0v3////v2//92//vn37dV3XdV3Xvuu6ruv6vOu6ruu6tl/Xr+vyruu6ru+6ru/y////////r+v+///f///3/3/3/3////////+///////v////////3///3P9+/7////////f//f//f//+3///////////+v1v7pvqotlpa2nrXVFX1W5dSfbSqDy1/16dVfbuua6qPqraqjypV+lTfaFVVVfUpVa1WVfVdSimVNfj/////////f//b/+++/f/X5v//7/+///+ffqk+VW1VPdWnVK1vuzxVVdVqVelTVdW/T7ouVUrVupRSFL7+/9NWn6p1XfeuXdelT1VVVatVlT7Vp1SpUqXWdSmlFIV37VPVPlrVqr6pquqj+pRWVR9V2mpVVVX1eUNVW6VVVdWnlPd5qk+1qk/pU1XVVtVTVdVWqT5VVVWtVpU+VVVVrVZ51z5VfapVrUefqqpqq+qpqpY+pX2jraqqqlarSp+qqmqpR/mzdl2fr++a1rem+q571nWpUqlSa5Si8K7ruq7ruq7ruq7ruq7ruq7rur7r+q7r8q7ruq7ruq7ruq7ruq7ruq7ruq7ruq7r8q7ru67ruq7ru67vuq7ruq7ru67ruq7r8q7ruq7ruq7ruq7ruq7ruq7ruq7ruq7r8v/b9/////3/////////////v//7///////b////3y9P7X+3///////e7P//f/ny///////////////////////////3tPVU3z7V1lN91LqUdeHr2rdrqvpoq6oPvj5P9dFWVd+nj76pPmpdyrrw/f//////7///7s+etf/X9e++te27rn2qqq2nqvqodSnrwtd1b/pn3bO1fdf4uq5rn6qqVp+qqmrV2lZVVVXfRVVbVVVVfZR3XZ+nqvpUq6r6lD5VVVVtVT1VVVVtlXdd1+epqupTraqqPqVtq6qqqq2qp6qqqh7l/7N2XddnXdNWn1Kq1Jp1KQrvuq7ruq7ruq7ruq7ruq7ruq7ru67vui7vuq7ruq7ruq7ruq7ruq7ruq7ruq7rui7vur7ruq7rur7r+q7ruq7rur7ruq7rui7vuq7ruq7ruq7ruq7ruq7ruq7ruq7rui7/////v/9/l//////////f///f//////7/v////39fs//b/////3//9//v07Vbv/z/////////////////////////nrae6tun2nqqj1qXsi58Xft2TVUfbVX1wdfnqT7aqur79NE31UetS1kX/v//3////z/tF/v//1//92u6rv+6b237rmufqmrrqao+al3KuvB13Zsvf/bsW76u69qnqqrVp6qqWrW2VVVV1XdR1VZVVVUf5V3X56mqPtWqqj6lT1VVVVtVT1VVVVvlXdf1eaqq+lSrqqpPaduqqqpqq+qpqqqqR/n/rF3X9VnXtNWnlCq1Zl2Kwruu67q+67q+y//////v/////7v+/f////7///+///////9///////////////9/////3/9//f9////v////3f9//7fn////+////5vtf7f2TfVRbbW0tPWuqarqty6l+mhVH1r+rk+r+nZd11QfVW1VH1Wq9Km+0aqqqupTqlqtquq7lFIqa/D/////f///////////e/b///7//7/+6ZfqU9VW1VN9StX6tstTVVWtVpU+VVX9+6TrUqVUrUspReHt0//N0v5PW32q1nXdu3Zdlz5VVVWtVlX6VJ9SpUqVWtellFIU3rVPVftoVav6pqqqj+pTWlV9VGmrVVVV1ecNVW2VVlVVn1Le56k+1ao+pU9VVVtVT1VVW6X6VFVVtVpV+lRVVbVa5V37VPWpVrUefaqqqq2qp6pa+pT2jbaqqqparSp9qqqqpR7lz9p1fb6+a1rfmuq77lnXpUqlSq1RisL///////+z/3+3///6/////+//v/3/fl3XdV3Xte+6ruu6Pu+6ruu6ru3X9eu6/O//f9/3////f//7/3/f7/++732/d12////2/d//fe/3fu/37/v//////1///+//v+/7fd+/d1+z/s2e/kvf5s/W2P58//v//7/v+////7////+/7/d///73/f73+/7t+7//+9/v/d7v3f//+///f9f/3/73fb/v+78+Xdc+tebv9q7716bd1+Tv8v3v+77v+77v933f933f9/37/vV73/973//9//d93/f9/1Tf93//7/vefd///U/1e9/3fd/3/b7v+77v+59+3//3+76/75//fd/3ff/v+9593/d93/e97/u+7/t+///////3/9/+///97/sv///3z/997/9////t//7/6/////e/7///+5f/+/787/997/v9//+/7/u+7/t+3/d93/d93/99//q97/+/7//+3/u+//v+f6rvv73/vu/79/3//qe+933f933f7/u+7/u+/+n3/f/6fd/f98//vu/7vv/3fd/3fd/3fd/7vu/7vi/9EmqB1WnT+lhEQs8YK7b3hG6ljv8G1EtLDLmB/wbUS0sMuYED/wAAAAAAAQAAAQAJAwAAAgEBCQMAAQMBAwkCAAICAQEBAQr1f4HVaQwtDOkEuQVpBdEDVQLNAXEBqQF5AlEC8QLJAo0DXQOhBtUFzQKZAo0C9QFxAbkB6QFJAV0C9QJFAvkBlQJ9AuUClQLkvG0CHQItAqUB4JxMiOANAYR0zQGBAayoGQExARkBFQGoiExsVQGxAcgNAdjIUHRdAZEBeEDsBQEEA1BYLQE1AaECpQJZAQUBBQEtAQ0B+AUBPQH40Fh0sNjIyHRoCQEJAZyAKFh4oKzsxLhoeKC4kKAJATUBXDhYOHRY2QGdAcTkNQEZATEBBQGQiCg4DBz8LQGs4CUBaQFEUJCEUFhAOAQMbIQVASUBnGh0dKy8bHiggLysHCQQA0REeHSohExMqKwoHAQMUEBoUDgsgGygdExYDAyIeCQobGAsKFxEHCQoKDRAJCQ0LBgDBAwEKBwMBAMEDCgoDAQcHHiQKCRogAQPBAsEAxADBAQECxAMBAQDBBAEDAQkBAwMDAQDLBwQAwQDUGAYDAQHDAMEAwQLDAsEHBAsOAwEAwQQDAQMCwQQDAwc8PwYBFA4BAQDDCQMKAwDEAMkJCwsLAMEBBN0XFxcGBC8REzQAwQbDBgMDwwLEAwDDAwQDAwECyQQBBBMOAwDGBhEQBMEBxALDAQPDAQEEwQjBAMEGwwHBAwHBAQEGAwECxAQGAwDBAQbKCwLDAwbBARcdBsMGwQHBA8MEwwsYBAEAwwEEAQECwQMJAQ7ECscGAQoBxEC0QFZATEBNwQDBAMECygkAwQrBBMEIwwbBBAEEBAvEAMEFwQDDA8EEyxEJ0xALxgYBwQEAwQPLCwPEAMEExgEBxgEAwwfBAMkKAwMBwRHBA8MHBsQCwxAUB8EBAMECwQXBBgnDBcMMxAHBA8MDA8MDxAMBAQfBEMMAxg/BAcMLwwEBAwzXEw0QBMEAwQPBAwEMyQQKxgPHAckDwx3DBMEHwwEAwQHDAQEBBMQCwQDEGcEAwQbDAMEM1x0YFwHBAMMI0xcTDQTDB8MEBkB1AcEAwQcBBsMA8SoDA8EAwQHEDsQDAQ7BHsMBwwPDAsoBAwcJwQEGwwTDAQQBCMEBBgEEwwDBAMMCwwTBD8ECxAMHxgEDCMMBwQDDBcEBAMMHxA7BAQPBAMECwQEBAcEBwx7BBcMIwxLBDsEPwwXBEcEgxAEEAQ/BFMEFwQLBBMEAwQ3DAsETwwPDJ8EDyQYBAQPEARDBAMEGwxXBARDDOsETwQvBA8E4wz/////XwRHDCQ/BASHJCgkND8kQwzXDNsMDAsEEwwMMwyXDCQPDJ8MlwwLDCsE0xAEEwQ7EAME/////3cEBAT//wsE///PDP//41AzUP//////////////////////////////////////YwT//////4ME/w8E/////////68EU+T/////////IwT/////////////////////ewT/////EwT///+DBP////////////8nuESPrCQXaCwHJCRfJCwHuFAfGBgvDEsMGwwEAwwnJAsMJwxrDBcYDCMMFxgYDBj///////////////////9HBAT/////bxAM////////VwwQN0RA/////////////49caP//EBD/////////cwwE//////8bBAz//////////////////////////////////////////////0RE//87BP////////////+3BEcE//8DDGsMLxD/IwwQjwwMgwwHJBgTBD8MFwRnGAxLBBMEDAsMDBcEFwwfBAMMBwQDDAMEIwwnBCsMDE8kGC8MEAQjDBcEJBgLBBcEGwwrDBATDAcMDBckGAcMJwQbBA8EDwQMBAQXDBcEExAPBC8EAwQEBwQHBDMMAwwrBAMMPwwTBA8EAwzGfeAvAs6trrFD74nkVm6/BdPd3q3OF7AkzdyAfwgRF7n0kqVaexWwdEtES/1HDIi2jmg66XxXN9bLOlz0xkzQ5Adaf6NrOkc9Wfy+t9+3id89QbE7gOdOsU6qFoXXIoSQUteO734EdSoK0ZoKb8fZnuKg8FL9cv72XvbztVjXK1/PPUxBOKii0+IAir1Vdbd1hT4VsgkUQAMLoJzQ1u36VqoV/FDdFNHK+rJ/gSeZN6KQqZp2PI/5q16HJu+2KUmqYotdwEhRq+je8r1GGq6TWsBlfPxigsIXAF0t2gQh2K8ssefFzzOnLAAA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lpmsAj7LtipD6wNtAshXfwE2RsCQ/wYw8wK4WDM0cLOgu4BVT6CebAQULtwEtbmzMieA8XWuCg3UtujURDgEozmEZAs1AdjGu4QAaFnEhCuYB0xhIKYWRKAFRLXvaXIDtiwnoNQpqMyHSDZQ68bOwIPLYAAAAAD/DwAAmrQtP8BoYT58IL8+DERSQUNPAgIBAQAAAJYDxAECxAEIAEr////733d9//fv9v/f//37////v65f/n3vuv/////9/v/73///uv//9/1/t+1f1+XvvzdN3v9f1/Vb/+3tv///+379l3ddn69/A/8CY0j/Ag9H/wIPRwP/AAAAAAABAAABAAkDAAACAQEJAwABAwEDCQIAAgIBAQEBCP9/MR8DYEcMKxwoBxwcNwwbiMgHHCgrDCcMIygoDxwjDBwnHDQMDFA0EwwDDAccDFsMB2xsPwxnDC8cNERgsHg3HAwHKBwXHAwfDAwP9Lx/DBwHDAynbGAMDBcMDAsMDCccRwwo8wxPNBwMBwwXDAsMHCMMJ7ywCwwnRDT/Tyg0KET/YwxTKAMM/6sMFwwMiLwnHG8M/ycMDP+/RFAM/////0t4UP+DDFccBxz///+XDDOUeAcMDP///08oHM8oNP8zDP//zx0BDQH//7cMDM8MDP///xsM//8HRDSjHP/////3DP//0xwc/6cMHEsMAwy7DP//z1AoHAz///8fDP8bKCj/Twz///////8DDP/PDP//////zwz/////////pwz//9cMkwz///+7HJMM////////pwz//////////3cM/1McDI9QRO8MaygM/xwcf1BQpwz//+cMt0Rs//////////////8nDP8HDP9LDI8M//8M7xwopwz///+nDAz//1McDP//////////////////////////Owz////////vYET///////+3DP////////////////////////////8TRDSgiP//////////b1BEYGD//////////////////////////////////////////////////0MM////////Awz//////48MKL4FZA77FAt2Tbg0TApUlAuaziVeaioLXQQucPKgHm3uN7QEYU8c0U2zbj0qi/FeindCOhlayCgveb1i7c3AxW4S0hZ+nyy5NNWXnjJBCQVHvK4qwxw9Do0ip2YQyx516sJuDq8MTRz7FZX7ODRAOUsF+/5U0Hq+zTDb4YZ6jgSjDtChUjiIKojVc+q5ni5L8c4/x6d7spf3khNCCxpzzaCucR2vyX8R/4gjYo+W4oczd30lY+Rw8VeVNB8ZUY7bSgTCnJNy8LvMGnvC+956Bz3BQoLh4EwvyiTcrvjIHeVdoWdUwOzSGErOkGCcI5haIALMsuaH6MQPGsnatbFUeeXwuN8WkqqGZ9BwB5CDXnDBfPyscOZ26S0mVzR1jNL33TAwIOkorh4NTZxfTAJBVCBEnU+pOji1Ta89AE1lsQJNqTLRfKXMyRShDOZzAg94ACkJliVhLhLHoVwvnLhCxtSwHsLAXFRnEaVb1mavVwB5XXRzmnNZp6VHTZuVco5U+SC68BykByB0xK91NdRJ54R0zNRxTUSSJuPGZotk9hb/WR9b9IRKKsJBqpojW18APVcxcBV1qyu2tQpq29jUwJRs5NeaeYbJHMfBN2p8MvwbF5DJ55fw+1pGmzSRMo96NM7i9MqEjKrDlkDU2vetCKVvTGGosQiwxiADxZ19wGo5EYanbO9kIqZMsNrxIs4BMnPGUAHCfcgCfQ68lmNw8YOTw0CzPLNfYo0BgI3R1b/z5NHjeFVAa5PrcKUNg/gifuPzfkG+YYPSK+ZXZ9w70+8BrJNksOA+kDi8ouzK1fNvjXW9yTuw9ETarfYRi3fxtPXHvb8Dob/mxaAWls749rr5digMmHJlBbXnGe8/qq7fRyidww/wCLynCgndz+dKrETn3iblIbQRQLlRc6uAVHMsozVOUP1O0EoyABLmOYGAAAAAAP8/AAAcv78+2ethP3YLDT9wBfQ9DgADAQEF/weZOn8UmxRQexSbFANQ/yM8hxQDFH88///bFAM8fwkBoH8UFP///18UKA8UFBT/m1ADFJcUKHtQFJsUeyhSuAdqSVuMayNj5x5d+Rxug/bpq1/wfFeHu9cv1+8dnSSPSrAO2NfA6zTjWbbbAvrBcNWw7lfjp7ub3PT5gsPweKg6rfvNycefog8/jPUjIl3Sk/8DAAD/AQAACgEBAQANA0EK2QIZB0EHJQZRBtUFaQd5A8iVAQ0FrgEJGCGCOOxjcdBE8AEvKvW6TCGND1M3myoJy/KBbooUdFOhogHZAxq3o44YIF/JOFuZj8S5qHcKHhHHki71CByiXCaXQ3Sm9CgnotsvhOTtFICdaAnQfaUeyRoFT6d9koONOAi3mIHFK7fLyvAfp2ZEqFaM1HirnRauNAXZ/5H9HgRoeHyeBjf+bYo1ePQTO8m6N+q5Sjw2bwaIh9rqVjSRPbl9uZhUHT68m6UWDqLZbQPIqgEAxKYB1SUoBQCxwZI4BLg74cCtHkAM5BLuBLruvfMDLgT4nw9AbpkuQC6ArlnuNpqeIQ6GpQePAEATETwtiCOIB6AYxP8a4qQurMSCoxww24K8gYPOPgbAbRkuwC0Artkt6gMKwG0DLsAtAK7DbcST+4NCgDA8SwplsAbGKPOpLCDbxszBGIyisw3qwGAu306QO+EwIjAsLoQ5DosLY4yHDIyuPmTor+7mQ1QjmB1oScQM+JjoX+w0oGFDEwAA88ArAC7ghDkaNkQBxHRC50k7SCA7xECs/kA4vOxMwBR/EiMTQ3T3eopwLsKBMO4S/wLDCwzrVl+hDiCB57nw+QAIjMMM6zMsMGD3lSkxPjEE6Izzez4Acg6lucCACwzrZ9+fDk0gjfN7IH0gnHwPU8mwLsMCw+nzqObQAKxcaoihABezMUANBwzgMADGMyB4DIPbB3z4C24f8A+6eACK4WkqBkAKFaB/GQPIIACCslvlHyeAAgiOoMAJgCRG+TaALEgshuzlGAAQ+yELEAsSC75dADuA2YQ4/OvzIADLB8AFbVcAjiDAesR5AaACxgDAzOz9IQgjwCKfMGAGiACONAHM3EjTEUAjTASwz5RFEwDMBAAgSzPWvdtCGppqAC0eAagwS0Mwo8DCAYD0DAAgU5i3CxCaAGaykF2QFgsgy9zJ+gGII4iMSU/Wx4PADWA7yWhcphYA+CDFEuzBEwDIAvxQYD7NAE1RPgEAAAAA/w8AAKJCMD/e3Zg+vPiJPgwAAERSQUNPAgIBAQAAAN4J8AMC8AMQALoB3////7//+//v//7//////f///d/vT7ak///+//v+//v////////93/f9//f/////+/f///ts6/7v/////////9///f5kS/r///////v/////////3/9/3/9//////7f/3/////812/7//////9P27////9+m///+//++//t/////3//9///9//f///////7/3//3zZrt//////8/bf/+////bfr/7/+///+///f9//f93/////9//////wIYd/8C/Un/Av1JA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQEI3X4hGggIB0kBQQEkIB9UXCUBCQEHHBSIpAcdARkBPDgX8BEBHBwPPDARAR0BD7DAnLwHTQGNAW0BTQEICAgDcIwcOAMECBAEBwgfSAwPHDADDBdcmDBMHxQUFCQDCAe01BQkGxQkHwwEDAcEOwQDEBADFAc0QGA4BwQIAwgLBAMEJwgMDAw/FAMEGwgsECAnCAMICyQoBwQHBAQInxQMEAg/DAQECxwQFCBXBBMI4zUCyQIbCAwMFAxfBAR3BLsMBFcMAwivCAQEVwgIBFsE/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////88E/4cE///HBJ0QIfRktzMEtqwyZYSAUF1l+WsCa1ttBYPdEWj981+g2rD3iOK0iewT49Dzs+dK6ggOe7gTazhhEBUyWm38HBUrlEPqBBbkqi9vWAP0yxs3sGkCQbAdYXlFD8VOSocegYnev/X/3BPwz9zlKYhDpXGwHHzT3PamACq1ui0kRIj9ktAbq5iSyeTDPRDCl7kn1tCTp+c9KpchNchCXYHy74+Mv8W6pjl1BGqJRJSMi7OafJONn9HleZB/nhcZA6FYVD9z9GUHnQ7DY0IwImaYMwbPPlY3QIHfC3ZIP5GLO0didasO4pTOmTvsgI0vHjCA8xhWnZBqw0XGaDPBCFCuMNLL02XV+Lfd2eRIooQJjP/gQK1+pefcIqn1O6HoDAeaeNs9eD9lk7xn+ezCftjYpGYMpA+VF/lATKhAMW6fpEX/ZGbgFDSAzZRAp6wZ/Sxq8Dz+RZ0xKQeD7UuU7gaB7w9dw+rBSwhBX89sHorUf15nRqa+j+NiHH7u6n140IscAJCUHFIhM2OHriviz3++ZUrsedQir+SvebwWBnySk1MimmJ5eLZ5d0SVTHh0QnQwBoZHrSoq89zO/TdBp+t8wpXRk4cVk8ft7JFnNIgb5+0jiQWUilTmlTxbLt83nBctaKGKqeW2fOfll1mMJdolv8eN6ecHFoW2+axpRjDg+8oVrdxk9rUEDRHu3d5HqQucJRQOMJmqhL1hzK6hjEtfcmysedfZMmEToKYUlBICZbtry2+q0ZlT5JkxuSnVEj/J9HWuv2WBN88gOgCNw7oE1Lft7KAsQKJA8RYQmt6BVxhweTPMB1ubrhdOsduSuxT5/USqABx9ErcUpUhtKXGJ0mSCfhI0lhKfQUvwjvrHMiJKprMsW32iUyv+dx3Ql54foTb03Icd0W+vGoUxfcCjhUX/ddIpIc/cG31gTLzIAJJOGePLaDkleauJk06c3ze+lf1n4E3n0nwwfHgho9MjxfQ8Qv1r/K6OUFxDj6IHO9d82upUwT7ngF55aQhOrjDVenVnNUNrjMk1Ks0JKBwFcI/ShvecFk+itGFY6sqIOFDzMyAukwB8tbxTcMg29dQrPnINbWym2seQp5RCozpoJjFwzVT2HtJK+8xz8f4w+n1KKAWjIklz5z8W8jZeyDOTQFI8Y8Uh5H9bjAMBcDyShxuAUK7aKkPghQUKR7lHYFSjXgxb1zWaRVohNOZh7HwC76aM07z2eq7Fmzz5J6S8u3TR7R6F2TxdlfTiidbi7KZwr3lHTLdrI4+afCONC6H4QZkB/Vnb9mu6EOd6d1NPqmA7zw8DvsXFs9ysXIX5IXIwVlPgd1kyD1pHdsHRdXING6pOQG05e4naK+t1gk85IAhGQAg27efBRbPjG503qpinCjs5cXep+sCAy1JtmxdwjqK//bbFmBbHKQh6MqFjcL43hOeiLtGGvUs7u+2ESOyEZ4i7EuHWXW8ELeSFaD/0EPTCMas3KMYnqqTCfaPG2ndEf6C211Uccaq4/hjB/wY1Uwy5kXm0BIoft86nfkFw8TX0EnNnlfkmKpz9D8KXuSfW0JOn5z0qlyE1yGJ5TCb5dhzpZLX+7jJMMpBZjMgKaVMUCxzYZBMhNJ0EwQy++Vd/VApuKQA0ZFKETqDl85hmv77P0GPDu9kw0NAJwwmuuWXOvMPSrdSUH6zjO7NHs1N+Pptwf69mITAv7VjKJQ82b+n+2U702NhHXyPOZB/ST5Mn9c1BtwDATkX3dgFLc8juPNhlI9rdhowZ0vHYPZyyvMzm8LJUlHfwcRlDMHv18vG4wFepgJxkolwKvhQXmQqml47qdh0jTNh76nBxe0gbYfztwkzoysLcQeTJoaXW7SrUdTY1iAxXsnwOUDWaWW2D3cNIlfz7VRb0EomtOcDzCE1r80yHEN8iniA1klci+YbCCh0NDVSINorSFZ3LrUJb5ZCzLIx7UYXrjhm7ArQ8okM/EDmgtXpioQJAqPE9ZjdPU+QTHSfJHKBaVetsfY1Rg+adZ3Ed/na1mlxdFt+63hzOQvp+byycDb7lV+sdwm4trp3DAiVaX4bmabhDDiFOP/KROpYiddMi16H0j66cEQASIORA9kvfz/U/qean8wyEslhDdTsK7VzjcrpugMeUuhIPk8wMtjYyE6BVyvN53Pb1u+Wf4cwS4sDWbePqLBNBxiQLvRf3bKkA+aowOW0UPux1ttuZMUAEcZcG3lEpFoLr6oUs8t388/J1s1cMDvwD58jQh4Ml/Dh477hnSic7QkOJoI6NsrHCpoT+WoUwllyLZKWWSFyyn8PiESVBccOzBVTDrsq5tSgiVUWWZidcNoT2+/U4e88bT0UCI25YQufrkFvTQ7rWCzF++YAy2kR5VtrqmXCaVRWNb+kZ6lD00di3znrOuCF4qx6gLXVFP3zNlEsD924fb+eNc2je2vToCoVF0cD+DZaiSrro8a2s83SmCxCvRM6RVAMa6KcX3MFlOYMgxm1dJWSkWpNfyC4wN09vU+s656fdS5TuBjvvRU7HKrqSVjwczhwIwS5Qk4MZtb5/ZpsMAI5QLGox9xkOSaV/02FEkiaJsMa73131NJf4i438R4/XJ/0DRo72aJN5rNdBjOmQH/UakX98lNOtFdqGMeuSvvR3jbccuJG2CCUPk4dAkxU45zc0OCFCWEe1itG2dP+akH+HM9Bz2f5rVC+CjTF0kGn6LZEAYhJKJRN3DcAwcL4pF+MWEdq1CyoYmwctDxkA5YYMnRgtAcY04vVfkYDh33xcT/4frwAAAAD/PwAAPB3ZvsUeWjyKUku/AInNPw4AAwEBBdIHATyzHA80aBdQM2hHNP////+rHP8fMLMwPP//vxz/////D2gzaBdoNA8ctQEAsdDX8NbLnmJWMyIIFT9FCAH5pMrm7NfOrV9YMSaeDCyEmOWPT2tMk3sNfXelu2XY99zJqGBaNyALHzRZwAD/scvS7OTRpmNTPCsNFcp9moaWbm9OknNhhne0wofX99zJqGBQLyIOJTxZWQH/scvS8ubNr11aNCr9ByWFl4OOP29ak3uOgHOg0egv7N68tGNXNhsOFEBOUwD7r8Ld8ea9t2NaMRwPKdCEmEeNbE2Mv3N8jM+d/wMAAP8BAAAKAQEBAA0DrQYcRQLRE70IHQjFCzSE1OwRBLID/K932hiLROvU6i0OWm7fgj+Wg/7eJAl3mTrPhQaM3MgwN+puqzsn10Elfu01bHxf5sKbzTurVMxtWvoBweEwkzI8QzvAWF7oUvmjZrvNtL0BBSOJERur1cm/2bsh0W0n1cDYM18TR3mUBdDXnCq59yAzbfiS4MFMvTqfGt+9UOuCjed2k2YgGgYfXHIVlaHPctWimwXsIdWpP/LUaECwS7wCfxUC/lwBR7CnoEIftDUku7/IMYAtbLQ6k8bOSJB/EzjOU3TknmkjUj9vu5hshiwgAnL6y22iuwHWoZC1eAFWEoRukmaWJswE6JUabxcKWnl6vfjYtpccE4s8bsiXvJ5WIy9QV5eC7VI3Rqwy19Pt3HnuSHpqxzxW9xjcmhEyfj8pUyHk0YYdAGnpSjDi+b5IMvnNrNK5BkcHTTVcVg6nf22iHwhpxqnQmvPQksM/ohZCAxFsnf60wAFA6XjiSFvhwzCfROywLLCh13GQHP3qHXhxkBz9w/y+xRN40oWaOd5pwWmT0VBxHPv4A+RPoz5JTAzF0lN9guyECjDIdHAd8mFnDRM2gnlwHH59hF0uf4vLrUT2RLDW7Luo9M86ayO0NaqT1oBpozp/7eURopXu9Vvoh8t2WvkHZXVCgoqqZqLBHg9fonw8S7ZgcQPrgIw1OZQh/g4a1yIMChnsomyKin6TeNGlaVVUgxVp81c9bHPlKb44SVqq5VpuAuCiAax4kAK4aADtq0f/lwmLhIpOKnxowBjLJGuckcDT+2Xn4c3oKMHACJNCiggiElKETV4KCjhWeChlxHhXKeKQ/Tu54KQCrp5bB0jrjp8EuOgAbVZ9aAFQYgCS7ztWiOTBsb8oAyDJAkB58Qy6AGDCAFgCyA8jucDqv8FCyYCP9sECgAkDYFneIsAASLIAUMqoa0KpwOIRJyiUCQqJZGcZsMBgLjAsljlNAQkKZYJCIimkGAsM5QLDIrm5lsGwWDIsMJgCPBkMiyTDAkNJGpNCYqmQoGBaejMgHJIIB0J5oGqQWAKY3KuZQmKpkKBg/ulaJJIAJXkTtUgClPx1HQomYImHVkKCQpmgkEjK9gMkKJQJCokkeRuAUAKSKMCaB4AJAmApSuiqBLTkAG4tqAAtGYC7B6gALQkAywjaubD0X0106CRyy3Zaf02hrCOTRQgsqqrJBnuALh7KppNki2jkUIX4O0k8aywwbMC9JRYboEKhcXjE4DKRukjYJF50SToV3YHJ2vxUj9JMP2KLk6SlLkKMLgAuHMCqGrACuHAArZwuf+hEKAwLUoh6FM8sWSwCK6rbfhkcKdw3haUMhwIsDKkphmhI8+d9KhgavC/pV4qTmebt3t+GorGEeH7PNH+mgJ8EuOgA7WR2JwJgyQFg+va9CQAlCoAk7OzpAoAJA2A58aSaAFCiAEjWKBwkAJgoAJbhzAgMgCULAGbL10OCqQCXHSQAmCgAlmaoAwqAJAkApR0PgHBYIhwIpjnnQIJCmaCQSCrSAgsM5QLDIhnRdrDAYC4wLJYYpQXDYsmwwGAyDcawWDIsMJg1DwEKiaVCgoLZdIVCYqmSoWCelQWHJYAJMtkKiaVCgoKp9VsLDOYCw2L5+VKxWAKYEPImDCZgicnkAkO5wLBIjnyQoGAmKCSWWdsACiUgSSu0WQCUGIAkY5GrEtCSA7iJAipASwbg5gAL0LIAsP/oLir9VxMhWsE6c7FoPF6gsp1W/jk5nbDAoqqZaLDH+x/Kx7NkC8MCFko5lCH+DhLPGgsMG3DkeNGlaVX01/TFP/uYiSJh6iIzaRou9bDV9SO2OElaKsPkC4ALB7CaAyuACwfQSm3jr31sowLS99qHzoOisCCVOS85LAIjirs0qLCis4aYfph6fNv7ZRDF82Up901hKcGhAAsjaoohGkgqYGjwvqRfKU5m5Np8vAJ+EuCiA7SLtaYFgIkBWHbxRSGSB02esQsAJgyApa76awKAiQJgKdxysABgwgBYwjgkKJYJQDAgCyYD89wBCQAmCoBlrg8clAh0YAIkKJQJComksmuMQglIwuvzopBIKiQolHSJAgsM5QLDInlvcDAslgwLDKYajgPDYsmywWA+LxEkkgAlgZoGB0J5IBySSskHhyWAiU2zComkQoJCaaQhoZBYKiQomPa06wyLJcMCg/lmhM5QApJEYyMkKJQJConkMSZAgkKZoJBIwm3DYQlggsZodQCUIACSdVs5SkBLDuAmro6zAC0bgLvAArQsAGw5Tn/D2j8NzKwzYKgdHTqJ3LKdVPAHTK6aiQ6ciC4eyqaTZIto7Fgl+aSxwLABJ6qmuEjYJF50SzzVrEt1IuuqWpEhKk5WOi9t+lMtSjP9iC1Okp6qjny/ALhwACserAAuHEAb75s/36kPjav9fH+aqEiq6KTChwaLwUwClSSYM6OTCtj+OZLOTTlfAtG0V5ZUHzI6SjAowsQQomIrgaQAho4VHkoZsZsd9x6g1Dt+EuCiA7S1NKIHgAkCYImNryKSB7rzogsAJgyAZfkiaAJAiQIgOVFwMJYLvKbAAFiyAGBGuwkDYMkCgFlsGgkAJQqAZH8RcFAiEAC+B0J5IBySNeaaSAKU0CEKJSCJKMMBw2LJsMBgDvbJsFgyLDCYuj/MYglgMrY2CiZgCaxnhEIiqZCgUDqbDIclgAkIU4VCIqmQoFCK80gwLJYMCwym6M4xLJYMCwwmUNfHAkO5wLBI3vsTLDCUCwyL5KNmQIJCmaCQSA4tDySWACa97lYHQAkCIIlJnKoEtOQAbiiwAC0bgBsJwAK0LAAsAAAAAP8PAACInzA/Lp+YPvhEkT4MAABEUkFDTwICAQEAAACADfANAvANUAT/AT+8Az+8Az+8Az8PugRf13X9ui7vuq7r+q7rur7ruvz///9////r//99/3b9uq7ruvzPn/z5kz9/kvxJ1qqqqqqqqqqqqqqqqqqqqvKu67qu67qu67qu67qu67qu67qu67qu69KqqqqqqqqqqqqqqqqqqqrSqqqqqqqqqqqqqqqqqqqq8nVd13Vd177ruq7r+rzruq7rurZf16/r8nVd16/r8q7ruq7vuq7ru67L////////v/7/3/dv16/ruq7L//zJnz/58yfJn2Stqqqqqqqqqqqqqqqqqqoq77qu67qu67qu67qu67qu67qu67qu67ouraqqqqqqqqqqqqqqqqqqKq2qqqqqqqqqqqqqqqqqqipf13Vd13Xtu67ruq7Pu67ruq5r+3X9ui5f13X9ui7vuq7r+q7rur7ruvz////v/63///99/3b9uq7ruvzPn/z5kz9/kvxJ1qqqqqqqqqqqqqqqqqqqqvKu67qu67qu67qu67qu67qu67qu67qu69KqqqqqqqqqqqqqqqqqqqrSqqqqqqqqqqqqqqqqqqqq8nVd13Vd177ruq7r+rzruq7rurZf16/r8nVd16/r8q7ruq7vuq7ru67L//9/////1v////dv16/ruq7L//zJnz/58yfJn2Stqqqqqqqqqqqqqqqqqqoq77qu67qu67qu67qu67qu67qu67qu67ouraqqqqqqqqqqqqqqqqqqKq2qqqqqqqqqqqqqqqqqqipf13Vd13Xtu67ruq7Pu67ruq5r+3X9ui7/AglM/wTUm6aA/wTUm6aAA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQEIrH55HPTgdQFFAezMmJzAuIyQtOA0KGh4QEhoQIRMTFwcJGR8XERYVJyQhFxAVEhwkLgcHEhQSISIcBQMCANELAgDPDA0HEg0DAQHeFwICBQMHCAUDCwsFxwgAwwDCAdAMB8QCCgcHywgCAgPMBwICAMIAwgjDBwsDBQDDDMMBAQYGAcEDAMMBAsUEA8UAwgPCAwHCCcICAgjCAMICwwIHxAIQCwnCAMIHwQHEAQPDA8IAwgHDDsUAwgLDB8IF1BAAwwHDAwHCAMICwgMUERHCAMMAwgPDAz/Kwz/ewgDBIcQRwxTCAMIBwxDCAMIcwQI7whvDP8rCP//twgDCP8bDP/nBP////9TBAMI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////98E/////////18E/xsE4xaJkypMAELwPlRu9m4m08TnMxlZ2PZUijIbDofdu4Dt2CicbLq4xvUDRluLCkIT1Yqqy3JfyJt6GYRySl3hAUViWRABEnPVzaCK0f4c7+7o80bRKzsZS5rVq6oxrVWzKpWZBtunis3faz+cSVvV1vhIxtYYBo8bkYYxVnVcmOmlJ6Am6Si2yQgzwmx/73RCTYaL83ipkY7OUAKhZkKmgvaMxUEQ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NR3nyMgHFCh3FCgoFDcUKNcUAxTreDwZAVUB14x4Nyg8PDyvLQEtAQMUt2kBfQGvjHh4oDdQPP93ZIz///9kZI8oPKC0//+fGQHw/9eMoGRQ32R4xxQ8UFD/10EBVQHnPDz//6cUAxT//////yMoFP//////////////zxQUKOsU/////////////////////////7cU//////////////////////////+bFDxQ5zw85zw8/////////////////////////////////////////5dJAkkCoQMJimaOIheBIZziXVui9KOPcwizYgMww2ac3VTpXiJN244iGI2OUIWNHwZgHiGujUU+67V+9RV3cLPQhM8dav+5kiLtii8AleHbD0dbeO4Goqtiwpd/indU8C2PCuo9/qW+E/aZ93dLXnCGFukU2DcEV8lA/cRwZx2gytGL1LHFqwnAKZoesYR/mfF5OrzbmxONf7xP/aRDO/Lcpk/VNzaG+7PHOuQd28+nkNnnt+B9F2C5RKGhsgxjOhmWz5PcOmVL3dTe8+fP8A7V3ZH/L+LIY8mwlRDZcPQ9dKYvLEgfL1EDQCa8GlsaWRbECitespq8VVX9HPzMX+BPBtNvSmZZ6eH24MJopBfgLgt48wgH2hH+2qzcCBk181ffIU//Q7vAirMOHaynyBFeuxTGUlOcP0vhtgk2qElqPSg4N+uu72j1r5r+LC8E2bJ8i5aJf0Iv1QiR9vfLoo35xeigTnSwBufhK+akrm+nXUUykBknk9jb6tMfii7UPKXHqbZlqtGyCjEytXjd46LVfwA6lunGBQ0XNJBUxPl8ZHQTiQ1xToIAAAAA/z8AAAN4YL8AAAAAYrBLvvt34D8OAAMBAQX/B30z//8ftAO0n7SYEyEC//8nIP//yyAPXDwTIP//zyD//x+0E7SYn7QDtP/rIBMgaQFpAQsgZ0hzj2PuNWlEWXJqPivgw9GVfFIxg8/t2rb2MLV1aAekUIKxV1jiyh5t1sCDT52zExUVFRXZTCUQFRUVpjPwhNAY3JCE3PEY20W05aPNQaqda/n6GQTcrXP3mIN4ZNckv83gSwEdToD/AwAA/wEAAAoBAQEADQOlCQ/wEQ8RA6UNIQIBDIkHXZKnF4qjMafRSEeONtxAvuZb0qM93EVCSvQSmIIiyDssc3TSVcGc8dRK/5ztAehE1iYsbfYGbhLfagDoXlolbKcqlMipbLOjBv+7C6zUtwcv0uPMf2KVQ0DCoGn7gPEUe0ICDQBBs+DTKGgOGGgAgKV8rBBBAyDQKATgj0D3AxAOQO9D0PwA8OPP+wA0PwDSIdD7ADQ/APsACQG0QgBMPwD8mQMCQANS8m6UEEErBECztf6ZH4AGAADwA3offwYA3NO7/AA0AP6MSAQ0PwQNgEATY49O5uKYA+CMNQD8kDkAYioDjDUA/JA5AGIqmznmAFAI2QFgpoJif3YAQDCCdgCAKZp9ZQcAhZg1AGImCPJlMJo3wN2SZlkDwI+ZAyAmmZljDgA/ZA6AmZ6b+5gDwA9ZAyBmMmaaNwASUm4AoHnGqGcHAAQjaAcAmGKBKC15AWAh4wwAmQBcXuYA8GPmAJipjGZZYwZjuWF2lLkoDf94dqDBLJ4baMcZ0KKalo4ZZEyON2TOmJJkfo45ZDCON2TOmIudM3GZYwZjeWPmlLloBplkMAKICcyUL5Y1ZjCWM2ZNmYsK2rJ5U6aimVFemLHYGV+MbpwBLaId5wYazGJOlPmYQcbkeEPmjCkJwGRZYwZjOWPWlLmYnDHWkME4zpA1Yy6SAWYwAogJzDAlWdaYwVjemDllLvagZEwELRMAZAIQE0HLBEAgQHBMAC0TALHwwDQRNAACDXkcKxNAA+DPIFNAz0TQNAHQlI0MaJoAmAkIjvhMAE0TAOsGz4COyZ8BgLMcTBNAA+DPEIBAx+TPAAA00ULif5YJoAFAQL9YoOcvaAAAYO78/0x/AAAAAAAA/w8AADzqTz7u5QI/QBtmPgwAAERSQUNPAgIBAQAAAIAbgAkCgAkAALAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wOjyYUBAQABAQAD/wAAAAAAAQAAAQAJAwAAAgEBCQMAAQMBAwkCAAICAQEBAA8DyQUTGEUD5QrtFekOoQZwFI8I97xc2KKSwwAmoXoAqzXCtPGOxIXTvqh5fYP63kd1DfU9tMkX9toZROEqm8Gz7Z2grK2Qj8SFTPVM0lC9TMehQSHiXXrBp8yH+RbJ1xFrZTGWMnQbypVI6kgtLAD9d3DMIDajVz2O2urVgpgwSGPercvNlER1U73p3HQNlA2Nq63DheXMLEQFJo7nOnVO7JTTPbQYPctzgf+ksrijKu8nLPrDRVLOwWttZlKUs8s6pm2e6ETVXqxvjl38rkD9oFRuvJAu9RnGZxTuJS0vWp7r1UDqdFyGnEexhr4rRkNCpP1ycSvfRS/4gEC67g2EmqzHs957Mnxmb6k1/54SXtiQyaf5kUTplzGQkJCQkIuvqpdC+g4SGWIZYhliGWJKoFWz79vIbA1ztG5n3Pa2ZddI1Z6at8Jyzjf0TBbOQuWaHedHjsYlebHkmh2fDISP0JeSqW3HsghS/7IIH6Gzr51Ps6XD56IAs3ABUaxwAaiyxui1gwIdhnScySoyfHD4oeww0D7vPOjU71OZtISSssbotbLKDQZ26s1PxqDJp/mRRPlSKaVqB5cFGJPSxOWrUcoNBnbI2Js0OJPSxDgTtTMx36xQPOlmYdsbW/YrXyoPp5ogzwS/L4TwlcN8RZOoAaLTOo9e76yx0zqtScAqvivkrVPXEsucRyp58JXDfEWTRg6nwcr/Qp6E6bXIfRy5p1xvj9hbT3AzKoXHVe2v5uD3+kz5BcmWCbixUxDF6o8oLn0BotM6jy/yUrDZ6Gl0BtVskxqvrswV8mDLsDQK1IolupE/7BQlEoFjYymaLGidRtjDPaICkiiaLGydIcvwjmSBpRAhGocPSMVHaRbtUJnSrEHcDGZijI/2PXuEeZNtBSSk3vSjHdGr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L8wwn77egGQxgDiFpwSoA+ESSrtYXqDNYzGAMUC2jrJtLL/Awrn7wQvy6iYsnLsfouqFIIYfoekAAAAA/w8AAPSZJD/ab2A/MBvhPQwAAABEUkFDTwICAQEAAADSAVACUAAAHv///////////////////////2/b1tu29f//////D/8C3UT/AhFB/wIRQQP/AAAAAAABAAABAAkDAAACAQEJAwABAwEDCQIAAgIBAQEBB9t6bRVQHP+nNFD////nuGj/p2iEuGhXaLgzHDSrUIT/pzQ0aDT///8PhLgXnDRQNP//VxwDNFD///8vHBz/r20BhQE3BQIFAv8H7Oz/////////V2hoVwUBBQH/bxw0/wchAVUBNxz/////////////s5yc//+DHP////////+3iQIFAv8XhQGdARz/////////////////////////1xz/R2iE/////////1cc/////////////////////////////zudAZ0BhQG5AQMc////////////////////////////////Ixz///////////////////////////////////////////////////////////////////////////////////////////////////////////+XHP///////////////////////////////////////////8McHOkCRpWHz2SW5oMV21d8CQpa5pEx3OZYp/XSA03dmYdwv5E4+I5dCeHiXdC+f1Zz4+WWGq5VdoY2/S7l6fmonQGIZ8xGI0bZml/bT8+YCb+RY/r81VXq+9EfriIIzyZaAgYpqXOhrZNjM24ntwavBWwFxQMdBzVFppGZDtOYKU6RwSx63Y0icLjM1B7Tw+6HXyYHh/HYKyV5Pbdn7zG4rM9ITMd9pO47SrIwoYxczt/qipJbM7N6ma/xIG+2wyS/N/jQBJZtil6O9gDL/3ytTH7ypQeJQV4miosO+k7v4p0/ohrd887vMCxRNbgLWc+CPFLPhtMQsgkxziT1WWzaSart8TOgyuVjYS0fz2T5BDQmV12fgF9tRdYbR4HYFqNa+biuL3gZEvqoI9Ux+/yqSi4g/gs1CXAwoQZQd1dDwDWLXsIHDNYt0Io59OxoDuHD6kvGQ5wB20JKRoQgbbFAOqktzXZ2eDDi9h4+gQAAAAD/PwAA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AAAA/w8AAIgVST1ShxA/QO/9PQxEUkFDTwICAQEAAAAaDgIOAAAG377v7fsC/wJmQP8CiED/AohAA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQAOI+0EZQftBIkdPREJOHGvJLeV/ZmBFw9RwA7Nkgmi7LQi+NFak7xmfApp92/UZQUZy1xBZBN5LrahUUUZHjoLZRbRRzza0hHgjRPiKweciv8tUQraOR3SFheeTN/bntHtIF5Bn2VZBwmKBir2rQMM9Xk7DH04ZG5kBMIcXzb5mJuIDezUjev7BAAAAAD/PwAArHwfvXhQ4j0LO8u8ujqyPQ4AAwEACwM9MRPtBAfZCQZabNGnrYBGpQigPwKAeQAoii4A9O4D8wIA/wMAAP8BAAAKAQEBAA0T7QTZCQOJHe0EA3kCUQwJubC6DNT1876w6Gs0AVqOcBKJCv/EB8KoDHCLNim4dqiyaIV8YTEFClhZIkn0KfYZD+miMmME6mieC4rCAkzKIgAAAAD/DwAAlnXpPFplCT8B5Ck+DAAAAERSQUNPAgIBAQAAANYQgAYCgAYAAKAC7/////////+/7/////9///+///////////+///////9+////7//+//t///////////v///+/7/9/////////7/f///////+/7/////t+//+///f///9/////7/f///9+//+/7/////9///////f///////////////v///+/7/f///////+///////////////f////+////7//////+//////d+//v///////////v///////////9///e/7/////v///+///////////////////9+7/f/7/f////+//+/7/////v/////7/////9+//+////////+//e/7/////t///+///////////+///////t+7/+/7/f+//////+//wN43oD/AoRG/wKERgP/AAAAAAABAAABAAkDAAACAQEJAwABAwEDCQIAAgIBAQEBB59+WSX//1sE//9PuQNxA/////+zBP////+vMDD/////////EwT/////pwT//1sUGP//T6EElQSxA6kD/////6cMCAgE/////6sIAwj//08gJP////+vBAT//1sE//9PICD/////////ByAcAwT/////////BwT/////swgQ/////68QFP//TxAQ/////////////////////4ME/////////wcEBAT/////qwQECAT/////////BwT//1sE//9TBP//VwT//1cEBAT//1cE/////7ME/////6cE//9bBAj/////rwQEBP///////////2cE//9PBP///////////28EAwT//08E/////////wsEAwwM/////68E//9bBP//SwQHBP//TwT//1sE/////////xME//9XBP//TwT//1cE/////68EAwQE/////////wcEBAT/////////BwT/////swQDBP///////////2cE////////////bwT/////swT//1ME//9TBAME7g51foWbGq/sKJ6Ko957nzwtFfOan+atmjuUwomwnxAuqdgUsvv2p/Td2R6C7JvpfFZjtrf4I7GmkjAVeuJJWh/vw0vhf9rtkZPCjm2irgLyKS9uSz+mWeuc5vBMkmxxLNV7Bj+GO8WfsqF6XcDV4Yfmt/aayakFvGoeOOUev0YRnKy9+OyVZY26yzpbICpTeNmvve0E9lhHIAf7jm/L3f13bjg+mBD5blrsMXGWDC1nV6XWYa9ZwzuNNd9X4efcdjCXk+S7deGX821C3OOr6hohasb10ShF4qi22ygC6vHGPbymsL4Ma/Q1/UkLMIR5mo2ntMEHn3jHfJgv9SdJ69bNUVjDoT91SPrOCEhStMVeLZup0G3+NbsuF8Y1Lz59qGGH1yclt0IISFI6nDlkFtAmv911GW/WHo7cA7vNX4C/YNoAss7VYODR+cyTiQ0RmVJ9X1KC4/5ksrfc//aHmRZdBfWNj238Wc0CrIPHqR3m8ZnSj24uz/2/IevvxGfzqsVhdinWpM/3L13MKS6gHwVHvSt+SNkhL0Z4P5YQpvB76bhD+pDiCc5NLCPB0uJE1bs8jRvyE+XEkfXv6Um8Aa+OSJw0MFcpLtJsZon9SVXAnpfPNkX1/maZTOj7lrouF8Y17Fq1nj8729kHNFv3qyDxX0kdPieKaqCmd5V1YXz1SRs74ZDMckrjjWbHbTO11s1mjSWl3zpnSpjEuYsJIsIKSVZdC41NvoBbpYofVg2KINAQ/k2PwQliqDl4StNs904rsUi1DmM/HW4VuFDuWj9+Lm9aX9RTB80e4B41VkqSLzYl7eDmd58ihmpyK683zK0pIAQ1i3A6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DegEAAASLRCF5Y8AAABxCwAAILcBYVj96MyY5v4IAABA3JJEj/kjAACQaAAAQNEj4WP9eMNs87rFEs1wcJE+pAbEsHMSSGHpdAv1HbWGS5kT3IhWYrNp3Y/GNQ4oAAluu3lAp7gFG5502zVACbecx3N6W8AAI8CtJXnJtwUQucLtH3R120oCk3ELWAAS4JajNPDb8gdd4RYQubrtRnHguOX8UFtTDCaZ4QSCbGgAAAAA/z8AAKwToDy/8lQ+hrStvoa0LT8OAAMBAQKABAk/////////u3z/N3wEoM/nf/8DAAD/AQAACgEBAQANA+kCE9kE0QUVHskG4QO1CRXAZtiR6TQQ5LsFiVWZP99fioAOqkAAQJM/y3Ibq+04NIDQANCW28ZyK6ttZbcC2BYH3DpoW1hyW6ltg7oF3UrD5pzUoKW2ldwqLcghJwDRZf0IgLcAdGsWkCj+IwB4W9mPAEQDCG0ZkPf+FuhNv6hmPZXt5E8qc8k5n9EurAcgcMupbVHJraW2m+oWHGg7ZrfEaivLLZnbIoK2HXeLrLax3Hq8LQTLGOcNLRoAAAAA/w8AAEhpVz+m5zs/WJLhPQwAAERSQUNPAgIBAQAAAPwFigICigIAAGT////////////f////////////////////////////////////////////////////////////////////////////////+/3/937v//////3///3//3/f//3/9/7/9/7///8v/wI4W/8CI0H/AiNBA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQAPAwkHQAdUB4UBlQ09Dd0F9QVJBvkJlQJaAOwXYobrREHEaAtkDgRSrBHjxrerb61Z8uAWOG17rmBca5rjt2BplWuIw2ktFg5aMDlfPmGTj5jNK9IzVptHNVAi8xZoF94x8mrVKBMAyDQyB9oiPmadev9qwY8dHZO9Zyrn/Wro3oXBUqAv7QVi5P2n9QsWdp8LA5z8l3H/7NS8qhso9JrjPxy4Z0j1Px1Oua73I7wsGYwC3wSinDvksvHWigyMjIYalJ6/WsJsxyDFaR3nfIGK5y/2AQeR5pEg5V0RyExAYWwP7SXP1kR/uXYoqBnv98m5MvU86UoUI47ayKZSrZPtvFA4asaw+6wfTpeAAA9ITziPq6pihqHD+mQw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n77v933v+37/////+//////9///v/////////3/7//7/+////79///9/3/////3/////v+993//f//79vu993//7vr/v/////3///////////79/////3v////3/////3/f7vv/v//173/f7vv9933/f/////7///////////79///9/3/////3/////3/f7vv/v//173/f7vv9933/f/////7//////////+77f977v+////7//////3/////7/////////t//v/7////////fv///v+///v///////+33f+//9///9vu/93/f79/7/////+///////////+/f///f9///f///////7vvf9//7f3/f7vvf93+/7+/7/////9///////////++////f9///f///////7vvf9//3f3+/7vvf9v+/7+/7/////9///////////+/f/9+/9///f//////99v+/7//7fv/d9v+/73/f99/3/////+/////////////fv///v+///v///////977v9//7//973/f7v+/9+/3/////9///////n37f+77f973/////9//////7///f/////////3/7//3/9/////b//////6fv+33f+77f//////7///9/////+///////////////n77v933v+37/////+//////9///v/////////3/7//7/+//////v+33f+///////////3/////7/////////t//v/7//A3noh/8CQmT/AkJkA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQAPA90BCAMIHFQhAqUD4QRZEO0MOQyBCAUB+AqGSlwX9BUsHD+jHC+nP/rvFHZOrzDst5KA63fgZifl8Xsz1DNVH6WDWk8K42jmjg1LSkoxH+LdP5A1k5aDEURGTookuwN+aVNM0VXh7sr+1ZTuH1VD4FXRAz6/hoIQlEEkHIuXHGjnE9V6stluciR10uPiPrft0TdFrPoT9jdq5iyJyZAiVtHeli68uKGVXpVX2ft4hzFrjm8UDjL4KPwlWEHh7e7IknaxQJxwfMwk9K/+LmdXd7RLAzluBxZSljcqnm85x3Sbf+TyAx8N6bz2yBTI3kEBxNdRdCka4BR2M/SEXPpYZMo9il3pkFNvAURnunTbmkEaKn8ocVCY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eJ+ohn8d56gEQJpVjSngvlQJtx+gWQDOxra/m6EJ4KsuRnIlgCWhtJ5kkiIArGms2nRWobGZtlZtZgZAmtfBXto5AKqGJbSiTQDOqlUjczIJ4OjxQO9axCYP7vIC7hXlVLkoIgICGJtS5mCSARgL1iuy9t7g3/drTgz49yM1ZbwCFE60Q9c+AKDiGoENGjpwyCagT2I4IR6AscnujJ8BQMTXcN2GDgBMDIC+eA0AHYctrqJIAOSsqU7jwS8AFR+nF5F6APDw2nRkIJogtod2kiYAAAUPabcDdBYMiCgDU+pgisDCNw8mBwAdP8/G0koA5ExYm++1AdzbUikWIkCyBMZCwgDyyO0zesDI8HiCOCAM8PwvJmrV94D2JgAANydAoC3QBu0WgCam5y0AeKf4EMDN2QZwA9qbbmukwlyKAMfmksNtmG4DCAAAAAD/DwAAoxN0Pk6jTT/55gg+DAAAAERSQUNPAgIBAQAAALwEygECygEAAEz//////////v////9////7//////f/v/////9////7//////f/3/////9////9/////+//v//////////7////////v////////v87/wKHUf8CI0H/AiNBA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQAPA0EECxwBAQvkuRaNHLUFyIoBaX8TqVBjrakpbHLZr3wLOlrrDUoycaZ1MtmR6yROc3idvLyb/SBSyVS58CbWtJXKTZlR9E0rQxU+KiX/uijXeyStLxS2i+nu94v2EwNSurAOOCzhneZGtnPrR67H4Dhr2QY4HGlCdpwm4zJbzW1rz1XN34F4VrLsufledWlJU0/52pkIUXva+r+FsL+CBD0ix32bPHOganpfFQCco3u3yNmH6TZmhCtIghrm7pPMF8P6Rp3YFESLOqTGsNf2xmT+IY1sIsOmk1LWEka7zgmH6RZJlwmznnYM52mrJw7UWK/C1T+oGp4Pc0bnYwJFx4HfJb/t/cZHMKqkllmZcqu1hFcvO8SUi6LLW3IWzRe2N+xkRjhxYYG62yzRkqYGx4Yo+eXlOFX1RiTHqNeafohREONty5hC1kOohFcvO2rlCitDnZLSlnJFS9JAV7Mcje5CCX0BkRyjXj9hSLaBopBr2xWNnBcOTRLMiQpWgotMs8QWl5ZC1kPo9c9T6vcSDABI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kRIA+Khu3BzwAYAOIGE/B70LADoAAM8BKGzokHfx7nNQ2AcbAOBdANABAGEDgLsL4DmAMNs5SE7A1xwd610AgLCRY+eA76MCAEJKdS8AfiLeBQAKO1AGAB4HvQsAEHbeBQAHW1AGACCHu/scEjbeBQAKGwB0ALi7ACBhA3gOIGEDAL0LADoAvfscEDYA6AAAPAeQd6HDwQYAAAAA/z8AAP/Xrr0xjA++/UqyvaQmMD4OAAMBAAsDVTUX1KUBNQgK4tE1aIZx26ldtAwqA6Bm6AAAmA9A6GoCYPyhAIxfOACYAACgtS0Ann8OAG+XAnB2BwCAASAAX4IJAP8DAAD/AQAACgEBAQANA5EGF5EGNQgHrSoQP7NywORwkwjYCRAiI/MdfmOYjo4ZNMY5Ol7QmIFjoGOnf4RjBY1xjo4TNFbgGOgonwoBmQEAzCOPGQAAN7LSNjZeAAD0iOMFALCNwP8ZhX8AIJ8Y9gHAPB6sfB7+AYB8gvgHAPHoAFB++AcA8gniHwDEI50+OwBkcHxqMABkMABosHxmcHxqMADIpwYDAAAQnxkMAI8gl4aAABCfFAICgDwKKp0CQHzGp3wCQHwCgHzKZ3xq8AbHJwAAgAYjnwAAABkcnxsMABwsnxsMABwMABscnxwMAAAAAP8PAACjE3Q+1ZdaP3gdqj0MAABEUkFDTwICAQEAAADzAVECUQAAH////////////////////////////////////////wf/AihGAQEAAQEAA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQEHgIABcQ8DGP///////y+0tP//j1hYf7S0////11hY/7TM///////fWFhPGP///////8vgzP+vzLT///////////+XWFj//19YWP///////489AT0BcHD///+/GP///0NEWP////8/zLT//6MY/////7dYWP8fGBj/Z5yc///MtP///9e0tE9YiP///////////1hYLDtpAVEB/79YnP//zxgYGJsY/////////7MY//+DcFj///////////9LGP///+cYLP/HnMxEWHMY///////////////////////////////////PtLSInP////////9bGP//////pyUBUQH/////x0REiJz///+7GP//b0RYWJz/8xj/vxj/G4icnIj//9tE////////b3CccJy/DQFRAf///////////y8YGP////8TLP//oxj//////////////////////////////////////////zsYaxj//////0csLBgY/////3MY//9rGBj//////////////28Y/79ELBiGBBEBWDrfYPVwS0AiDHu2JZx2GWnQLyObZQaNzR7aUKzBqEa2GTe0LgoBcd30lUdAbED15GJBN6EhDMQrPVs45GJxzA+zf5NMC9nm2ESAvU2ZmTfaquJ0uY4fj1t+7RaIzpxPkDs5KMC2cqqg95S+/K3AGqcclihOG/KPoKgZzex5ofE39Ij6wD8sAUlXRYmuLbwYpmCQODCnem4p49gYrgx6aTIS1R5/dWn0HOPqAe1YuBYuvJy6Tmf0mEyJ+YjZuSdYL2uJ0qhTTZd6AETqMqL7GXZQ0I/jxUCS8Mt1/SCAzcMMusNgWPyHRjgPZiUQYJcRGdz+oRcZ6jx4vamitHiL0DgoHU/mRsCXZb9IouEw9iDTxX3W9Zdce727BqTq5ZNYP9XgWuUUcAj1SMwSirGmHIQelpEksu+dC8Axz6b6gvk3AKvfMTQQmJge1QC3wXNbowKDbEhpEzJTJDk0ZQpKHQm2HvDkuKrxEaoJJtQhuAc2CoRLknOFlvkkY3GXddjLzMl8Mcnxkt0rz5SWDhU5TvS6feav5FS4CapxbCCfODEPvos0uNityeN4ChqfSF5K863LS/d2befTiRbt6rfbEuKuKVoT/rXb4MUMviGvJa4JpPKjad2509/NO6wTgvuTEoRvjkmliLbhr5ZjAE5MH9Wg+9UpyqdvAYVm6STw18e2sUmCAAAAAP8/AADhRlK+4EZSvqLqxDrhRtI+DgADAQEH+QehExeIB2QDqAOIC6jsAzEBBw0BC1EBqAPMC2QD7CeIK+wTIP9rIDtEKyAX7CvZAQ9kOzEBBzEBCyBEH2QLIP//C0R3IE9EGyBHIENk/xMgRyATRCAnICAbIMtELyAnIP8fICcgKyATIBNkCyAfZGQLqAcNAR8gF8wP+QEriBeID0QXzDtk/2tEE8wriCfsA6gLdQEDiFEBCzEBBx0CA1EBZAuIA4gDqAfssAIorm2SzhCB1nMXt3Izv7AZ2tH6/hPpGvygZsys1YAINa7Zht+kzeTamqqy2pqqstqaqrLamsLvzX2pqNcbY7va6LfaUp1DdQ76xdlL7AcZ1M6EltIr+x8a7f02JZMmHffawd6NRfEM/gWPZhzr8UVLYTvWBRnnS5s7oal6FTJyFppePOnbGwb3hjWADksx56q4LZ02IwF9fY5LNNsIAzw0YkCgO+fCPtG9ZcR9E0E4Nk7u07Zo8lsHlW68tBN1LjsJWj3ZQsKex+hWqr16dDjci9kjtgsTGC1zKrVin0k/S8e8sF5Bzy0EF9vOLp53xRBNdxh4x6r2Rc+ZZIK0TRuIZadXETFLe7BxscKZNUlZtjxich5bZ9xVD1+jspbXT7OS+duvtVqBZvoz8q4/vlmA/wMAAP8BAAAKAQEBAQj+H6kUF0RkIEQXRBuIIBsg//93IBtRAZUB7LkBVyAgFyAHIP//1yAb2QF1AYhkEyB/IB8g///rIGNE///XIA8gBx0HHQcXICNEZBcgRD8gFyAgIP//uyA/ICcgdyD//zsgRyAPRB8gIAMgGyALIANERIMg//9fIDcgJyA3ICMgLyD//4sgFyAXICAXIA8gEyAXqGQbIDcgB2QXIP//YyAzIFsg///vIFsgZyAXIBtEHyD//18gXyAbIEcg///3IEQgIBMgByAXIBMgIIgjIBcgFyBkIP//eyAg////gyAbICAbIEMgGyA/IP//wyA/IP///2MgF0QHIBcgIBtEICAPICMg//+fIOsg//97IF8gEyAbIKECnNIL5h2ETg6pvygoNlS419Gl5AXRTJH45jCYSz6/GRR5zyQGH/7fIf7muy+hzMzuV+5HBJkuaSCa2Y8pVCYuX9yP0ZZEY5HB1WV++xtksfnmCzgVBXNkYhnT8L6DsWHXPkwOk8L7rXbwNLle+Xh3vjFsLTXollVwpyzCIfyIf2n6/uDEp/TnVNEpXJC4XAImDj3TkHqHt104msV93z6PDxdHuFQxGUxEDCkbwK9l4igscCwtCMiLc+xScWmkdKLAp2ZV5K/brvXaZrVN5qGT47Tbf+RfFI61V/u32IQvDQOOC3SEmcxOUuV7fgyOco33k/saLMWprtxRthyufDgeNkNhhM8pW4ONd5rPXSD/MeEHuzTpbSxwtn+sl8dXg/RUgAAAAAD/DwAAHkXfPimZDj98fS8+DAAAAERSQUNPAgIBAQAAABIGAgYAAAP//wP/AmZAAQEAAQEAA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQAPA5EDK5ED4TgEPJbhgb7SVwIAofZXAgCC2l4JAPiVgloAoFcSagEAv9KvBAD6yr4SAPhpfSUAIKgFlgAAAKCvBAB6paAWAPCVfloAAH0lAAAA+EpALQAALP20AABQ2ysBAEKtrwQAAAAAAAD/PwAAh246voZuOr5KjZo+h266Pg4AAwEACgNxPBuRAwPgv4oA/gMAAAAA/wMAAP8BAAAKAQEBAA0nkQPFMa0KBTbVX02AJIfl8Ib3uwFg5CEnbwDEO941TnHyBgAA4F1zCLwbAAB4dwDODoB3dw3AyEkObwAAAN4AAAAA/w8AAB8K6T4qIyI/3CCvPQxEUkFDTwICAQEAAACvCOUCAuUCAACGAf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9//wI5cgEBAAEBAAP/AAAAAAABAAABAAkDAAACAQEJAwABAwEDCQIAAgIBAQEADwOxAhsVAf0CWRbpGnUGjQGQAl464KSY8Xb66Pg/mroP1b827PWSIOpl1stSOTkdjOjhRZQjIucRIQbtFg4x+2jOPnQ5OETRx4jDWe6q/oTOnnxo/ig+md8T1KKKoO+j8mkSsLOm9ni6TzteGNkBRi+4KZ94O6xkLrz7bl2e8orEs6/E2QOjL+EEtwxwOIDEjLVBvtcs3aN0FeNixx2Asy4A99S2Bf3BB9dvdZ+vGQVqKg+MX1kppq6YZZFT8uR/zhoA3YiEy+tb6LQ1O372elyulIkI0Fj/0d/X5HRDG/D43u6fh7DbABaV5OdB7g0Rt7L8wqP12q9etHevLBul7Pon7DckJLPaShVTJjqmNb+55HNxZpMfLsE7a2gDIph3TNJ/kbjUq9gDyeW+jubRJI8gf31cx2MvV+bN5I78CObCzv4t5Inw6KIchra8buvBF1c6UTJSCdhAGafkazAFexVe6vUphK/ZiHA1JZqPNWXQOK43aDaARe9MzYrgqZrNF28gf31cb3BO3QeHYtQlO8ooiIGQrL1FUL7BITp1yZl4CpM0eTIOECHV/UOVyZl+8N9btiGo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AYBwOzgoAyDcM2E1Ovy8MD2Ap4lMMwCa/p56ypdCUQBMyQBwDMCUB2XfZmkDuLmkfhXqCVAfE6tqWN1UgBPbkwOHAqD5MZE8AAAAAP8PAADEqh4/gAX4O1Dfij4MAAAARFJBQ08CAgEBAAAA3AJ2AnYAAC3////////////f////9///////////////////////////////////9////wP/AmFJ/wEz/wEzA/8AAAAAAAEAAAEACQMAAAIBAQkDAAEDAQMJAgACAgEBAQEH13ttF+9sjFBAh2x8X8zMEFPMzEBAj2x8KxD///+/UGD/54yc2xAfQEBXYGBrEP97EHxsUED//0dAQHx8/////+98bAdFAWUBZ2Bg/ycxAkECJ2BQp0BA//9P3Lz/7xBbEJcQ73x8QEBgYOf8GQEHEONAQJMgX0BA7xD//w8Q//9PQEAwQP//SxATEBd8bP///zfs7P//////d2BQ//////////9nEP/////////////////nEP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8cQ////////////////////////////ixD/////////////////uxAg/////////////xcQIP///6cQZxD/L9zc////h1Bg/4dgYP+PnIx/EBD/AxD//8MQ////////////SxD6BCetNylmrvBFfdtsIr4ttIhk2TY58eUyaRvkUv4Hm67JhKwtRrvZFzPy52AfGPFB6r4rgcr1vILiaw8jURXdadmuvsJdbcQQbrD9ZGkEHrC29cjOvh7lrowGkr1dOAOvArWUgEiGSrBrUj+fGpMHFDYodc8Z51FtI5oa01ome2dDLyHRs2lfwnQFcyFCDPsY24hAcKlNYCrD+e3dWJ1nVydwH88Ad/bApnzNETXldvAwlONGEhOMfV/rJKgLZApb9SUHtl6Qubze33oQ1QDMmDf5K38kuDplKBvnBkLmHjjBn3HzhrNyZu1jzPprevvvNLOaJBtDDIvYmesUZlPH+2k9MkvJdPKOWg572r4RM4BIxVaBw3mdoSYeL1tusrjPQYwLimK9dAqj5d8CNGm7QTcL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" + } + ] +} diff --git a/nram/client/public/textures/baked.jpg b/nram/client/public/textures/baked.jpg new file mode 100644 index 0000000..b2ed938 Binary files /dev/null and b/nram/client/public/textures/baked.jpg differ diff --git a/nram/client/public/vite.svg b/nram/client/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/nram/client/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nram/client/src/App.jsx b/nram/client/src/App.jsx new file mode 100644 index 0000000..5ca5609 --- /dev/null +++ b/nram/client/src/App.jsx @@ -0,0 +1,19 @@ +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import LandingPage from "./pages/LandingPage"; +import LoadingSpinner from "./components/LoadingSpinner"; +import Login from "./pages/Login"; +import Home from "./pages/Home"; +import Voice from "./pages/Voice"; +export default function App() { + return ( + + + } /> + } /> + } /> + } /> + } /> + + + ); +} diff --git a/nram/client/src/assets/react.svg b/nram/client/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/nram/client/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/nram/client/src/components/Avatar.jsx b/nram/client/src/components/Avatar.jsx new file mode 100644 index 0000000..8255113 --- /dev/null +++ b/nram/client/src/components/Avatar.jsx @@ -0,0 +1,128 @@ +/* +Auto-generated by: https://github.com/pmndrs/gltfjsx +*/ +import { useAnimations, useFBX, useGLTF } from "@react-three/drei"; +import { useFrame } from "@react-three/fiber"; +import { useControls } from "leva"; +import React, { useEffect, useRef } from "react"; +import * as THREE from "three"; + +export function Avatar(props) { + const { animation } = props; + const { headFollow, cursorFollow, wireframe } = useControls({ + headFollow: false, + cursorFollow: false, + wireframe: false, + }); + const group = useRef(); + const { nodes, materials } = useGLTF("models/646d9dcdc8a5f5bddbfac913.glb"); + + const { animations: typingAnimation } = useFBX("animations/Typing.fbx"); + const { animations: wavingAnimation } = useFBX("animations/Waving.fbx"); + const { animations: standingAnimation } = useFBX( + "animations/Standing Idle.fbx" + ); + const { animations: fallingAnimation } = useFBX( + "animations/Falling Idle.fbx" + ); + + typingAnimation[0].name = "Typing"; + standingAnimation[0].name = "Standing"; + fallingAnimation[0].name = "Falling"; + wavingAnimation[0].name = "Waving"; + + const { actions } = useAnimations( + [typingAnimation[0], standingAnimation[0], fallingAnimation[0],wavingAnimation[0]], + group + ); + + useFrame((state) => { + if (headFollow) { + group.current.getObjectByName("Head").lookAt(state.camera.position); + } + if (cursorFollow) { + const target = new THREE.Vector3(state.mouse.x, state.mouse.y, 1); + group.current.getObjectByName("Spine2").lookAt(target); + } + }); + + useEffect(() => { + actions[animation].reset().fadeIn(0.5).play(); + return () => { + actions[animation].reset().fadeOut(0.5); + }; + }, [animation]); + + useEffect(() => { + Object.values(materials).forEach((material) => { + material.wireframe = wireframe; + }); + }, [wireframe]); + + return ( + + + + + + + + + + + + + + + ); +} + +useGLTF.preload("models/646d9dcdc8a5f5bddbfac913.glb"); diff --git a/nram/client/src/components/Cursor.jsx b/nram/client/src/components/Cursor.jsx new file mode 100644 index 0000000..047d6bd --- /dev/null +++ b/nram/client/src/components/Cursor.jsx @@ -0,0 +1,77 @@ +import { useEffect, useRef, useState } from "react"; + +const CURSOR_SPEED = 0.08; + +let mouseX = 0; +let mouseY = 0; +let outlineX = 0; +let outlineY = 0; + +export const Cursor = () => { + const cursorOutline = useRef(); + const [hoverButton, setHoverButton] = useState(false); + + const animate = () => { + let distX = mouseX - outlineX; + let distY = mouseY - outlineY; + + outlineX = outlineX + distX * CURSOR_SPEED; + outlineY = outlineY + distY * CURSOR_SPEED; + + cursorOutline.current.style.left = `${outlineX}px`; + cursorOutline.current.style.top = `${outlineY}px`; + requestAnimationFrame(animate); + }; + + useEffect(() => { + const mouseEventsListener = document.addEventListener( + "mousemove", + function (event) { + mouseX = event.pageX; + mouseY = event.pageY; + } + ); + const animateEvent = requestAnimationFrame(animate); + return () => { + document.removeEventListener("mousemove", mouseEventsListener); + cancelAnimationFrame(animateEvent); + }; + }, []); + + useEffect(() => { + const mouseEventListener = document.addEventListener( + "mouseover", + function (e) { + if ( + e.target.tagName.toLowerCase() === "button" || + // check parent is button + e.target.parentElement.tagName.toLowerCase() === "button" || + // check is input or textarea + e.target.tagName.toLowerCase() === "input" || + e.target.tagName.toLowerCase() === "textarea" + ) { + setHoverButton(true); + } else { + setHoverButton(false); + } + } + ); + return () => { + document.removeEventListener("mouseover", mouseEventListener); + }; + }, []); + + return ( + <> +
+ + ); +}; diff --git a/nram/client/src/components/Experience.jsx b/nram/client/src/components/Experience.jsx new file mode 100644 index 0000000..02ed9fd --- /dev/null +++ b/nram/client/src/components/Experience.jsx @@ -0,0 +1,104 @@ +import { + Float, + MeshDistortMaterial, + MeshWobbleMaterial, +} from "@react-three/drei"; +import { useFrame, useThree } from "@react-three/fiber"; +import { animate, useMotionValue } from "framer-motion"; +import { motion } from "framer-motion-3d"; +import { useEffect } from "react"; +import { framerMotionConfig } from "../config"; +import { Avatar } from "./Avatar"; +import { Office } from "./Office"; + +export const Experience = (props) => { + const { width, height } = useThree(state => state.viewport) + const { section, menuOpened } = props; + const { viewport } = useThree(); + + const cameraPositionX = useMotionValue(); + const cameraLookAtX = useMotionValue(); + + useEffect(() => { + animate(cameraPositionX, menuOpened ? -5 : 0, { + ...framerMotionConfig, + }); + animate(cameraLookAtX, menuOpened ? 5 : 0, { + ...framerMotionConfig, + }); + }, [menuOpened]); + + useFrame((state) => { + state.camera.position.x = cameraPositionX.get(); + state.camera.lookAt(cameraLookAtX.get(), 0, 0); + }); + + return ( + <> + + + + + + {/* SKILLS */} + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/nram/client/src/components/Interface.jsx b/nram/client/src/components/Interface.jsx new file mode 100644 index 0000000..4248fe0 --- /dev/null +++ b/nram/client/src/components/Interface.jsx @@ -0,0 +1,261 @@ +import { motion } from "framer-motion"; +import { useReactMediaRecorder } from "react-media-recorder"; +import { useState, useEffect, useCallback, useRef } from "react"; +// import useClipboard from "react-use-clipboard"; +// import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition'; +import axios from "axios"; + +function startSpeech(text) { + const utterance = new SpeechSynthesisUtterance(text); + const synth = window.speechSynthesis; + + synth.cancel(); + synth.speak(utterance); +} + +async function sendAudio(audio, blob) { + audio.src = blob; + + const audioBlob = await fetch(audio.src).then((res) => res.blob()); + + const formData = new FormData(); + formData.append("audio", audioBlob, "audio.wav"); + formData.append("id", localStorage.getItem("token")); + + const headers = new Headers(); + headers.append("Authorization", "Bearer " + localStorage.getItem("token")); + + const response = await fetch("http://localhost:5000" + "/api/conversation", { + method: "POST", + body: formData, + headers, + }); + + const data = await response.json(); + + return data; +} + +const Section = (props) => { + + const { children } = props; + + return ( + + {children} + + ); +}; + +export const Interface = () => { + return ( +
+ + +
+ ); +}; + +const AboutSection = () => { + const [data, setData] = useState({ + name: "", + profileImage: "", + }); + + const getData = useCallback(() => { + const token = localStorage.getItem("token"); // Replace 'token' with your actual key + + axios + .get("http://localhost:5000/user/userinfo", { + headers: { + Authorization: `Bearer ${token}`, // Include the token in the 'Authorization' header + }, + }) + .then((response) => { + console.log(response); + const { name, profileImage } = response.data; + setData({ + name: name, + profileImage: profileImage, + }); + }) + .catch((error) => { + if (error.response) { + console.log( + "Server responded with an error status:", + error.response.status + ); + console.log("Response data:", error.response.data); + } + }); + }, []); + + useEffect(() => { + getData(); + }, []); + + + + return ( +
+
+

+ Welcome Back +
+ {data.name} +

+ + Clarify Your Doubts +
+ Your AI Companion for Exploring and Learning +
+ + Contact me + +
+
+ ); +}; + +const InputBoard = () => { + const [Data, setData] = useState({ + prompt: "", + solution: "" + }) + + const audioRef = useRef(null); + const { + clearBlobUrl, + startRecording, + stopRecording, + status, + mediaBlobUrl: recordingBlob, + } = useReactMediaRecorder({ + audio: true, + video: false, + blobPropertyBag: { type: "audio/wav", endings: "native" }, + }); + + useEffect(() => { + if (status === "stopped") { + stopRecording(); + sendAudio(audioRef.current, recordingBlob) + .then((data) => { + console.log("server responded"); + setData((prevData) => ({ + ...prevData, + prompt: data, // Update the prompt with the received data + })); + + startSpeech(data.output) + }) + .catch((err) => { + console.log(err); + }); + clearBlobUrl(); + } + }, [status]); + + useEffect(() => { + return () => { + clearBlobUrl(); + }; + }, []); + + return ( +
+ +
+
+
+
+
+
+ + +
+
+ + + +
+ +
+
NRAM.ai
+
+
+
+
{Data.prompt.output}
+ + +
+
+ +
+
+
+
+ ) +} + diff --git a/nram/client/src/components/LoadingSpinner.jsx b/nram/client/src/components/LoadingSpinner.jsx new file mode 100644 index 0000000..c3ba38f --- /dev/null +++ b/nram/client/src/components/LoadingSpinner.jsx @@ -0,0 +1,47 @@ +import React from 'react'; +import axios from 'axios'; +import { useEffect } from 'react'; +import { useLocation } from 'react-router-dom'; + + +const LoadingSpinner = () => { + const location = useLocation(); + + useEffect(() => { + const queryParams = new URLSearchParams(location.search); + const queryParamValue = queryParams.get('code'); + console.log(queryParamValue); + const postData = { + code: queryParamValue, + }; + + + axios + .post('http://localhost:5000/auth/oauth/google', postData) + .then((response) => { + const { token, userId } = response.data; + + + localStorage.setItem('token', token); + localStorage.setItem('userId', userId); + + + window.location.href = '/home'; + + }) + .catch((error) => { + if (error.response) { + console.log('Server responded with an error status:', error.response.status); + console.log('Response data:', error.response.data); + } + }); + }, [location]); + + return ( +
+
+
+ ); +}; + +export default LoadingSpinner; diff --git a/nram/client/src/components/Logout.jsx b/nram/client/src/components/Logout.jsx new file mode 100644 index 0000000..d9939a5 --- /dev/null +++ b/nram/client/src/components/Logout.jsx @@ -0,0 +1,19 @@ +export default function Logout() { + + const handleLogout = () => { + // Delete token from local storage + localStorage.removeItem('token'); + localStorage.removeItem('userId'); + + // Redirect to home page + window.location.href = '/'; + }; + + return ( + ) +} diff --git a/nram/client/src/components/Menu.jsx b/nram/client/src/components/Menu.jsx new file mode 100644 index 0000000..81363de --- /dev/null +++ b/nram/client/src/components/Menu.jsx @@ -0,0 +1,52 @@ +import Switcher from "./Switcher" +import Logout from "./Logout" +export const Menu = (props) => { + const { onSectionChange, menuOpened, setMenuOpened } = props; + + return ( + <> + +
+
+ onSectionChange(0)} /> + onSectionChange(1)} /> + onSectionChange(2)} /> + onSectionChange(3)} /> + + +
+
+ + ); +}; + +const MenuButton = (props) => { + const { label, onClick } = props; + return ( + + ); +}; diff --git a/nram/client/src/components/Navbar.jsx b/nram/client/src/components/Navbar.jsx new file mode 100644 index 0000000..176c271 --- /dev/null +++ b/nram/client/src/components/Navbar.jsx @@ -0,0 +1,14 @@ +import React from 'react' +import Switcher from './Switcher' + +export default function Navbar() { + return ( +
+
N-RAM
+ +
+ +
+
+ ) +} diff --git a/nram/client/src/components/Office.jsx b/nram/client/src/components/Office.jsx new file mode 100644 index 0000000..9bdfb00 --- /dev/null +++ b/nram/client/src/components/Office.jsx @@ -0,0 +1,338 @@ +/* +Auto-generated by: https://github.com/pmndrs/gltfjsx +*/ + +import { useGLTF, useTexture } from "@react-three/drei"; +import { useFrame } from "@react-three/fiber"; +import { animate, useMotionValue } from "framer-motion"; +import { motion } from "framer-motion-3d"; +import React, { useEffect } from "react"; + +import * as THREE from "three"; + +export function Office(props) { + const { section } = props; + const { nodes, materials } = useGLTF("models/scene.gltf"); + const texture = useTexture("textures/baked.jpg"); + texture.flipY = false; + texture.encoding = THREE.sRGBEncoding; + + const textureMaterial = new THREE.MeshStandardMaterial({ + map: texture, + transparent: true, + opacity: 1, + }); + + const textureGlassMaterial = new THREE.MeshStandardMaterial({ + map: texture, + transparent: true, + opacity: 0.42, + }); + + const textureOpacity = useMotionValue(0); + const glassTextureOpacity = useMotionValue(0); + + useEffect(() => { + animate(textureOpacity, section === 0 ? 1 : 0); + animate(glassTextureOpacity, section === 0 ? 0.42 : 0); + }, [section]); + + useFrame(() => { + textureMaterial.opacity = textureOpacity.get(); + textureGlassMaterial.opacity = glassTextureOpacity.get(); + }); + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +useGLTF.preload("models/scene.gltf"); diff --git a/nram/client/src/components/ScrollManager.jsx b/nram/client/src/components/ScrollManager.jsx new file mode 100644 index 0000000..c4b4926 --- /dev/null +++ b/nram/client/src/components/ScrollManager.jsx @@ -0,0 +1,49 @@ +import { useScroll } from "@react-three/drei"; +import { useFrame } from "@react-three/fiber"; +import { gsap } from "gsap"; +import { useEffect, useRef } from "react"; + +export const ScrollManager = (props) => { + const { section, onSectionChange } = props; + + const data = useScroll(); + const lastScroll = useRef(0); + const isAnimating = useRef(false); + + data.fill.classList.add("top-0"); + data.fill.classList.add("absolute"); + + useEffect(() => { + gsap.to(data.el, { + duration: 1, + scrollTop: section * data.el.clientHeight, + onStart: () => { + isAnimating.current = true; + }, + onComplete: () => { + isAnimating.current = false; + }, + }); + }, [section]); + + useFrame(() => { + if (isAnimating.current) { + lastScroll.current = data.scroll.current; + return; + } + + const curSection = Math.floor(data.scroll.current * data.pages); + if (data.scroll.current > lastScroll.current && curSection === 0) { + onSectionChange(1); + } + if ( + data.scroll.current < lastScroll.current && + data.scroll.current < 1 / (data.pages - 1) + ) { + onSectionChange(0); + } + lastScroll.current = data.scroll.current; + }); + + return null; +}; diff --git a/nram/client/src/components/Switcher.jsx b/nram/client/src/components/Switcher.jsx new file mode 100644 index 0000000..90f98f8 --- /dev/null +++ b/nram/client/src/components/Switcher.jsx @@ -0,0 +1,29 @@ +import React, { useEffect, useState } from "react"; +import { DarkModeSwitch } from "react-toggle-dark-mode"; +import useDarkSide from "../hooks/useDarkSide"; + +export default function Switcher() { + const [colorTheme, setTheme] = useDarkSide(); + const [darkSide, setDarkSide] = useState( + colorTheme === "light" ? true : false + ); + + const toggleDarkMode = (checked) => { + setTheme(colorTheme); + setDarkSide(checked); + }; + + useEffect(()=>{ + // console.log(colorTheme); + },[colorTheme]); + + return ( + <> + + + ); +} diff --git a/nram/client/src/config.js b/nram/client/src/config.js new file mode 100644 index 0000000..755863c --- /dev/null +++ b/nram/client/src/config.js @@ -0,0 +1,8 @@ +export const framerMotionConfig = { + type: "spring", + mass: 5, + stiffness: 500, + damping: 50, + restDelta: 0.0001, + }; + \ No newline at end of file diff --git a/nram/client/src/hooks/useDarkSide.js b/nram/client/src/hooks/useDarkSide.js new file mode 100644 index 0000000..f903989 --- /dev/null +++ b/nram/client/src/hooks/useDarkSide.js @@ -0,0 +1,15 @@ +import { useState, useEffect } from "react"; + +export default function useDarkSide() { + const [theme, setTheme] = useState(localStorage.theme); + const colorTheme = theme === "dark" ? "light" : "dark"; + + useEffect(() => { + const root = window.document.documentElement; + root.classList.remove(colorTheme); + root.classList.add(theme); + localStorage.setItem("theme", theme); + }, [theme, colorTheme]); + + return [colorTheme, setTheme]; +} \ No newline at end of file diff --git a/nram/client/src/index.css b/nram/client/src/index.css new file mode 100644 index 0000000..4089299 --- /dev/null +++ b/nram/client/src/index.css @@ -0,0 +1,61 @@ +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@500&family=Poppins&display=swap"); + +@tailwind base; +@tailwind components; +@tailwind utilities; + + +body{ + font-family: 'Poppins', sans-serif; +} +.type { + overflow: hidden; + white-space: nowrap; + border-right: 2px solid; + width: 0; + animation: typing 1.4s steps(30, end) 1s 1 normal both, blinking 1s infinite; +} + +@keyframes typing { + from { + width: 0; + } + to { + width: 100%; + } +} + +@keyframes blinking { + 0% { + border-color: transparent; + } + 50% { + border-color: rgb(82, 81, 81); + } + 100% { + border-color: transparent; + } +} + +.appear { + opacity: 0; + transform: translateY(100%); + animation: animate 1s ease-in 2s forwards; +} + +.appear2 { + opacity: 0; + transform: translateY(100%); + animation: animate 1s ease-in 2.5s forwards; +} + +@keyframes animate { + from { + opacity: 0; + transform: translateY(100%); + } + to { + opacity: 1; + transform: translateY(0); + } +} diff --git a/nram/client/src/main.jsx b/nram/client/src/main.jsx new file mode 100644 index 0000000..54b39dd --- /dev/null +++ b/nram/client/src/main.jsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + , +) diff --git a/nram/client/src/pages/Home.jsx b/nram/client/src/pages/Home.jsx new file mode 100644 index 0000000..2104df2 --- /dev/null +++ b/nram/client/src/pages/Home.jsx @@ -0,0 +1,49 @@ +import { Scroll, ScrollControls } from "@react-three/drei"; +import { Canvas } from "@react-three/fiber"; +import { MotionConfig } from "framer-motion"; +import { Leva } from "leva"; +import { useEffect, useState } from "react"; +import { Experience } from "../components/Experience"; +import { Interface } from "../components/Interface"; +import { Menu } from "../components/Menu"; +import { ScrollManager } from "../components/ScrollManager"; +import { framerMotionConfig } from "../config"; + + +export default function Home() { + const [section, setSection] = useState(0); + const [menuOpened, setMenuOpened] = useState(false); + + useEffect(() => { + setMenuOpened(false); + }, [section]); + + return ( +
+ + + + + + + + + + + + + + + +
+ ); +} diff --git a/nram/client/src/pages/LandingPage.jsx b/nram/client/src/pages/LandingPage.jsx new file mode 100644 index 0000000..0a51dee --- /dev/null +++ b/nram/client/src/pages/LandingPage.jsx @@ -0,0 +1,35 @@ +import Navbar from "../components/Navbar"; +import { Link } from "react-router-dom"; + +export default function LandingPage() { + return ( +
+ + +
+
+
+
+ AI-Powered Personalization +
+
+ Tailored content, interactive experiences +
+ + + +
+ +
+ LandingImage +
+
+
+
+ ); +} diff --git a/nram/client/src/pages/Login.jsx b/nram/client/src/pages/Login.jsx new file mode 100644 index 0000000..52f0112 --- /dev/null +++ b/nram/client/src/pages/Login.jsx @@ -0,0 +1,54 @@ +import { useEffect } from "react"; +import { FcGoogle } from "react-icons/fc" + +export default function Login() { + useEffect(() => { + document.title = "NRAM.ai | Login" + }) + const handleGoogleSignIn = () => { + // Implement Google sign-in logic here + const clientId = + "280574969621-04krb803lcqf7u38mj8vkv94bmeu3948.apps.googleusercontent.com"; //your client id + const redirectUri = "http://localhost:3000/google/callback"; + const scopes = [ + "https://www.googleapis.com/auth/userinfo.profile", + "https://www.googleapis.com/auth/userinfo.email", + ]; + + const authUrl = `https://accounts.google.com/o/oauth2/v2/auth?scope=${encodeURIComponent( + scopes.join(" ") + )}&response_type=code&redirect_uri=${encodeURIComponent( + redirectUri + )}&client_id=${encodeURIComponent( + clientId + )}&access_type=offline&prompt=consent`; + + window.location.href = authUrl; + }; + + return ( +
+
+
Welcome Back
+ +
+ + +
+ + + +
+
+
OR
+
+ + +
+ +
+ ); +} diff --git a/nram/client/src/pages/Voice.jsx b/nram/client/src/pages/Voice.jsx new file mode 100644 index 0000000..099318a --- /dev/null +++ b/nram/client/src/pages/Voice.jsx @@ -0,0 +1,84 @@ +import { useEffect, useRef, useState } from "react"; +import { useReactMediaRecorder } from "react-media-recorder"; + +async function sendAudio(audio, blob) { + audio.src = blob; + + const audioBlob = await fetch(audio.src).then((res) => res.blob()); + + const formData = new FormData(); + formData.append("audio", audioBlob, "audio.wav"); + formData.append("id", localStorage.getItem("token")); + + const headers = new Headers(); + headers.append("Authorization", "Bearer " + localStorage.getItem("token")); + + const response = await fetch("http://localhost:5000" + "/api/conversation", { + method: "POST", + body: formData, + headers, + }); + + const data = await response.json(); + + return data; +} + +function Voice() { + const audioRef = useRef(null); + const { + clearBlobUrl, + startRecording, + stopRecording, + status, + mediaBlobUrl: recordingBlob, + } = useReactMediaRecorder({ + audio: true, + video: false, + blobPropertyBag: { type: "audio/wav", endings: "native" }, + }); + + useEffect(() => { + if (status === "stopped") { + stopRecording(); + sendAudio(audioRef.current, recordingBlob) + .then((data) => { + console.log(data); + console.log("server responded"); + }) + .catch((err) => { + console.log(err); + }); + clearBlobUrl(); + } + }, [status]); + + useEffect(() => { + return () => { + clearBlobUrl(); + }; + }, []); + + return ( +
+ +
+ ); +} + +export default Voice; diff --git a/nram/client/tailwind.config.js b/nram/client/tailwind.config.js new file mode 100644 index 0000000..d320828 --- /dev/null +++ b/nram/client/tailwind.config.js @@ -0,0 +1,12 @@ +/** @type {import('tailwindcss').Config} */ +export default { + darkMode: 'class', + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [], +} \ No newline at end of file diff --git a/nram/client/vite.config.js b/nram/client/vite.config.js new file mode 100644 index 0000000..3bc5431 --- /dev/null +++ b/nram/client/vite.config.js @@ -0,0 +1,10 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + server:{ + port:3000, + } +}) diff --git a/nram/server/app.ts b/nram/server/app.ts new file mode 100644 index 0000000..cffbd44 --- /dev/null +++ b/nram/server/app.ts @@ -0,0 +1,65 @@ +import express, { NextFunction, Request, Response } from "express"; +import cors from "cors"; +// import { config } from "dotenv"; +import morgan from "morgan"; +import mongoose from "mongoose"; +import http from "http"; +import { IError } from "./types/IError"; +import authRouter from "./routes/authroutes"; +import conversationRouter from "./routes/conversationroutes"; +import userinfoRouter from "./routes/userinforoutes"; + + +const app = express(); +// config(); +require("dotenv").config(); + +const port = process.env.PORT || 5000; +const mongoURL = process.env.MONGODB_URL; + +app.use(cors()); + +app.use(express.json()); + +app.use(express.static("media")); + +app.use(morgan("short")); + + + + +app.use( + (error: IError, req: Request, res: Response, next: NextFunction): void => { + console.error(error.message); + if (error.name === "ValidationError") { + error.text = error.message; + error.code = 400; + } + const statusCode = + typeof error.code === "number" && error.code >= 100 && error.code <= 599 + ? error.code + : 500; + res.status(statusCode).json({ + message: error.text || "Internal server error", + }); + } +); + +app.use("/auth", authRouter); + +app.use("/api", conversationRouter); + +app.use("/user", userinfoRouter); + +const server = http.createServer(app); + +server.listen(port, async () => { + console.log(`Server listening on port ${port}`); + mongoose + //@ts-ignore + .connect(mongoURL) + .then(() => { + console.log("Connected to mongo db"); + }) + .catch((err: Error) => console.log("Couldn't connect to mongodb :" + err)); +}); diff --git a/nram/server/audio_files/audio.wav b/nram/server/audio_files/audio.wav new file mode 100644 index 0000000..0fab8b2 Binary files /dev/null and b/nram/server/audio_files/audio.wav differ diff --git a/nram/server/controllers/authcontroller.ts b/nram/server/controllers/authcontroller.ts new file mode 100644 index 0000000..c9e4612 --- /dev/null +++ b/nram/server/controllers/authcontroller.ts @@ -0,0 +1,93 @@ +import { RequestHandler, Response } from 'express'; +import userModel from '../models/UserSchema'; +import { generateToken } from '../middlewares/auth'; +import { IError } from '../types/IError'; +import { google } from 'googleapis'; +import axios from 'axios'; +export const handleCallback: RequestHandler = async (req, res, next) => { + try { + // Inititate oauth client + const oauth2Client = new google.auth.OAuth2( + process.env.GOOGLE_CLIENT_ID , + process.env.GOOGLE_CLIENT_SECRET, + process.env.REDIRECT_URL, + ); + const { code } = req.body; + // console.log(code) + if (!code) { + throw new IError('Code not found', 404); + } + const { tokens } = await oauth2Client.getToken(code as string); + const { access_token, refresh_token } = tokens; + const userInfo = await axios.get( + 'https://people.googleapis.com/v1/people/me?personFields=emailAddresses,photos,names', + { headers: { Authorization: `Bearer ${access_token}` } }, + ); + const name = userInfo.data.names.find( + (name: any) => name.metadata.primary === true, + )?.displayName; + const profileImage = userInfo.data.photos.find( + (photo: any) => photo.metadata.primary === true, + )?.url; + const email = userInfo.data.emailAddresses.find( + (email: any) => email.metadata.primary === true, + )?.value; + // console.log(name,profileImage,email) + + + + handleUsercreation( + email, + profileImage, + name, + access_token!, + refresh_token!, + res, + ); + } catch (error: any) { + next(error); + } +}; + +async function handleUsercreation( + email: string, + profileImage: string, + name: string, + access_token: string, + refresh_token: string, + res: Response, +) { + const user = new userModel({ + email, + name, + profileImage, + access_token, + refresh_token, + }); + let updated: any; + updated = await user.save().catch(async (error) => { + if (error.code === 11000) { + const updateUser = await userModel.findOneAndUpdate( + { email }, + { $set: { access_token, refresh_token } }, + ); + res.status(200).json({ + userId: updateUser?._id.toString(), + token: generateToken( + updateUser!._id.toString(), + updateUser!.email, + ), + }); + return true; + } + throw new IError('Unknown mongo login error', 500); + }); + if (!updated) { + res.status(200).json({ + userId: user._id, + token: generateToken(user._id.toString(), user.email), + }); + } +} + + diff --git a/nram/server/controllers/conversationcontroller.ts b/nram/server/controllers/conversationcontroller.ts new file mode 100644 index 0000000..2255b98 --- /dev/null +++ b/nram/server/controllers/conversationcontroller.ts @@ -0,0 +1,112 @@ +import { RequestHandler } from "express"; +import { TextServiceClient } from "@google-ai/generativelanguage/build/src/v1beta2/text_service_client"; +import { GoogleAuth } from "google-auth-library"; +import ConversationModel from "../models/ConversationSchema"; +import { IRequest } from "../types/IRequest"; +import * as fs from "fs"; +import * as path from "path"; +import axios from "axios"; +import FormData from "form-data"; +// Load environment variables from .env file +require("dotenv").config(); + +// Route to handle audio data + +const MODEL_NAME = "models/text-bison-001"; +const PALM_KEY = process.env.PALM_API_KEY; + +// Create an instance of GoogleAuth +const client = new TextServiceClient({ + authClient: new GoogleAuth().fromAPIKey(PALM_KEY || ""), +}); + +async function generateResponse(prompt: string): Promise { + const input = prompt; + + const result = await client.generateText({ + model: MODEL_NAME, + prompt: { + text: input, + }, + }); + + return JSON.stringify(result); +} + +export const saveConversation: RequestHandler = async ( + req: IRequest, + res, + next +) => { + try { + if (!req.file) { + return res.status(400).json({ error: "No audio file provided" }); + } + + const tempFilePath = path.join(process.cwd(), "audio_files", "audio.wav"); + fs.writeFileSync(tempFilePath, req.file.buffer); + + const audioFile = fs.createReadStream(tempFilePath); + + let data = new FormData(); + data.append("file", audioFile); + data.append("model", "whisper-1"); + + let config = { + method: "post", + maxBodyLength: Infinity, + url: "https://api.openai.com/v1/audio/transcriptions", + headers: { + Authorization: `Bearer ${process.env.OPENAI_KEY}`, + ...data.getHeaders(), + }, + data: data, + }; + + const response = await axios(config); + console.log(response.data?.text); + + const response2 = await generateResponse( + `if the question is Share this video with your friends on social media then say i did'nt heard anything if the question is related to stock market,stock exchange,investing then only answer.For other questions reply that I am not trained to answer this questions, The question is :${response.data?.text} ` + ); + const parsedResponse = JSON.parse(response2); + const output = parsedResponse[0].candidates[0].output; + + console.log(output); + const userId = req.user?.id; + const conversation = new ConversationModel({ + userId, + prompt: response.data?.text, + response: output, + }); + + await conversation.save(); + + res.status(201).json({ output }); + } catch (err) { + console.log(err); + return res.status(500).json({ error: "Server error" }); + } +}; + +export const getConversation: RequestHandler = async ( + req: IRequest, + res, + next +) => { + try { + const userId = req.user?.id; + + const conversationData = await ConversationModel.find({ userId }); + + console.log(conversationData); + + res.status(200).json({ + message: "Conversation data retrieved successfully", + data: conversationData, + }); + } catch (error) { + console.error(error); + res.status(500).json({ message: "An error occurred" }); + } +}; diff --git a/nram/server/controllers/userinfocontroller.ts b/nram/server/controllers/userinfocontroller.ts new file mode 100644 index 0000000..f887508 --- /dev/null +++ b/nram/server/controllers/userinfocontroller.ts @@ -0,0 +1,18 @@ +import { IRequest } from '../types/IRequest'; +import { RequestHandler } from 'express'; +import { IError } from '../types/IError'; +import userModel from '../models/UserSchema'; + +export const getUserInfo: RequestHandler = async (req: IRequest, res, next) => { + try { + const id = req.user?.id; + const user = await userModel.findById(id); + if (!user) { + throw new IError('User info not found', 404); + } + const { name, profileImage, email } = user; + res.status(200).json({ name, profileImage, email }); + } catch (error) { + next(error); + } +}; diff --git a/nram/server/dist/app.js b/nram/server/dist/app.js new file mode 100644 index 0000000..c15fcb9 --- /dev/null +++ b/nram/server/dist/app.js @@ -0,0 +1,57 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const express_1 = __importDefault(require("express")); +const cors_1 = __importDefault(require("cors")); +const morgan_1 = __importDefault(require("morgan")); +const mongoose_1 = __importDefault(require("mongoose")); +const http_1 = __importDefault(require("http")); +const authroutes_1 = __importDefault(require("./routes/authroutes")); +const conversationroutes_1 = __importDefault(require("./routes/conversationroutes")); +const userinforoutes_1 = __importDefault(require("./routes/userinforoutes")); +const app = (0, express_1.default)(); +require("dotenv").config(); +const port = process.env.PORT || 5000; +const mongoURL = process.env.MONGODB_URL; +app.use((0, cors_1.default)()); +app.use(express_1.default.json()); +app.use(express_1.default.static("media")); +app.use((0, morgan_1.default)("short")); +app.use((error, req, res, next) => { + console.error(error.message); + if (error.name === "ValidationError") { + error.text = error.message; + error.code = 400; + } + const statusCode = typeof error.code === "number" && error.code >= 100 && error.code <= 599 + ? error.code + : 500; + res.status(statusCode).json({ + message: error.text || "Internal server error", + }); +}); +app.use("/auth", authroutes_1.default); +app.use("/api", conversationroutes_1.default); +app.use("/user", userinforoutes_1.default); +const server = http_1.default.createServer(app); +server.listen(port, () => __awaiter(void 0, void 0, void 0, function* () { + console.log(`Server listening on port ${port}`); + mongoose_1.default + .connect(mongoURL) + .then(() => { + console.log("Connected to mongo db"); + }) + .catch((err) => console.log("Couldn't connect to mongodb :" + err)); +})); +//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/nram/server/dist/app.js.map b/nram/server/dist/app.js.map new file mode 100644 index 0000000..55f076d --- /dev/null +++ b/nram/server/dist/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAmE;AACnE,gDAAwB;AAExB,oDAA4B;AAC5B,wDAAgC;AAChC,gDAAwB;AAExB,qEAA6C;AAC7C,qFAA6D;AAC7D,6EAAqD;AAGrD,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AAEtB,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;AAEzC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;AAEhB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjC,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;AAKzB,GAAG,CAAC,GAAG,CACL,CAAC,KAAa,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;IACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACpC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;KAClB;IACD,MAAM,UAAU,GACd,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG;QACtE,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,GAAG,CAAC;IACV,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,uBAAuB;KAC/C,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAU,CAAC,CAAC;AAE7B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,4BAAkB,CAAC,CAAC;AAEpC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAc,CAAC,CAAC;AAEjC,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAS,EAAE;IAC7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IAChD,kBAAQ;SAEL,OAAO,CAAC,QAAQ,CAAC;SACjB,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAA,CAAC,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/controllers/authController.js b/nram/server/dist/controllers/authController.js new file mode 100644 index 0000000..284dfb6 --- /dev/null +++ b/nram/server/dist/controllers/authController.js @@ -0,0 +1,71 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handleCallback = void 0; +const UserSchema_1 = __importDefault(require("../models/UserSchema")); +const auth_1 = require("../middlewares/auth"); +const IError_1 = require("../types/IError"); +const googleapis_1 = require("googleapis"); +const axios_1 = __importDefault(require("axios")); +const handleCallback = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { + var _a, _b, _c; + try { + const oauth2Client = new googleapis_1.google.auth.OAuth2(process.env.GOOGLE_CLIENT_ID, process.env.GOOGLE_CLIENT_SECRET, process.env.REDIRECT_URL); + const { code } = req.body; + if (!code) { + throw new IError_1.IError('Code not found', 404); + } + const { tokens } = yield oauth2Client.getToken(code); + const { access_token, refresh_token } = tokens; + const userInfo = yield axios_1.default.get('https://people.googleapis.com/v1/people/me?personFields=emailAddresses,photos,names', { headers: { Authorization: `Bearer ${access_token}` } }); + const name = (_a = userInfo.data.names.find((name) => name.metadata.primary === true)) === null || _a === void 0 ? void 0 : _a.displayName; + const profileImage = (_b = userInfo.data.photos.find((photo) => photo.metadata.primary === true)) === null || _b === void 0 ? void 0 : _b.url; + const email = (_c = userInfo.data.emailAddresses.find((email) => email.metadata.primary === true)) === null || _c === void 0 ? void 0 : _c.value; + handleUsercreation(email, profileImage, name, access_token, refresh_token, res); + } + catch (error) { + next(error); + } +}); +exports.handleCallback = handleCallback; +function handleUsercreation(email, profileImage, name, access_token, refresh_token, res) { + return __awaiter(this, void 0, void 0, function* () { + const user = new UserSchema_1.default({ + email, + name, + profileImage, + access_token, + refresh_token, + }); + let updated; + updated = yield user.save().catch((error) => __awaiter(this, void 0, void 0, function* () { + if (error.code === 11000) { + const updateUser = yield UserSchema_1.default.findOneAndUpdate({ email }, { $set: { access_token, refresh_token } }); + res.status(200).json({ + userId: updateUser === null || updateUser === void 0 ? void 0 : updateUser._id.toString(), + token: (0, auth_1.generateToken)(updateUser._id.toString(), updateUser.email), + }); + return true; + } + throw new IError_1.IError('Unknown mongo login error', 500); + })); + if (!updated) { + res.status(200).json({ + userId: user._id, + token: (0, auth_1.generateToken)(user._id.toString(), user.email), + }); + } + }); +} +//# sourceMappingURL=authcontroller.js.map \ No newline at end of file diff --git a/nram/server/dist/controllers/authController.js.map b/nram/server/dist/controllers/authController.js.map new file mode 100644 index 0000000..5e555bf --- /dev/null +++ b/nram/server/dist/controllers/authController.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authcontroller.js","sourceRoot":"","sources":["../../controllers/authcontroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nram/server/dist/controllers/conversationcontroller.js b/nram/server/dist/controllers/conversationcontroller.js new file mode 100644 index 0000000..8a9d36f --- /dev/null +++ b/nram/server/dist/controllers/conversationcontroller.js @@ -0,0 +1,121 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getConversation = exports.saveConversation = void 0; +const text_service_client_1 = require("@google-ai/generativelanguage/build/src/v1beta2/text_service_client"); +const google_auth_library_1 = require("google-auth-library"); +const ConversationSchema_1 = __importDefault(require("../models/ConversationSchema")); +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +const axios_1 = __importDefault(require("axios")); +const form_data_1 = __importDefault(require("form-data")); +require("dotenv").config(); +const MODEL_NAME = "models/text-bison-001"; +const PALM_KEY = process.env.PALM_API_KEY; +const client = new text_service_client_1.TextServiceClient({ + authClient: new google_auth_library_1.GoogleAuth().fromAPIKey(PALM_KEY || ""), +}); +function generateResponse(prompt) { + return __awaiter(this, void 0, void 0, function* () { + const input = prompt; + const result = yield client.generateText({ + model: MODEL_NAME, + prompt: { + text: input, + }, + }); + return JSON.stringify(result); + }); +} +const saveConversation = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { + var _a, _b, _c, _d; + try { + if (!req.file) { + return res.status(400).json({ error: "No audio file provided" }); + } + const tempFilePath = path.join(process.cwd(), "audio_files", "audio.wav"); + fs.writeFileSync(tempFilePath, req.file.buffer); + const audioFile = fs.createReadStream(tempFilePath); + let data = new form_data_1.default(); + data.append("file", audioFile); + data.append("model", "whisper-1"); + let config = { + method: "post", + maxBodyLength: Infinity, + url: "https://api.openai.com/v1/audio/transcriptions", + headers: Object.assign({ Authorization: `Bearer ${process.env.OPENAI_KEY}` }, data.getHeaders()), + data: data, + }; + const response = yield (0, axios_1.default)(config); + console.log((_a = response.data) === null || _a === void 0 ? void 0 : _a.text); + const response2 = yield generateResponse(`if the question is Share this video with your friends on social media then say i did'nt heard anything if the question is related to stock market,stock exchange,investing then only answer.For other questions reply that I am not trained to answer this questions, The question is :${(_b = response.data) === null || _b === void 0 ? void 0 : _b.text} `); + const parsedResponse = JSON.parse(response2); + const output = parsedResponse[0].candidates[0].output; + console.log(output); + const userId = (_c = req.user) === null || _c === void 0 ? void 0 : _c.id; + const conversation = new ConversationSchema_1.default({ + userId, + prompt: (_d = response.data) === null || _d === void 0 ? void 0 : _d.text, + response: output, + }); + yield conversation.save(); + res.status(201).json({ output }); + } + catch (err) { + console.log(err); + return res.status(500).json({ error: "Server error" }); + } +}); +exports.saveConversation = saveConversation; +const getConversation = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { + var _e; + try { + const userId = (_e = req.user) === null || _e === void 0 ? void 0 : _e.id; + const conversationData = yield ConversationSchema_1.default.find({ userId }); + console.log(conversationData); + res.status(200).json({ + message: "Conversation data retrieved successfully", + data: conversationData, + }); + } + catch (error) { + console.error(error); + res.status(500).json({ message: "An error occurred" }); + } +}); +exports.getConversation = getConversation; +//# sourceMappingURL=conversationcontroller.js.map \ No newline at end of file diff --git a/nram/server/dist/controllers/conversationcontroller.js.map b/nram/server/dist/controllers/conversationcontroller.js.map new file mode 100644 index 0000000..4428f86 --- /dev/null +++ b/nram/server/dist/controllers/conversationcontroller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"conversationcontroller.js","sourceRoot":"","sources":["../../controllers/conversationcontroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/nram/server/dist/controllers/uploadcontroller.js b/nram/server/dist/controllers/uploadcontroller.js new file mode 100644 index 0000000..67d51db --- /dev/null +++ b/nram/server/dist/controllers/uploadcontroller.js @@ -0,0 +1,26 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.uploadAudio = void 0; +const IError_1 = require("../types/IError"); +const uploadAudio = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + if (!req.file) { + throw new IError_1.IError('No audio file uploaded', 400); + } + } + catch (error) { + console.error('Error uploading audio:', error); + res.status(500).json({ error: 'Internal server error' }); + } +}); +exports.uploadAudio = uploadAudio; +//# sourceMappingURL=uploadcontroller.js.map \ No newline at end of file diff --git a/nram/server/dist/controllers/uploadcontroller.js.map b/nram/server/dist/controllers/uploadcontroller.js.map new file mode 100644 index 0000000..74cd545 --- /dev/null +++ b/nram/server/dist/controllers/uploadcontroller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uploadcontroller.js","sourceRoot":"","sources":["../../controllers/uploadcontroller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,4CAAyC;AAElC,MAAM,WAAW,GAAkB,CAAO,GAAY,EAAE,GAAa,EAAE,EAAE;IAC9E,IAAI;QAEF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAEb,MAAM,IAAI,eAAM,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;SAEjD;KAWF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;KAC1D;AACH,CAAC,CAAA,CAAC;AAtBW,QAAA,WAAW,eAsBtB"} \ No newline at end of file diff --git a/nram/server/dist/controllers/userinfocontroller.js b/nram/server/dist/controllers/userinfocontroller.js new file mode 100644 index 0000000..a991b4f --- /dev/null +++ b/nram/server/dist/controllers/userinfocontroller.js @@ -0,0 +1,34 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getUserInfo = void 0; +const IError_1 = require("../types/IError"); +const UserSchema_1 = __importDefault(require("../models/UserSchema")); +const getUserInfo = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { + var _a; + try { + const id = (_a = req.user) === null || _a === void 0 ? void 0 : _a.id; + const user = yield UserSchema_1.default.findById(id); + if (!user) { + throw new IError_1.IError('User info not found', 404); + } + const { name, profileImage, email } = user; + res.status(200).json({ name, profileImage, email }); + } + catch (error) { + next(error); + } +}); +exports.getUserInfo = getUserInfo; +//# sourceMappingURL=userinfocontroller.js.map \ No newline at end of file diff --git a/nram/server/dist/controllers/userinfocontroller.js.map b/nram/server/dist/controllers/userinfocontroller.js.map new file mode 100644 index 0000000..906ed45 --- /dev/null +++ b/nram/server/dist/controllers/userinfocontroller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userinfocontroller.js","sourceRoot":"","sources":["../../controllers/userinfocontroller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,4CAAyC;AACzC,sEAA6C;AAEtC,MAAM,WAAW,GAAmB,CAAO,GAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;IAC7E,IAAI;QACH,MAAM,EAAE,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,oBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE;YACV,MAAM,IAAI,eAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SAC7C;QACD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;KACpD;IAAC,OAAO,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,CAAC,CAAC;KACZ;AACF,CAAC,CAAA,CAAC;AAZW,QAAA,WAAW,eAYtB"} \ No newline at end of file diff --git a/nram/server/dist/middlewares/Audiototext.js b/nram/server/dist/middlewares/Audiototext.js new file mode 100644 index 0000000..dc018cb --- /dev/null +++ b/nram/server/dist/middlewares/Audiototext.js @@ -0,0 +1,20 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convertAudioToText = void 0; +const convertAudioToText = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () { + try { + } + catch (_a) { + } +}); +exports.convertAudioToText = convertAudioToText; +//# sourceMappingURL=Audiototext.js.map \ No newline at end of file diff --git a/nram/server/dist/middlewares/Audiototext.js.map b/nram/server/dist/middlewares/Audiototext.js.map new file mode 100644 index 0000000..37c1a68 --- /dev/null +++ b/nram/server/dist/middlewares/Audiototext.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Audiototext.js","sourceRoot":"","sources":["../../middlewares/Audiototext.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOO,MAAM,kBAAkB,GAAgB,CAAM,GAAY,EAAC,GAAY,EAAC,IAAI,EAAC,EAAE;IAC9E,IAAG;KAEF;IACD,WAAK;KAEJ;AACT,CAAC,CAAA,CAAC;AAPW,QAAA,kBAAkB,sBAO7B"} \ No newline at end of file diff --git a/nram/server/dist/middlewares/auth.js b/nram/server/dist/middlewares/auth.js new file mode 100644 index 0000000..d048e9d --- /dev/null +++ b/nram/server/dist/middlewares/auth.js @@ -0,0 +1,44 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.generateToken = exports.isAuth = void 0; +const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); +const IError_1 = require("../types/IError"); +let err; +const tokenDecode = (req) => { + var _a; + const token = (_a = req.header('Authorization')) === null || _a === void 0 ? void 0 : _a.replace('Bearer ', ''); + if (!token) { + return new IError_1.IError('Token is Absent', 401); + } + try { + const decoded = jsonwebtoken_1.default.verify(token, process.env.JWT_SECRET || 'somesecret'); + req.user = decoded; + } + catch (e) { + throw new IError_1.IError('Unauthorized', 401); + } +}; +const isAuth = (req, res, next) => { + try { + err = tokenDecode(req); + if (err instanceof IError_1.IError) { + throw err; + } + next(); + } + catch (error) { + next(error); + } +}; +exports.isAuth = isAuth; +const generateToken = (id, email) => { + const token = jsonwebtoken_1.default.sign({ id, email }, process.env.JWT_SECRET || 'somesecret', { + expiresIn: '7d', + }); + return token; +}; +exports.generateToken = generateToken; +//# sourceMappingURL=auth.js.map \ No newline at end of file diff --git a/nram/server/dist/middlewares/auth.js.map b/nram/server/dist/middlewares/auth.js.map new file mode 100644 index 0000000..f8062a8 --- /dev/null +++ b/nram/server/dist/middlewares/auth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../middlewares/auth.ts"],"names":[],"mappings":";;;;;;AACA,gEAA+B;AAE/B,4CAAyC;AACzC,IAAI,GAAuB,CAAC;AAC5B,MAAM,WAAW,GAAG,CAAC,GAAa,EAAE,EAAE;;IAErC,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,0CAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,IAAI,eAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;KAC1C;IACD,IAAI;QACH,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CACzB,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,YAAY,CACzB,CAAC;QACf,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACX,MAAM,IAAI,eAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;KACtC;AACF,CAAC,CAAC;AAEK,MAAM,MAAM,GAAmB,CAAC,GAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAClE,IAAI;QACH,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,YAAY,eAAM,EAAE;YAC1B,MAAM,GAAG,CAAC;SACV;QACD,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,CAAC,CAAC;KACZ;AACF,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB;AASK,MAAM,aAAa,GAAG,CAC5B,EAAU,EACV,KAAa,EACZ,EAAE;IACH,MAAM,KAAK,GAAG,sBAAG,CAAC,IAAI,CACrB,EAAE,EAAE,EAAE,KAAK,EAAE,EACb,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,YAAY,EACtC;QACC,SAAS,EAAE,IAAI;KACf,CACD,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB"} \ No newline at end of file diff --git a/nram/server/dist/middlewares/file-upload.js b/nram/server/dist/middlewares/file-upload.js new file mode 100644 index 0000000..b069dd7 --- /dev/null +++ b/nram/server/dist/middlewares/file-upload.js @@ -0,0 +1,48 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.audioUpload = void 0; +const multer_1 = __importDefault(require("multer")); +const path_1 = __importDefault(require("path")); +const IError_1 = require("../types/IError"); +const fs_1 = __importDefault(require("fs")); +const uuid_1 = require("uuid"); +const baseDir = path_1.default.resolve(); +const audioMimeTypes = [ + 'audio/mpeg', + 'audio/wav', +]; +const storage = multer_1.default.diskStorage({ + destination: function (req, file, cb) { + if (!audioMimeTypes.includes(file.mimetype)) { + return cb(new IError_1.IError('Only audio files are allowed', 400), ''); + } + cb(null, `${baseDir}/media`); + }, + filename: function (req, file, cb) { + var _a; + const ext = path_1.default.extname(file.originalname); + const filename = `${(0, uuid_1.v4)()}-${(_a = req.user) === null || _a === void 0 ? void 0 : _a.id}${ext}`; + req.body.filename = filename; + cb(null, filename); + }, +}); +const upload = (0, multer_1.default)({ storage: storage }); +const audioUpload = (req, res, next) => { + fs_1.default.mkdir('media', { recursive: true }, () => { }); + upload.single('audio')(req, res, function (err) { + if (err instanceof multer_1.default.MulterError) { + next(new IError_1.IError('Multer file upload error', 500)); + } + else if (err) { + next(err); + } + else { + next(); + } + }); +}; +exports.audioUpload = audioUpload; +//# sourceMappingURL=file-upload.js.map \ No newline at end of file diff --git a/nram/server/dist/middlewares/file-upload.js.map b/nram/server/dist/middlewares/file-upload.js.map new file mode 100644 index 0000000..8b0b96f --- /dev/null +++ b/nram/server/dist/middlewares/file-upload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../middlewares/file-upload.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAC5B,gDAAwB;AACxB,4CAAyC;AACzC,4CAAoB;AAEpB,+BAA0B;AAE1B,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,EAAE,CAAC;AAE/B,MAAM,cAAc,GAAG;IACrB,YAAY;IACZ,WAAW;CAEZ,CAAC;AAEF,MAAM,OAAO,GAAG,gBAAM,CAAC,WAAW,CAAC;IACjC,WAAW,EAAE,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE;QAClC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC3C,OAAO,EAAE,CAAC,IAAI,eAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;SAChE;QACD,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,QAAQ,EAAE,UAAU,GAAa,EAAE,IAAI,EAAE,EAAE;;QACzC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,IAAA,SAAE,GAAE,IAAI,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE,GAAG,GAAG,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAErC,MAAM,WAAW,GAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC5D,YAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG;QAC5C,IAAI,GAAG,YAAY,gBAAM,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,IAAI,eAAM,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC,CAAC;SACnD;aAAM,IAAI,GAAG,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,CAAC;SACX;aAAM;YACL,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB"} \ No newline at end of file diff --git a/nram/server/dist/models/ConversationSchema.js b/nram/server/dist/models/ConversationSchema.js new file mode 100644 index 0000000..0474ce6 --- /dev/null +++ b/nram/server/dist/models/ConversationSchema.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const mongoose_1 = require("mongoose"); +const ConversationSchema = new mongoose_1.Schema({ + userId: { type: String, required: true }, + timestamp: { type: Date, default: Date.now }, + prompt: { type: String, required: true }, + response: { type: String, required: false }, +}); +const ConversationModel = (0, mongoose_1.model)('Conversation', ConversationSchema); +exports.default = ConversationModel; +//# sourceMappingURL=ConversationSchema.js.map \ No newline at end of file diff --git a/nram/server/dist/models/ConversationSchema.js.map b/nram/server/dist/models/ConversationSchema.js.map new file mode 100644 index 0000000..6dd5e81 --- /dev/null +++ b/nram/server/dist/models/ConversationSchema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ConversationSchema.js","sourceRoot":"","sources":["../../models/ConversationSchema.ts"],"names":[],"mappings":";;AAAA,uCAAwC;AAKxC,MAAM,kBAAkB,GAAW,IAAI,iBAAM,CAAgB;IAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;IAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC5C,CAAC,CAAC;AAGH,MAAM,iBAAiB,GAAE,IAAA,gBAAK,EAAgB,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAElF,kBAAe,iBAAiB,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/models/UserResponseSchema.js b/nram/server/dist/models/UserResponseSchema.js new file mode 100644 index 0000000..2d21065 --- /dev/null +++ b/nram/server/dist/models/UserResponseSchema.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const mongoose_1 = require("mongoose"); +const UserResponseSchema = new mongoose_1.Schema({ + userId: { + type: String, + required: true, + }, + prompt: { + type: String, + required: true, + }, + response: { + type: String, + required: true, + }, + createdAt: { + type: Date, + default: Date.now, + }, +}); +const UserResponseModel = (0, mongoose_1.model)('UserResponseModel', UserResponseSchema); +exports.default = UserResponseModel; +//# sourceMappingURL=UserResponseSchema.js.map \ No newline at end of file diff --git a/nram/server/dist/models/UserResponseSchema.js.map b/nram/server/dist/models/UserResponseSchema.js.map new file mode 100644 index 0000000..f1217fe --- /dev/null +++ b/nram/server/dist/models/UserResponseSchema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UserResponseSchema.js","sourceRoot":"","sources":["../../models/UserResponseSchema.ts"],"names":[],"mappings":";;AAAA,uCAAyC;AAIzC,MAAM,kBAAkB,GAAG,IAAI,iBAAM,CAAgB;IACnD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;CACF,CAAC,CAAC;AAGH,MAAM,iBAAiB,GAAG,IAAA,gBAAK,EAAgB,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;AAExF,kBAAe,iBAAiB,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/models/userSchema.js b/nram/server/dist/models/userSchema.js new file mode 100644 index 0000000..ab99bb0 --- /dev/null +++ b/nram/server/dist/models/userSchema.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const mongoose_1 = require("mongoose"); +const userSchema = new mongoose_1.Schema({ + email: { + type: String, + required: true, + unique: true, + }, + name: { + type: String, + required: true, + }, + profileImage: { + type: String, + required: false, + default: '', + }, + access_token: { + type: String, + }, + refresh_token: { + type: String, + expires: 3600, + }, +}); +const userModel = (0, mongoose_1.model)('userModel', userSchema); +exports.default = userModel; +//# sourceMappingURL=UserSchema.js.map \ No newline at end of file diff --git a/nram/server/dist/models/userSchema.js.map b/nram/server/dist/models/userSchema.js.map new file mode 100644 index 0000000..a06e1ec --- /dev/null +++ b/nram/server/dist/models/userSchema.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UserSchema.js","sourceRoot":"","sources":["../../models/UserSchema.ts"],"names":[],"mappings":";;AAAA,uCAAyC;AAGzC,MAAM,UAAU,GAAG,IAAI,iBAAM,CAAQ;IACpC,KAAK,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACZ;IACD,IAAI,EAAE;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACd;IACD,YAAY,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACX;IACD,YAAY,EAAE;QACb,IAAI,EAAE,MAAM;KACZ;IACD,aAAa,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;KACb;CAED,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAQ,WAAW,EAAE,UAAU,CAAC,CAAC;AAExD,kBAAe,SAAS,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/routes/authroutes.js b/nram/server/dist/routes/authroutes.js new file mode 100644 index 0000000..236b1f7 --- /dev/null +++ b/nram/server/dist/routes/authroutes.js @@ -0,0 +1,11 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const express_1 = __importDefault(require("express")); +const authcontroller_1 = require("../controllers/authcontroller"); +const authRouter = express_1.default.Router(); +authRouter.post('/oauth/google', authcontroller_1.handleCallback); +exports.default = authRouter; +//# sourceMappingURL=authroutes.js.map \ No newline at end of file diff --git a/nram/server/dist/routes/authroutes.js.map b/nram/server/dist/routes/authroutes.js.map new file mode 100644 index 0000000..ec09993 --- /dev/null +++ b/nram/server/dist/routes/authroutes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authroutes.js","sourceRoot":"","sources":["../../routes/authroutes.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,kEAA+D;AAG/D,MAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAEpC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,+BAAc,CAAC,CAAC;AAEjD,kBAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/routes/conversationroutes.js b/nram/server/dist/routes/conversationroutes.js new file mode 100644 index 0000000..9e515ea --- /dev/null +++ b/nram/server/dist/routes/conversationroutes.js @@ -0,0 +1,16 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const express_1 = __importDefault(require("express")); +const conversationcontroller_1 = require("../controllers/conversationcontroller"); +const auth_1 = require("../middlewares/auth"); +const multer_1 = __importDefault(require("multer")); +const storage = multer_1.default.memoryStorage(); +const upload = (0, multer_1.default)({ storage: storage }); +const conversationRouter = express_1.default.Router(); +conversationRouter.post("/conversation", upload.single('audio'), auth_1.isAuth, conversationcontroller_1.saveConversation); +conversationRouter.get("/", auth_1.isAuth, conversationcontroller_1.getConversation); +exports.default = conversationRouter; +//# sourceMappingURL=conversationroutes.js.map \ No newline at end of file diff --git a/nram/server/dist/routes/conversationroutes.js.map b/nram/server/dist/routes/conversationroutes.js.map new file mode 100644 index 0000000..d13638e --- /dev/null +++ b/nram/server/dist/routes/conversationroutes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"conversationroutes.js","sourceRoot":"","sources":["../../routes/conversationroutes.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,kFAG+C;AAC/C,8CAA6C;AAC7C,oDAA4B;AAE5B,MAAM,OAAO,GAAG,gBAAM,CAAC,aAAa,EAAE,CAAC;AACvC,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAE5C,MAAM,kBAAkB,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAE5C,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,aAAM,EAAE,yCAAgB,CAAC,CAAC;AAC1F,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,aAAM,EAAE,wCAAe,CAAC,CAAC;AAErD,kBAAe,kBAAkB,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/routes/uploadroutes.js b/nram/server/dist/routes/uploadroutes.js new file mode 100644 index 0000000..57a496d --- /dev/null +++ b/nram/server/dist/routes/uploadroutes.js @@ -0,0 +1,13 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const express_1 = __importDefault(require("express")); +const auth_1 = require("../middlewares/auth"); +const uploadcontroller_1 = require("../controllers/uploadcontroller"); +const file_upload_1 = require("../middlewares/file-upload"); +const uploadRouter = express_1.default.Router(); +uploadRouter.post('/upload', auth_1.isAuth, file_upload_1.audioUpload, uploadcontroller_1.uploadAudio); +exports.default = uploadRouter; +//# sourceMappingURL=uploadroutes.js.map \ No newline at end of file diff --git a/nram/server/dist/routes/uploadroutes.js.map b/nram/server/dist/routes/uploadroutes.js.map new file mode 100644 index 0000000..0a24e9f --- /dev/null +++ b/nram/server/dist/routes/uploadroutes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uploadroutes.js","sourceRoot":"","sources":["../../routes/uploadroutes.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,8CAA6C;AAC7C,sEAA8D;AAC9D,4DAAyD;AAGzD,MAAM,YAAY,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAEtC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAC,aAAM,EAAC,yBAAW,EAAC,8BAAW,CAAC,CAAC;AAE5D,kBAAe,YAAY,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/routes/userinforoutes.js b/nram/server/dist/routes/userinforoutes.js new file mode 100644 index 0000000..f4798dc --- /dev/null +++ b/nram/server/dist/routes/userinforoutes.js @@ -0,0 +1,12 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const express_1 = __importDefault(require("express")); +const userinfocontroller_1 = require("../controllers/userinfocontroller"); +const auth_1 = require("../middlewares/auth"); +const userinfoRouter = express_1.default.Router(); +userinfoRouter.get('/userinfo', auth_1.isAuth, userinfocontroller_1.getUserInfo); +exports.default = userinfoRouter; +//# sourceMappingURL=userinforoutes.js.map \ No newline at end of file diff --git a/nram/server/dist/routes/userinforoutes.js.map b/nram/server/dist/routes/userinforoutes.js.map new file mode 100644 index 0000000..664cd79 --- /dev/null +++ b/nram/server/dist/routes/userinforoutes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userinforoutes.js","sourceRoot":"","sources":["../../routes/userinforoutes.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,0EAAgE;AAChE,8CAA6C;AAE7C,MAAM,cAAc,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAExC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAC,aAAM,EAAC,gCAAW,CAAC,CAAC;AAEnD,kBAAe,cAAc,CAAC"} \ No newline at end of file diff --git a/nram/server/dist/types/IError.js b/nram/server/dist/types/IError.js new file mode 100644 index 0000000..b2bb2bd --- /dev/null +++ b/nram/server/dist/types/IError.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.IError = void 0; +class IError extends Error { + constructor(text, code) { + super(); + this.text = text; + this.code = code; + } +} +exports.IError = IError; +//# sourceMappingURL=IError.js.map \ No newline at end of file diff --git a/nram/server/dist/types/IError.js.map b/nram/server/dist/types/IError.js.map new file mode 100644 index 0000000..e2864e5 --- /dev/null +++ b/nram/server/dist/types/IError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IError.js","sourceRoot":"","sources":["../../types/IError.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAO,SAAQ,KAAK;IAGhC,YAAY,IAAY,EAAE,IAAY;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AARD,wBAQC"} \ No newline at end of file diff --git a/nram/server/dist/types/IRequest.js b/nram/server/dist/types/IRequest.js new file mode 100644 index 0000000..95b62ca --- /dev/null +++ b/nram/server/dist/types/IRequest.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IRequest.js.map \ No newline at end of file diff --git a/nram/server/dist/types/IRequest.js.map b/nram/server/dist/types/IRequest.js.map new file mode 100644 index 0000000..2d4a00c --- /dev/null +++ b/nram/server/dist/types/IRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IRequest.js","sourceRoot":"","sources":["../../types/IRequest.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/nram/server/dist/types/models/IConversation.js b/nram/server/dist/types/models/IConversation.js new file mode 100644 index 0000000..7fe0940 --- /dev/null +++ b/nram/server/dist/types/models/IConversation.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IConversation.js.map \ No newline at end of file diff --git a/nram/server/dist/types/models/IConversation.js.map b/nram/server/dist/types/models/IConversation.js.map new file mode 100644 index 0000000..1e50500 --- /dev/null +++ b/nram/server/dist/types/models/IConversation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IConversation.js","sourceRoot":"","sources":["../../../types/models/IConversation.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/nram/server/dist/types/models/IUser.js b/nram/server/dist/types/models/IUser.js new file mode 100644 index 0000000..6d13f68 --- /dev/null +++ b/nram/server/dist/types/models/IUser.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IUser.js.map \ No newline at end of file diff --git a/nram/server/dist/types/models/IUser.js.map b/nram/server/dist/types/models/IUser.js.map new file mode 100644 index 0000000..10f60e3 --- /dev/null +++ b/nram/server/dist/types/models/IUser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IUser.js","sourceRoot":"","sources":["../../../types/models/IUser.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/nram/server/dist/types/models/IUserResponse.js b/nram/server/dist/types/models/IUserResponse.js new file mode 100644 index 0000000..2b7fff9 --- /dev/null +++ b/nram/server/dist/types/models/IUserResponse.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IUserResponse.js.map \ No newline at end of file diff --git a/nram/server/dist/types/models/IUserResponse.js.map b/nram/server/dist/types/models/IUserResponse.js.map new file mode 100644 index 0000000..b659f32 --- /dev/null +++ b/nram/server/dist/types/models/IUserResponse.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IUserResponse.js","sourceRoot":"","sources":["../../../types/models/IUserResponse.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/nram/server/middlewares/auth.ts b/nram/server/middlewares/auth.ts new file mode 100644 index 0000000..4dc05ef --- /dev/null +++ b/nram/server/middlewares/auth.ts @@ -0,0 +1,54 @@ +import { RequestHandler } from 'express'; +import jwt from 'jsonwebtoken'; +import { IRequest, IUserinfo } from '../types/IRequest'; +import { IError } from '../types/IError'; +let err: IError | undefined; +const tokenDecode = (req: IRequest) => { + + const token = req.header('Authorization')?.replace('Bearer ', ''); + if (!token) { + return new IError('Token is Absent', 401); + } + try { + const decoded = jwt.verify( + token, + process.env.JWT_SECRET || 'somesecret', + ) as IUserinfo; + req.user = decoded; + } catch (e) { + throw new IError('Unauthorized', 401); + } +}; + +export const isAuth: RequestHandler = (req: IRequest, res, next) => { + try { + err = tokenDecode(req); + if (err instanceof IError) { + throw err; + } + next(); + } catch (error) { + next(error); + } +}; + + +/** + * + * @param id MongoDB Object ID of the user + * @param email email of the user + * @returns + */ +export const generateToken = ( + id: string, + email: string, +) => { + const token = jwt.sign( + { id, email }, + process.env.JWT_SECRET || 'somesecret', + { + expiresIn: '7d', + }, + ); + return token; +}; diff --git a/nram/server/models/ConversationSchema.ts b/nram/server/models/ConversationSchema.ts new file mode 100644 index 0000000..34d4482 --- /dev/null +++ b/nram/server/models/ConversationSchema.ts @@ -0,0 +1,16 @@ +import { Schema,model } from 'mongoose'; +import { IConversation } from '../types/models/IConversation'; + + + +const ConversationSchema: Schema = new Schema({ + userId: { type: String, required: true }, + timestamp: { type: Date, default: Date.now }, + prompt: { type: String, required: true }, + response: { type: String, required: false }, +}); + + +const ConversationModel= model('Conversation', ConversationSchema); + +export default ConversationModel; \ No newline at end of file diff --git a/nram/server/models/UserSchema.ts b/nram/server/models/UserSchema.ts new file mode 100644 index 0000000..1c9d0b9 --- /dev/null +++ b/nram/server/models/UserSchema.ts @@ -0,0 +1,31 @@ +import { Schema, model } from 'mongoose'; +import { IUser } from '../types/models/IUser'; + +const userSchema = new Schema({ + email: { + type: String, + required: true, + unique: true, + }, + name: { + type: String, + required: true, + }, + profileImage: { + type: String, + required: false, + default: '', + }, + access_token: { + type: String, + }, + refresh_token: { + type: String, + expires: 3600, + }, + +}); + +const userModel = model('userModel', userSchema); + +export default userModel; diff --git a/nram/server/package-lock.json b/nram/server/package-lock.json new file mode 100644 index 0000000..ffa40ce --- /dev/null +++ b/nram/server/package-lock.json @@ -0,0 +1,3007 @@ +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@google-ai/generativelanguage": "^1.0.0", + "axios": "^1.4.0", + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "form-data": "^4.0.0", + "google-auth-library": "^9.0.0", + "googleapis": "^126.0.0", + "jsonwebtoken": "^9.0.1", + "mongodb": "^5.7.0", + "mongoose": "^7.4.3", + "morgan": "^1.10.0", + "multer": "^1.4.5-lts.1", + "node": "^20.5.0", + "openai": "^4.0.1", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@types/cors": "^2.8.13", + "@types/express": "^4.17.17", + "@types/jsonwebtoken": "^9.0.2", + "@types/morgan": "^1.9.4", + "@types/multer": "^1.4.7", + "@types/node": "^20.5.1", + "@types/uuid": "^9.0.2", + "nodemon": "^3.0.1", + "typescript": "^5.1.6" + } + }, + "node_modules/@google-ai/generativelanguage": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@google-ai/generativelanguage/-/generativelanguage-1.0.0.tgz", + "integrity": "sha512-KmGwdhcBizHN2+9flZ21K08t+3QUr8N0kEJNahELcHV3wpMUwYmokV6OeErHZn6yCp2gnjjDrwlj2vqltEzz4A==", + "dependencies": { + "google-gax": "^4.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@grpc/grpc-js": { + "version": "1.8.21", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.21.tgz", + "integrity": "sha512-KeyQeZpxeEBSqFVTi3q2K7PiPXmgBfECc4updA1ejCLjYmoAlvvM3ZMp5ztTDUCUQmoY3CpDxvchjO1+rFkoHg==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.8.tgz", + "integrity": "sha512-GU12e2c8dmdXb7XUlOgYWZ2o2i+z9/VeACkxTA/zzAe2IjclC5PnVL0lpgjhrqfpDYHzM8B1TF6pqWegMYAzlA==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "dev": true + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-drE6uz7QBKq1fYqqoFKTDRdFCPHd5TCub75BM+D+cMx7NU9hUz7SESLfC2fSCXVFMO5Yj8sOWHuGqPgjc+fz0Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/morgan": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz", + "integrity": "sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/multer": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz", + "integrity": "sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/node": { + "version": "20.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", + "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==" + }, + "node_modules/@types/node-fetch": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", + "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/node-fetch/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/uuid": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.2.tgz", + "integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==", + "dev": true + }, + "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==" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "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/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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==" + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/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/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", + "engines": { + "node": "*" + } + }, + "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==", + "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.4.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.4.0.tgz", + "integrity": "sha512-WRZ5SQI5GfUuKnPTNmAYPiKIof3ORXAF4IRU5UcgmivNIon01rWQlw5RUH954dpu8yGL8T59YShVddIPaU/gFA==", + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "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/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "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/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "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==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/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/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "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/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "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/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/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/digest-fetch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", + "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", + "dependencies": { + "base-64": "^0.1.0", + "md5": "^2.3.0" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.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/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "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/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/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/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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/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/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/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "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/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gaxios": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.1.0.tgz", + "integrity": "sha512-EIHuesZxNyIkUGcTQKQPMICyOpDD/bi+LJIJx+NLsSGmnS7N+xCLRX5bi4e9yAu9AlSZdVq+qlyWWVuTh/483w==", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/gaxios/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/gaxios/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/gaxios/node_modules/https-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", + "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/gaxios/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/gcp-metadata": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.0.0.tgz", + "integrity": "sha512-Ozxyi23/1Ar51wjUT2RDklK+3HxqDr8TLBNK8rBBFQ7T85iIGnXnVusauj06QyqCXRFZig8LZC+TUddWbndlpQ==", + "dependencies": { + "gaxios": "^6.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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": "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/google-auth-library": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.0.0.tgz", + "integrity": "sha512-IQGjgQoVUAfOk6khqTVMLvWx26R+yPw9uLyb1MNyMQpdKiKt0Fd9sp4NWoINjyGHR8S3iw12hMTYK7O8J07c6Q==", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^6.0.0", + "gcp-metadata": "^6.0.0", + "gtoken": "^7.0.0", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/google-auth-library/node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/google-auth-library/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/google-gax": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-4.0.3.tgz", + "integrity": "sha512-gllHYRhZvpz0LcVN+xtyzBeUa/ZYiLGF4JNBECrvL/LxDkaJc09hHoQ+KzRBI2Ewqgrjj7V3QrOC2pGno5ropw==", + "dependencies": { + "@grpc/grpc-js": "~1.8.0", + "@grpc/proto-loader": "^0.7.0", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "google-auth-library": "^9.0.0", + "node-fetch": "^2.6.1", + "object-hash": "^3.0.0", + "proto3-json-serializer": "^1.1.1", + "protobufjs": "7.2.4", + "retry-request": "^6.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/googleapis": { + "version": "126.0.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-126.0.0.tgz", + "integrity": "sha512-BeCwYJfthEWUgY0ka7msSxyMuRwrwJTqL9yMlnuCxyy1JlRZwaI5ZVVp4ofwiGiNP9UuuR3Yk9CJKWQLg4Tq1A==", + "dependencies": { + "google-auth-library": "^9.0.0", + "googleapis-common": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/googleapis-common": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-7.0.0.tgz", + "integrity": "sha512-58iSybJPQZ8XZNMpjrklICefuOuyJ0lMxfKmBqmaC0/xGT4SiOs4BE60LAOOGtBURy1n8fHa2X2YUNFEWWbXyQ==", + "dependencies": { + "extend": "^3.0.2", + "gaxios": "^6.0.3", + "google-auth-library": "^9.0.0", + "qs": "^6.7.0", + "url-template": "^2.0.8", + "uuid": "^9.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/gtoken": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.0.1.tgz", + "integrity": "sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ==", + "dependencies": { + "gaxios": "^6.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/gtoken/node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/gtoken/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "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/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "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/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/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-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz", + "integrity": "sha512-K8wx7eJ5TPvEjuiVSkv167EVboBDv9PZdDoF7BgeQnBLVvZWW9clr2PsQHVJDTKaEIH5JBIwHujGcHp7GgI2eg==", + "dependencies": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/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/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "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==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mongodb": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.7.0.tgz", + "integrity": "sha512-zm82Bq33QbqtxDf58fLWBwTjARK3NSvKYjyz997KSy6hpat0prjeX/kxjbPVyZY60XYPDNETaHkHJI2UCzSLuw==", + "dependencies": { + "bson": "^5.4.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-js/zstd": "^1.1.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "kerberos": { + "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.4.3", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.4.3.tgz", + "integrity": "sha512-eok0lW6mZJHK2vVSWyJb9tUfPMUuRF3h7YC4pU2K2/YSZBlNDUwvKsHgftMOANbokP2Ry+4ylvzAdW4KjkRFjw==", + "dependencies": { + "bson": "^5.4.0", + "kareem": "2.5.1", + "mongodb": "5.7.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/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/multer/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node": { + "version": "20.5.0", + "resolved": "https://registry.npmjs.org/node/-/node-20.5.0.tgz", + "integrity": "sha512-+mVyKGaCscnINaMNIa+plgDoN9XXb5ksw7FQB78pUmodmftxomwlaU6z6ze1aCbHVB69BGqo84KkyD6NJC9Ifg==", + "hasInstallScript": true, + "dependencies": { + "node-bin-setup": "^1.0.0" + }, + "bin": { + "node": "bin/node" + }, + "engines": { + "npm": ">=5.0.0" + } + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node_modules/node-bin-setup": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/node-bin-setup/-/node-bin-setup-1.1.3.tgz", + "integrity": "sha512-opgw9iSCAzT2+6wJOETCpeRYAQxSopqQ2z+N6BXwIMsQQ7Zj5M8MaafQY8JMlolRR6R1UXg2WmhKp0p9lSOivg==" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/nodemon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", + "integrity": "sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==", + "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": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/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": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "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/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openai": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.0.1.tgz", + "integrity": "sha512-UanMv/kCD/ylgOdBrkkRgkoFXdfENrXYWNvYdvPttXZaEJmRVY9MZSknlkWYH7iPMX6tTcz6szbI2d3O04UFag==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.17.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.8.tgz", + "integrity": "sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw==" + }, + "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-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proto3-json-serializer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.1.1.tgz", + "integrity": "sha512-AwAuY4g9nxx0u52DnSMkqqgyLHaW/XaPLtaAo3y/ZCfeaQB/g4YDH4kb8Wc/mWzWvu0YjOznVnfn373MVZZrgw==", + "dependencies": { + "protobufjs": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", + "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "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/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/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/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/retry-request": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-6.0.0.tgz", + "integrity": "sha512-24kaFMd3wCnT3n4uPnsQh90ZSV8OISpfTFXJ00Wi+/oD2OPrp63EQ8hznk6rhxdlpwx2QBhQSDz2Fg46ki852g==", + "dependencies": { + "debug": "^4.1.1", + "extend": "^3.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/retry-request/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/retry-request/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/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/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/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=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/tar": { + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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/touch/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/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/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "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/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "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" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + } + } +} diff --git a/nram/server/package.json b/nram/server/package.json new file mode 100644 index 0000000..73a2775 --- /dev/null +++ b/nram/server/package.json @@ -0,0 +1,44 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "nodemon dist/app.js", + "build": "tsc" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@google-ai/generativelanguage": "^1.0.0", + "axios": "^1.4.0", + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "form-data": "^4.0.0", + "google-auth-library": "^9.0.0", + "googleapis": "^126.0.0", + "jsonwebtoken": "^9.0.1", + "mongodb": "^5.7.0", + "mongoose": "^7.4.3", + "morgan": "^1.10.0", + "multer": "^1.4.5-lts.1", + "node": "^20.5.0", + "openai": "^4.0.1", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@types/cors": "^2.8.13", + "@types/express": "^4.17.17", + "@types/jsonwebtoken": "^9.0.2", + "@types/morgan": "^1.9.4", + "@types/multer": "^1.4.7", + "@types/node": "^20.5.1", + "@types/uuid": "^9.0.2", + "nodemon": "^3.0.1", + "typescript": "^5.1.6" + } +} diff --git a/nram/server/routes/authroutes.ts b/nram/server/routes/authroutes.ts new file mode 100644 index 0000000..2bf7ed3 --- /dev/null +++ b/nram/server/routes/authroutes.ts @@ -0,0 +1,9 @@ +import express from 'express'; +import { handleCallback } from '../controllers/authcontroller'; + + +const authRouter = express.Router(); + +authRouter.post('/oauth/google', handleCallback); + +export default authRouter; diff --git a/nram/server/routes/conversationroutes.ts b/nram/server/routes/conversationroutes.ts new file mode 100644 index 0000000..a1db55a --- /dev/null +++ b/nram/server/routes/conversationroutes.ts @@ -0,0 +1,17 @@ +import express from "express"; +import { + getConversation, + saveConversation, +} from "../controllers/conversationcontroller"; +import { isAuth } from "../middlewares/auth"; +import multer from "multer"; + +const storage = multer.memoryStorage(); +const upload = multer({ storage: storage }); + +const conversationRouter = express.Router(); + +conversationRouter.post("/conversation",upload.single('audio'), isAuth, saveConversation); +conversationRouter.get("/", isAuth, getConversation); + +export default conversationRouter; diff --git a/nram/server/routes/userinforoutes.ts b/nram/server/routes/userinforoutes.ts new file mode 100644 index 0000000..a75d99d --- /dev/null +++ b/nram/server/routes/userinforoutes.ts @@ -0,0 +1,9 @@ +import express from 'express'; +import { getUserInfo } from '../controllers/userinfocontroller'; +import { isAuth } from '../middlewares/auth'; + +const userinfoRouter = express.Router(); + +userinfoRouter.get('/userinfo',isAuth,getUserInfo); + +export default userinfoRouter; diff --git a/nram/server/temp_audio.wav b/nram/server/temp_audio.wav new file mode 100644 index 0000000..5ea5b2f Binary files /dev/null and b/nram/server/temp_audio.wav differ diff --git a/nram/server/tsconfig.json b/nram/server/tsconfig.json new file mode 100644 index 0000000..feb0139 --- /dev/null +++ b/nram/server/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "rootDir": ".", + "sourceMap": true, + "outDir": "./dist", + "removeComments": true, + "noEmitOnError": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noUnusedLocals": true, + "noFallthroughCasesInSwitch": true, + "allowUnreachableCode": false, + "skipLibCheck": true + }, + "exclude": ["node_modules"] +} diff --git a/nram/server/types/IError.ts b/nram/server/types/IError.ts new file mode 100644 index 0000000..09a437f --- /dev/null +++ b/nram/server/types/IError.ts @@ -0,0 +1,9 @@ +export class IError extends Error { + code: number; + text: string; + constructor(text: string, code: number) { + super(); + this.text = text; + this.code = code; + } +} diff --git a/nram/server/types/IRequest.ts b/nram/server/types/IRequest.ts new file mode 100644 index 0000000..9e56186 --- /dev/null +++ b/nram/server/types/IRequest.ts @@ -0,0 +1,10 @@ +import { Request } from 'express'; + +export interface IUserinfo { + id: string; + email: string; +} + +export interface IRequest extends Request { + user?: { id: string; email: string }; +} diff --git a/nram/server/types/models/IConversation.ts b/nram/server/types/models/IConversation.ts new file mode 100644 index 0000000..ff5c5ee --- /dev/null +++ b/nram/server/types/models/IConversation.ts @@ -0,0 +1,6 @@ +export interface IConversation extends Document { + userId: string; + timestamp: Date; + prompt: string; + response: string; +} \ No newline at end of file diff --git a/nram/server/types/models/IUser.ts b/nram/server/types/models/IUser.ts new file mode 100644 index 0000000..7953404 --- /dev/null +++ b/nram/server/types/models/IUser.ts @@ -0,0 +1,7 @@ +export interface IUser { + email: string; + name: string; + profileImage: string; + access_token: string; + refresh_token: string; +} diff --git a/nram/usecase.png b/nram/usecase.png new file mode 100644 index 0000000..9bd222f Binary files /dev/null and b/nram/usecase.png differ