From cc1a93e209a0f68ee6ce7db11c4c31a02188b276 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 5 Jul 2026 14:02:07 +0330 Subject: [PATCH] Initial commit - modstagram_panel --- .env | 4 + .gitignore | 23 + Dockerfile | 25 + README.md | 70 + docker-compose.yml | 15 + package-lock.json | 19096 ++++++++++++++++ package.json | 54 + package.jsy | 54 + public/favicon.ico | Bin 0 -> 12356 bytes public/fonts/KalamehWeb-Medium.woff | Bin 0 -> 65724 bytes public/fonts/KalamehWeb-Regular.woff | Bin 0 -> 63376 bytes public/fonts/KalamehWeb-SemiBold.woff | Bin 0 -> 64604 bytes public/index.html | 42 + public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/manifest.json | 25 + public/robots.txt | 3 + src/App.jsx | 17 + src/assets/css/index.css | 166 + src/assets/icons/AdvertisingIcon.jsx | 15 + src/assets/icons/CommentsIcon.jsx | 18 + src/assets/icons/FinancialsIcon.jsx | 18 + src/assets/icons/PostsIcon.jsx | 16 + src/assets/icons/ProjectsIcon.jsx | 17 + src/assets/icons/ShopIcon.jsx | 20 + src/assets/icons/SupportIcon.jsx | 14 + src/assets/icons/UsersIcon.jsx | 16 + src/assets/icons/dashboardIcon.jsx | 21 + src/components/BaseUrl.js | 24 + src/components/Filters.jsx | 126 + src/components/Pagination.jsx | 68 + src/components/academy/Header.js | 33 + src/components/academy/Layout.js | 27 + src/components/academy/Sidebar.js | 50 + src/components/admin-header.jsx | 87 + src/components/adminApi.js | 42 + src/components/api.js | 45 + src/components/elements/loading.jsx | 57 + src/components/shops/ShopDet.jsx | 436 + src/components/sidebar.jsx | 618 + .../system-settings/CdnSettingsTab.jsx | 158 + .../system-settings/SslSettingsTab.jsx | 161 + .../system-settings/TrafficSettingsTab.jsx | 94 + src/components/users/UserChangePassword.jsx | 208 + src/components/users/UserComments.jsx | 234 + src/components/users/UserDet.jsx | 607 + src/components/users/UserFinancial.jsx | 9 + src/components/users/UserMessages.jsx | 9 + src/components/users/UserPosts.jsx | 211 + src/components/users/UserWorkroom.jsx | 200 + src/index.js | 73 + src/pages/Dashboard.jsx | 50 + src/pages/Login.jsx | 116 + src/pages/academies/academies.jsx | 412 + src/pages/academy/academy.jsx | 293 + src/pages/comments/CommentDetail.jsx | 286 + src/pages/comments/Comments.jsx | 225 + src/pages/courses/courses.jsx | 447 + src/pages/expertise/Expertise.jsx | 587 + src/pages/financials/FinancialDetail.jsx | 226 + src/pages/financials/Financials.jsx | 222 + src/pages/license/License.jsx | 141 + src/pages/payments/payments.jsx | 440 + src/pages/posts/PostDetail.jsx | 198 + src/pages/posts/Posts.jsx | 301 + src/pages/projects/ProjectDetail.jsx | 562 + src/pages/projects/Projects.jsx | 161 + src/pages/purchased/purchased.jsx | 307 + src/pages/settings/settings.jsx | 281 + src/pages/shops/ShopDetail.jsx | 106 + src/pages/shops/Shops.jsx | 203 + src/pages/system-settings/SystemSettings.jsx | 51 + src/pages/terms/TermsAndConditionsEditor.js | 107 + src/pages/tickets/TicketDetail.jsx | 176 + src/pages/tickets/Tickets.jsx | 208 + src/pages/users/UserDetail.jsx | 122 + src/pages/users/Users.jsx | 438 + src/pages/version/Version.jsx | 181 + src/pages/vitrine/VitrineDetail.jsx | 427 + src/pages/vitrine/vitrine.jsx | 259 + .../vitrineComments/VitrineCommentDetail.jsx | 278 + src/pages/vitrineComments/VitrineComments.jsx | 217 + src/routers/appRoutes.jsx | 287 + src/utils/AuthProvider.jsx | 22 + src/utils/ProtectedRoute.jsx | 19 + tailwind.config.js | 10 + 86 files changed, 31692 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 docker-compose.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 package.jsy create mode 100644 public/favicon.ico create mode 100644 public/fonts/KalamehWeb-Medium.woff create mode 100644 public/fonts/KalamehWeb-Regular.woff create mode 100644 public/fonts/KalamehWeb-SemiBold.woff create mode 100644 public/index.html create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 src/App.jsx create mode 100644 src/assets/css/index.css create mode 100644 src/assets/icons/AdvertisingIcon.jsx create mode 100644 src/assets/icons/CommentsIcon.jsx create mode 100644 src/assets/icons/FinancialsIcon.jsx create mode 100644 src/assets/icons/PostsIcon.jsx create mode 100644 src/assets/icons/ProjectsIcon.jsx create mode 100644 src/assets/icons/ShopIcon.jsx create mode 100644 src/assets/icons/SupportIcon.jsx create mode 100644 src/assets/icons/UsersIcon.jsx create mode 100644 src/assets/icons/dashboardIcon.jsx create mode 100644 src/components/BaseUrl.js create mode 100644 src/components/Filters.jsx create mode 100644 src/components/Pagination.jsx create mode 100644 src/components/academy/Header.js create mode 100644 src/components/academy/Layout.js create mode 100644 src/components/academy/Sidebar.js create mode 100644 src/components/admin-header.jsx create mode 100644 src/components/adminApi.js create mode 100644 src/components/api.js create mode 100644 src/components/elements/loading.jsx create mode 100644 src/components/shops/ShopDet.jsx create mode 100644 src/components/sidebar.jsx create mode 100644 src/components/system-settings/CdnSettingsTab.jsx create mode 100644 src/components/system-settings/SslSettingsTab.jsx create mode 100644 src/components/system-settings/TrafficSettingsTab.jsx create mode 100644 src/components/users/UserChangePassword.jsx create mode 100644 src/components/users/UserComments.jsx create mode 100644 src/components/users/UserDet.jsx create mode 100644 src/components/users/UserFinancial.jsx create mode 100644 src/components/users/UserMessages.jsx create mode 100644 src/components/users/UserPosts.jsx create mode 100644 src/components/users/UserWorkroom.jsx create mode 100644 src/index.js create mode 100644 src/pages/Dashboard.jsx create mode 100644 src/pages/Login.jsx create mode 100644 src/pages/academies/academies.jsx create mode 100644 src/pages/academy/academy.jsx create mode 100644 src/pages/comments/CommentDetail.jsx create mode 100644 src/pages/comments/Comments.jsx create mode 100644 src/pages/courses/courses.jsx create mode 100644 src/pages/expertise/Expertise.jsx create mode 100644 src/pages/financials/FinancialDetail.jsx create mode 100644 src/pages/financials/Financials.jsx create mode 100644 src/pages/license/License.jsx create mode 100644 src/pages/payments/payments.jsx create mode 100644 src/pages/posts/PostDetail.jsx create mode 100644 src/pages/posts/Posts.jsx create mode 100644 src/pages/projects/ProjectDetail.jsx create mode 100644 src/pages/projects/Projects.jsx create mode 100644 src/pages/purchased/purchased.jsx create mode 100644 src/pages/settings/settings.jsx create mode 100644 src/pages/shops/ShopDetail.jsx create mode 100644 src/pages/shops/Shops.jsx create mode 100644 src/pages/system-settings/SystemSettings.jsx create mode 100644 src/pages/terms/TermsAndConditionsEditor.js create mode 100644 src/pages/tickets/TicketDetail.jsx create mode 100644 src/pages/tickets/Tickets.jsx create mode 100644 src/pages/users/UserDetail.jsx create mode 100644 src/pages/users/Users.jsx create mode 100644 src/pages/version/Version.jsx create mode 100644 src/pages/vitrine/VitrineDetail.jsx create mode 100644 src/pages/vitrine/vitrine.jsx create mode 100644 src/pages/vitrineComments/VitrineCommentDetail.jsx create mode 100644 src/pages/vitrineComments/VitrineComments.jsx create mode 100644 src/routers/appRoutes.jsx create mode 100644 src/utils/AuthProvider.jsx create mode 100644 src/utils/ProtectedRoute.jsx create mode 100644 tailwind.config.js diff --git a/.env b/.env new file mode 100644 index 0000000..9be53a5 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +REACT_APP_API_URL=https://api.modstagram.com/api/v1 +REACT_APP_API_ORIGIN=https://api.modstagram.com +REACT_APP_APP_URL=https://modstagram.com +REACT_APP_PANEL_URL=https://panel.modstagram.com diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d9c81e2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM node:18-alpine AS builder + +WORKDIR /app + +COPY package*.json ./ +RUN npm install + +COPY . . + +RUN npm run build + +FROM node:18-alpine AS runner + +WORKDIR /app + +COPY --from=builder /app/build ./build +COPY --from=builder /app/public ./public +COPY --from=builder /app/package*.json ./ +COPY --from=builder /app/node_modules ./node_modules + +RUN npm install -g serve + +EXPOSE 3001 + +CMD ["serve", "-s", "build", "-l", "3001"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..58beeac --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6301b8c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' + +services: + panel-app: + build: . + container_name: modstagram-panel + restart: unless-stopped + ports: + - "3005:3001" + environment: + - NODE_ENV=production + volumes: + - ./:/app + - /app/node_modules + - /app/build diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0a77ce0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,19096 @@ +{ + "name": "modstagram_panel", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "modstagram_panel", + "version": "0.1.0", + "dependencies": { + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.6.8", + "js-cookie": "^3.0.5", + "moment-jalaali": "^0.10.4", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-hot-toast": "^2.4.1", + "react-icons": "^5.5.0", + "react-modal": "^3.16.1", + "react-multi-date-picker": "^4.5.2", + "react-quill": "^2.0.0", + "react-router-dom": "^6.23.1", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4", + "yup": "^1.4.0" + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "tailwindcss": "^3.4.3" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==" + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.5.tgz", + "integrity": "sha512-fcdRcWahONYo+JRnJg1/AekOacGvKx12Gu0qXJXFi2WBqQA1i7+O5PaxRB7kxE/Op94dExnCiiar6T09pvdHpA==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "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.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.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.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "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.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.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==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "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-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "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==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "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==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "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-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==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "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-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "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-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@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-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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "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==", + "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==", + "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-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", + "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "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==", + "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.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", + "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-flow": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", + "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", + "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "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.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", + "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "dependencies": { + "@babel/compat-data": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/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==", + "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==", + "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-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.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==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/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==", + "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/@jest/console/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/console/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/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==", + "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/@jest/console/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/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/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==", + "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/@jest/core/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/core/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/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==", + "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/@jest/core/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/@jest/diff-sequences": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/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==", + "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/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/environment/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz", + "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==", + "dependencies": { + "@jest/get-type": "30.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/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==", + "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/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/fake-timers/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/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==", + "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/@jest/fake-timers/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/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/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==", + "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/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/globals/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/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==", + "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/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/reporters/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/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==", + "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/@jest/reporters/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/@jest/reporters/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/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==", + "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/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-result/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/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==", + "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/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/transform/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/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/@jest/transform/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/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==", + "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/@jest/transform/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/@jest/transform/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz", + "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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==", + "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/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.17.tgz", + "integrity": "sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==", + "dependencies": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x || 5.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.1.tgz", + "integrity": "sha512-vDbaOzF7yT2Qs4vO6XV1MHcJv+3dgR1sT+l3B8xxOVhUC336prMvqrvsLL/9Dnw2xr6Qhz4J0dmS0llNAbnUmQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rollup/pluginutils/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/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz", + "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.41", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz", + "integrity": "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/react/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/@testing-library/react/node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.0.tgz", + "integrity": "sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } + }, + "node_modules/@types/jest/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/node": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.1.tgz", + "integrity": "sha512-czWPzKIAXucn9PtsttxmumiQ9N0ok9FrBwgRWrwmVLlp86BrMExzvXRLFYRJ+Ex3g6yqj+KuaxfX1JTgV2lpfg==", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "peer": true + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==" + }, + "node_modules/@types/quill": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/quill/-/quill-1.3.10.tgz", + "integrity": "sha512-IhW3fPW+bkt9MLNlycw8u8fWb7oO7W5URC9MfZYHBlA24rex9rs23D5DETChu1zvgVdc5ka64ICjJOgQMr6Shw==", + "dependencies": { + "parchment": "^1.1.2" + } + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "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/accepts/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/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.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==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "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/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "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/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "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/anymatch/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/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz", + "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "is-string": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "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==" + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "engines": { + "node": ">= 0.4" + } + }, + "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/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.22", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", + "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", + "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.27.0", + "caniuse-lite": "^1.0.30001754", + "fraction.js": "^5.3.4", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "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.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", + "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/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==", + "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/babel-jest/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "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.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.1.0.tgz", + "integrity": "sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "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/baseline-browser-mapping": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.7.tgz", + "integrity": "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/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/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "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": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "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==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "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/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001760", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", + "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "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/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/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/coa/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/coa/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/coa/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/coa/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/coa/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/coa/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/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==" + }, + "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/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": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "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/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "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==", + "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==" + }, + "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/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + }, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.47.0.tgz", + "integrity": "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==", + "hasInstallScript": true, + "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==" + }, + "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/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/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/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==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/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/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "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/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "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==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "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/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "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/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.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==", + "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==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/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==" + }, + "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==", + "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/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/eslint/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/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/eslint/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/eslint/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/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "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==", + "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==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz", + "integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==", + "dependencies": { + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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==" + }, + "node_modules/fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "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.8" + }, + "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==", + "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==" + }, + "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==" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "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==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "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==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "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/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "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-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==" + }, + "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.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/goober": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", + "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "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==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/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/hpack.js/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/hpack.js/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/hpack.js/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/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.5.tgz", + "integrity": "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "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/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==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "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/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "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==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "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.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jalaali-js": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.8.tgz", + "integrity": "sha512-Jl/EwY84JwjW2wsWqeU4pNd22VNQ7EkjI36bDuLw31wH98WQW4fPjD0+mG7cdCK+Y8D6s9R3zLiQ3LaKu6bD8A==" + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/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==", + "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/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-changed-files/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/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==", + "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/jest-circus/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-circus/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/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==", + "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/jest-circus/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/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/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==", + "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/jest-cli/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-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==", + "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-cli/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/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==", + "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/jest-cli/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/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/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==", + "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/jest-config/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-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==", + "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-config/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/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==", + "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/jest-config/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/jest-diff": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz", + "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==", + "dependencies": { + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-diff/node_modules/pretty-format": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-diff/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/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==", + "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/jest-each/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-each/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/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==", + "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/jest-each/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/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/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==", + "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/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-environment-jsdom/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/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==", + "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/jest-environment-jsdom/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/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/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==", + "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/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-environment-node/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/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==", + "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/jest-environment-node/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/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-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==", + "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/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-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==", + "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-haste-map/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-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==", + "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/jest-haste-map/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/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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==", + "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/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-jasmine2/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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==", + "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/jest-jasmine2/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/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz", + "integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.2.0", + "pretty-format": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-matcher-utils/node_modules/pretty-format": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-message-util": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz", + "integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.2.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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==", + "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/pretty-format": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-mock": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz", + "integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/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==", + "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/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-resolve-dependencies/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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==", + "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/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-resolve/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/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==", + "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/jest-resolve/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/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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==", + "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/jest-runner/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-runner/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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==", + "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/jest-runner/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/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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==", + "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/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-runtime/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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==", + "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/jest-runtime/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/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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==", + "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/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-snapshot/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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==", + "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/jest-snapshot/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/jest-snapshot/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz", + "integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==", + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "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==", + "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": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/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==", + "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/jest-validate/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "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==", + "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-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-watch-typeahead/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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/jest-watch-typeahead/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/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/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==", + "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/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-watcher/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/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==", + "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/jest-watcher/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/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==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, + "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": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "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==" + }, + "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": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "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==", + "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==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "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/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "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==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "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/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "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/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/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/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "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/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/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-jalaali": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.10.4.tgz", + "integrity": "sha512-/eD0HeyvATznb5iE0G1BHjKRZAFEpJ9ZNUkcHwXhNgt1WJJVVzHD7+uDmqzZWVFLdbGme2gvIXKb3ezDYOXcZA==", + "dependencies": { + "jalaali-js": "^1.2.7", + "moment": "^2.29.4", + "moment-timezone": "^0.5.46" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.48", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz", + "integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "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/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "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==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "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==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "engines": { + "node": ">= 6.13.0" + } + }, + "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==" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==" + }, + "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.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.9.tgz", + "integrity": "sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==", + "dependencies": { + "array.prototype.reduce": "^1.0.8", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "gopd": "^1.2.0", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, + "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": "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "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/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" + }, + "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/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/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==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "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==", + "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-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "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==", + "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/prop-types/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/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" + }, + "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-addr/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/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/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "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==", + "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/quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "dependencies": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + } + }, + "node_modules/quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "dependencies": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/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/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-date-object": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/react-date-object/-/react-date-object-2.1.9.tgz", + "integrity": "sha512-BHxD/quWOTo9fLKV/cfL/M31ePoj4a1JaJ/CnOf8Ndg3mrkh4x9wEMMkCfTrzduxDOgU8ZgR8uarhqI5G71sTg==" + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-dev-utils/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/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/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/react-dev-utils/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/react-dev-utils/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/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-element-popper": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/react-element-popper/-/react-element-popper-2.1.7.tgz", + "integrity": "sha512-tuM2OxKlW32h+6uFSK6EENHPeZ2OGgOipHfOAl+VLWEv9/j3QkSGbD+ADX3A9uJlmq24i37n28RjJmAbGTfpEg==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==" + }, + "node_modules/react-hot-toast": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.6.0.tgz", + "integrity": "sha512-bH+2EBMZ4sdyou/DPrfgIouFpcRLCJ+HoCA32UoAYHn6T3Ur5yfcDCeSr5mwldl6pFOsiocmrXMuoCJ1vV8bWg==", + "dependencies": { + "csstype": "^3.1.3", + "goober": "^2.1.16" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-icons": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", + "peerDependencies": { + "react": "*" + } + }, + "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==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-modal": { + "version": "3.16.3", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.3.tgz", + "integrity": "sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19" + } + }, + "node_modules/react-multi-date-picker": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/react-multi-date-picker/-/react-multi-date-picker-4.5.2.tgz", + "integrity": "sha512-FgWjZB3Z6IA6XpcWiLPk85PwcRUhOiYhKK42o5k672gD/n2I6rzPfQ8bUrldOIiF/Z7FfOCdH7a6FeubzqteLg==", + "dependencies": { + "react-date-object": "^2.1.8", + "react-element-popper": "^2.1.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-quill": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-quill/-/react-quill-2.0.0.tgz", + "integrity": "sha512-4qQtv1FtCfLgoD3PXAur5RyxuUbPXQGOHgTlFie3jtxp43mXDtzCKaOgQ3mLyZfi1PUlyjycfivKelFhy13QUg==", + "dependencies": { + "@types/quill": "^1.3.10", + "lodash": "^4.17.4", + "quill": "^1.3.7" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.30.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.2.tgz", + "integrity": "sha512-H2Bm38Zu1bm8KUE5NVWRMzuIyAV8p/JrOaBJAwVmp37AXG72+CZJlEBw6pdn9i5TBgLMhNDgijS4ZlblpHyWTA==", + "dependencies": { + "@remix-run/router": "1.23.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.2.tgz", + "integrity": "sha512-l2OwHn3UUnEVUqc6/1VMmR1cvZryZ3j3NzapC2eUXO1dB0sYp5mvwdjiXhpUbRb21eFow3qSxpP8Yv6oAU824Q==", + "dependencies": { + "@remix-run/router": "1.23.1", + "react-router": "6.30.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dependencies": { + "pify": "^2.3.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==", + "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==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/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/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "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==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "node_modules/regex-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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/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/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/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/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "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==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "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.19.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz", + "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/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/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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/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/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/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/serve-static/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-static/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/serve-static/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "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/serve-static/node_modules/send/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/serve-static/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/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/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.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "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==", + "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==", + "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==" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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/string-width/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/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/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/svgo/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/svgo/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/svgo/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/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/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/svgo/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/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/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/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "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==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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/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/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "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==" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "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==", + "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.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", + "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.2.0", + "picocolors": "^1.1.1" + }, + "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==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.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/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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/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/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.103.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", + "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.26.3", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/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/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "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/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "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/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "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": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "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/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "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/yup": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.7.1.tgz", + "integrity": "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..aa5db46 --- /dev/null +++ b/package.json @@ -0,0 +1,54 @@ +{ + "name": "modstagram_panel", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.6.8", + "js-cookie": "^3.0.5", + "moment-jalaali": "^0.10.4", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-hot-toast": "^2.4.1", + "react-icons": "^5.5.0", + "react-modal": "^3.16.1", + "react-multi-date-picker": "^4.5.2", + "react-quill": "^2.0.0", + "react-router-dom": "^6.23.1", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4", + "yup": "^1.4.0" + }, + "scripts": { + "start": "BROWSER=none react-scripts start", + "build": "GENERATE_SOURCEMAP=false react-scripts build", + "start:prod": "serve -s build -l 3001", + "build:no-cache": "GENERATE_SOURCEMAP=false INLINE_RUNTIME_CHUNK=false react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "tailwindcss": "^3.4.3" + } +} diff --git a/package.jsy b/package.jsy new file mode 100644 index 0000000..fc38082 --- /dev/null +++ b/package.jsy @@ -0,0 +1,54 @@ +{ + "name": "modstagram_panel", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "axios": "^1.6.8", + "js-cookie": "^3.0.5", + "moment-jalaali": "^0.10.4", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-hot-toast": "^2.4.1", + "react-icons": "^5.5.0", + "react-modal": "^3.16.1", + "react-multi-date-picker": "^4.5.2", + "react-quill": "^2.0.0", + "react-router-dom": "^6.23.1", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4", + "yup": "^1.4.0" + }, + "scripts": { + "start": "BROWSER=none react-scripts start", + "build": "GENERATE_SOURCEMAP=false react-scripts build", + "start:prod": "serve -s build -l 3001" + "build:no-cache": "GENERATE_SOURCEMAP=false INLINE_RUNTIME_CHUNK=false react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "tailwindcss": "^3.4.3" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..596b2ecb977694c2b246cb42e63f57debd3e3e61 GIT binary patch literal 12356 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�B1rpXB0Zbk@-0oe|WH=RoeTZ@{ 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 Tt)~aFs6+p44*bvZ-`)QJ?xP{( literal 0 HcmV?d00001 diff --git a/public/fonts/KalamehWeb-SemiBold.woff b/public/fonts/KalamehWeb-SemiBold.woff new file mode 100644 index 0000000000000000000000000000000000000000..d1f1e84779c8578594b240a8afdabe0b3c777d4b GIT binary patch literal 64604 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 + + + + + + + + + + + + مدستاگرام | پنل مدیریت + + + +

+ + diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..4109f71 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,17 @@ +import { RouterProvider } from "react-router-dom"; +import AuthProvider from "./utils/AuthProvider"; +import { Toaster } from "react-hot-toast"; +import { router } from "./routers/appRoutes"; + +function App() { + return ( +
+ + + + +
+ ); +} + +export default App; diff --git a/src/assets/css/index.css b/src/assets/css/index.css new file mode 100644 index 0000000..9ae09b3 --- /dev/null +++ b/src/assets/css/index.css @@ -0,0 +1,166 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: Kalameh; + src: url("/public/fonts/KalamehWeb-Regular.woff"); +} +@font-face { + font-family: KalamehMed; + src: url("/public/fonts/KalamehWeb-Medium.woff"); +} +@font-face { + font-family: KalamehSemi; + src: url("/public/fonts/KalamehWeb-SemiBold.woff"); +} + +html { + scroll-behavior: smooth; +} + +.hide-scrollbar { + -ms-overflow-style: none; + scrollbar-width: none; +} + +.hide-scrollbar::-webkit-scrollbar { + display: none; +} +.datePickerStyle { + width: 100%; + background-color: black; +} +button, +button:focus, +textarea { + outline: none; +} + +input:focus, +button:focus, +select:focus { + outline: none; +} + +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +input[type="number"] { + -moz-appearance: textfield; +} +* { + font-family: "kalameh" !important; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", + "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + direction: rtl; + background-color: #252525; +} +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", + monospace; +} +.dir-ltr { + direction: ltr; +} +.big-circle { + position: fixed; + top: 60vh; /* 30vh پایین‌تر از پایین صفحه */ + left: 50%; /* در وسط صفحه افقی */ + transform: translateX(-50%); /* تنظیم موقعیت در وسط صفحه افقی */ + width: 170vw; /* عرض بیشتر از عرض صفحه */ + height: 100vw; /* ارتفاع برابر با عرض بیشتر از عرض صفحه */ + border-radius: 50%; /* تبدیل به دایره */ + background-color: #fff; /* رنگ پس‌زمینه */ + z-index: 15; +} +.bg-glass { + box-shadow: 0px 4px 12px 0px #00000040; + background-color: #ffffffa2; +} +.purple-line { + width: 200px; + height: 1px; + background: linear-gradient(to right, #f9f2fb 0%, #482d4f 100%); +} +.bg-glass-absolute { + width: 101%; + height: 110%; + box-shadow: 0px 4px 12px 0px #00000040; + background-color: #e9e9e99c; + position: absolute; + bottom: -20px; + border-radius: 20px; + z-index: 99; + display: flex; + align-items: center; + justify-content: center; + left: 50%; + transform: translateX(-50%); +} +.ql-container, +.ql-editor { + min-height: 400px; + color: #fff !important; + text-align: right !important; +} +.ql-editor.ql-blank::before { + color: #fff !important; +} + +.rmdp-input { + border-color: #dee2e6 !important; + width: 130px !important; + height: 48px !important; + padding-right: 16px !important; + color: #111; +} +@media (min-width: 640px) { + .container { + max-width: 640px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 1024px) { + .container { + max-width: 1024px; + } +} + +@media (min-width: 1280px) { + .container { + max-width: 1170px; + } +} +@media (min-width: 1400px) { + .container { + max-width: 1300px; + } +} +@media (min-width: 1500px) { + .container { + max-width: 1400px; + } +} +@media (min-width: 1636px) { + .container { + max-width: 1650px; + } +} diff --git a/src/assets/icons/AdvertisingIcon.jsx b/src/assets/icons/AdvertisingIcon.jsx new file mode 100644 index 0000000..5d583be --- /dev/null +++ b/src/assets/icons/AdvertisingIcon.jsx @@ -0,0 +1,15 @@ +import React from "react"; + +function AdvertisingIcon(props) { + return ( + + + + + + + ); +} + +export default AdvertisingIcon; diff --git a/src/assets/icons/CommentsIcon.jsx b/src/assets/icons/CommentsIcon.jsx new file mode 100644 index 0000000..9f33f1f --- /dev/null +++ b/src/assets/icons/CommentsIcon.jsx @@ -0,0 +1,18 @@ +import React from "react"; + +function CommentsIcon(props) { + return ( + + + + + + + + + + ); +} + +export default CommentsIcon; diff --git a/src/assets/icons/FinancialsIcon.jsx b/src/assets/icons/FinancialsIcon.jsx new file mode 100644 index 0000000..fa68ab3 --- /dev/null +++ b/src/assets/icons/FinancialsIcon.jsx @@ -0,0 +1,18 @@ +import React from "react"; + +function FinancialsIcon(props) { + return ( + + + + + + + + + + ); +} + +export default FinancialsIcon; diff --git a/src/assets/icons/PostsIcon.jsx b/src/assets/icons/PostsIcon.jsx new file mode 100644 index 0000000..3d45171 --- /dev/null +++ b/src/assets/icons/PostsIcon.jsx @@ -0,0 +1,16 @@ +import React from "react"; + +function PostsIcon(props) { + return ( + + + + + + + + ); +} + +export default PostsIcon; diff --git a/src/assets/icons/ProjectsIcon.jsx b/src/assets/icons/ProjectsIcon.jsx new file mode 100644 index 0000000..bd6e07e --- /dev/null +++ b/src/assets/icons/ProjectsIcon.jsx @@ -0,0 +1,17 @@ +import React from "react"; + +function ProjectsIcon(props) { + return ( + + + + + + + + ); +} + +export default ProjectsIcon; diff --git a/src/assets/icons/ShopIcon.jsx b/src/assets/icons/ShopIcon.jsx new file mode 100644 index 0000000..4f79cec --- /dev/null +++ b/src/assets/icons/ShopIcon.jsx @@ -0,0 +1,20 @@ + + + +import React from "react"; + +function ShopIcon(props) { + return ( + + + + + + + + + ); +} + +export default ShopIcon; diff --git a/src/assets/icons/SupportIcon.jsx b/src/assets/icons/SupportIcon.jsx new file mode 100644 index 0000000..330c4fc --- /dev/null +++ b/src/assets/icons/SupportIcon.jsx @@ -0,0 +1,14 @@ +import React from "react"; + +function SupportIcon(props) { + return ( + + + + + ); +} + +export default SupportIcon; diff --git a/src/assets/icons/UsersIcon.jsx b/src/assets/icons/UsersIcon.jsx new file mode 100644 index 0000000..069f49b --- /dev/null +++ b/src/assets/icons/UsersIcon.jsx @@ -0,0 +1,16 @@ +import React from "react"; + +function UsersIcon(props) { + return ( + + + + + + + ); +} + +export default UsersIcon; diff --git a/src/assets/icons/dashboardIcon.jsx b/src/assets/icons/dashboardIcon.jsx new file mode 100644 index 0000000..eb987b2 --- /dev/null +++ b/src/assets/icons/dashboardIcon.jsx @@ -0,0 +1,21 @@ +import React from "react"; + +function DashboardIcon(props) { + return ( + + + + + + + ); +} + +export default DashboardIcon; diff --git a/src/components/BaseUrl.js b/src/components/BaseUrl.js new file mode 100644 index 0000000..54b51da --- /dev/null +++ b/src/components/BaseUrl.js @@ -0,0 +1,24 @@ +export const BaseUrl = "https://api.modstagram.com/api/v1/panel"; +export const AppBaseUrl = "https://api.modstagram.com/api/v1"; +export const ImageBaseUrl = "https://api.modstagram.com/storage"; + +export function buildStorageUrl(path) { + if (!path) return ""; + if (path.startsWith("http://") || path.startsWith("https://")) return path; + + let normalized = String(path).replace(/\\/g, "/"); + normalized = normalized.replace("/root/modstagram-back/storage", ""); + + if (normalized.startsWith("/storage/")) { + normalized = normalized.slice("/storage".length); + } else if (normalized.startsWith("storage/")) { + normalized = `/${normalized.slice("storage/".length)}`; + } + + if (!normalized.startsWith("/")) normalized = `/${normalized}`; + return `${ImageBaseUrl.replace(/\/$/, "")}${normalized}`; +} + +// export const BaseUrl = "http://localhost:8000/api/v1/panel"; +// export const AppBaseUrl = "http://localhost:8000/api/v1"; +// export const ImageBaseUrl = "http://localhost:8000/storage"; diff --git a/src/components/Filters.jsx b/src/components/Filters.jsx new file mode 100644 index 0000000..54bf4e8 --- /dev/null +++ b/src/components/Filters.jsx @@ -0,0 +1,126 @@ +import React from "react"; + +const Filters = ({ + statusOptions = [], + provinceOptions = [], + cityOptions = [], + photographyModelOptions = [], + blockStatusOptions = [], + onFilterChange = () => {}, +}) => { + const [filters, setFilters] = React.useState({ + startDate: "", + endDate: "", + status: "", + province: "", + city: "", + photographyModel: "", + blockStatus: "", + }); + + const handleFilterChange = (name, value) => { + const newFilters = { ...filters, [name]: value }; + if (name === "province") { + newFilters.city = ""; // ریست شهر هنگام تغییر استان + } + setFilters(newFilters); + onFilterChange(newFilters); + }; + + return ( +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + handleFilterChange("startDate", e.target.value)} + className="w-full p-3 rounded-lg border border-gray-300 dark:border-gray-600 focus:outline-none focus:ring-2 focus:ring-teal-500 dark:bg-gray-700 dark:text-white" + /> +
+
+ + handleFilterChange("endDate", e.target.value)} + className="w-full p-3 rounded-lg border border-gray-300 dark:border-gray-600 focus:outline-none focus:ring-2 focus:ring-teal-500 dark:bg-gray-700 dark:text-white" + /> +
+
+ ); +}; + +export default Filters; \ No newline at end of file diff --git a/src/components/Pagination.jsx b/src/components/Pagination.jsx new file mode 100644 index 0000000..3a5fd68 --- /dev/null +++ b/src/components/Pagination.jsx @@ -0,0 +1,68 @@ +import React from "react"; + +const Pagination = ({ totalPages, currentPage, onPageChange }) => { + if (!totalPages || totalPages <= 1) return null; + + const handlePageClick = (page) => { + if (page >= 1 && page <= totalPages) onPageChange(page); + }; + + const getPageNumbers = () => { + const pages = []; + if (totalPages <= 7) { + for (let i = 1; i <= totalPages; i++) pages.push(i); + } else { + pages.push(1); + let start = Math.max(currentPage - 2, 2); + let end = Math.min(currentPage + 2, totalPages - 1); + + if (start > 2) pages.push("..."); + for (let i = start; i <= end; i++) pages.push(i); + if (end < totalPages - 1) pages.push("..."); + pages.push(totalPages); + } + return pages; + }; + + const pages = getPageNumbers(); + + return ( +
+ + + {pages.map((page, idx) => + page === "..." ? ( + ... + ) : ( + + ) + )} + + +
+ ); +}; + +export default Pagination; diff --git a/src/components/academy/Header.js b/src/components/academy/Header.js new file mode 100644 index 0000000..3a2b80d --- /dev/null +++ b/src/components/academy/Header.js @@ -0,0 +1,33 @@ +// src/components/Layout/Header.js +import React from "react"; +import { FaBell, FaUserCircle } from "react-icons/fa"; + +const Header = ({ toggleSidebar }) => { + return ( +
+
+ +

پنل مدیریت

+
+ +
+ + +
+ + مدیر سیستم +
+
+
+ ); +}; + +export default Header; \ No newline at end of file diff --git a/src/components/academy/Layout.js b/src/components/academy/Layout.js new file mode 100644 index 0000000..a2fb2be --- /dev/null +++ b/src/components/academy/Layout.js @@ -0,0 +1,27 @@ +// src/components/Layout/Layout.js +import React, { useState } from "react"; +import Sidebar from "./Sidebar"; +import Header from "./Header"; + +const Layout = ({ children }) => { + const [sidebarOpen, setSidebarOpen] = useState(window.innerWidth > 768); + + const toggleSidebar = () => { + setSidebarOpen(!sidebarOpen); + }; + + return ( +
+ + +
+ {/*
*/} +
+ {children} +
+
+
+ ); +}; + +export default Layout; \ No newline at end of file diff --git a/src/components/academy/Sidebar.js b/src/components/academy/Sidebar.js new file mode 100644 index 0000000..2d64c5a --- /dev/null +++ b/src/components/academy/Sidebar.js @@ -0,0 +1,50 @@ +// src/components/Layout/Sidebar.js +import React from "react"; +import { NavLink } from "react-router-dom"; +import { + FaTachometerAlt, + FaWallet, + FaBook, + FaShoppingCart, + FaUniversity, + FaCog, + FaBackspace +} from "react-icons/fa"; + +const Sidebar = () => { + const menuItems = [ + { path: "/academy", label: "داشبورد", icon: }, + { path: "/payments", label: "مدیریت پرداخت‌ها", icon: }, + { path: "/courses", label: "مدیریت دوره‌ها", icon: }, + { path: "/purchased", label: "دوره‌های خریداری شده", icon: }, + { path: "/academies", label: "مدیریت آکادمی‌ها", icon: }, + { path: "/settings", label: "تنظیمات", icon: }, + { path: "/", label: "بازگشت", icon: } + ]; + + return ( +
+
+

پنل مدیریت دوره‌ها

+
+ +
+ ); +}; + +export default Sidebar; \ No newline at end of file diff --git a/src/components/admin-header.jsx b/src/components/admin-header.jsx new file mode 100644 index 0000000..f52bffd --- /dev/null +++ b/src/components/admin-header.jsx @@ -0,0 +1,87 @@ +import React, { useContext, useState } from "react"; +import { useNavigate } from "react-router-dom"; +import Loading from "./elements/loading"; +import { Link } from "react-router-dom/dist"; + +function AdminHeader() { + const navigate = useNavigate(); + const handleLogOut = () => { + localStorage.clear(); + document.getElementById("to_login").click(); + }; + function refreshPage() { + setTimeout(() => { + window.location.reload(false); + }, 1000); + } + return ( + <> + +
+
+
+
+
+ +
+

+ {/* {full_name} */} +

+
+
+
+
logOutMutation.mutate()} + className="flex bg-white cursor-pointer bg-primary hover:bg-[#cbade4] px-5 items-center h-9 group transition-colors duration-500 hover:bg-cyann rounded-[4px] font-KalamehMed font-medium" + > + <> + + + + + + + +
+
+
+
+ + ); +} + +export default AdminHeader; diff --git a/src/components/adminApi.js b/src/components/adminApi.js new file mode 100644 index 0000000..c89db8d --- /dev/null +++ b/src/components/adminApi.js @@ -0,0 +1,42 @@ +// src/services/adminApi.js +import api from "./api"; + +// ==================== پرداخت‌ها ==================== +export const getPayments = (params) => api.get("/academy/payments", { params }); +export const updatePaymentStatus = (data) => api.put("/academy/payments/status", data); +export const getPaymentStats = () => api.get("/academy/payments/stats"); + +// ==================== دوره‌ها ==================== +export const getCourses = (params) => api.get("/academy/courses", { params }); +export const getCourseById = (id) => api.get(`/academy/courses/${id}`); +export const createCourse = (data) => api.post("/academy/courses", data); +export const updateCourse = (id, data) => api.put(`/academy/courses/${id}`, data); +export const updateCourseStatus = (data) => api.put("/academy/academy/courses/status", data); +export const deleteCourse = (courseId) => api.delete(`/academy/courses/${courseId}`); +export const getCourseStats = () => api.get("/academy/courses/stats"); + +// ==================== دوره‌های خریداری شده ==================== +export const getPurchasedCourses = (params) => api.get("/academy/purchased", { params }); +export const getPurchasedStats = () => api.get("/academy/purchased/stats"); + +// ==================== آکادمی‌ها ==================== +export const getAcademies = (params) => api.get("/academy/academies", { params }); +export const getAcademyById = (id) => api.get(`/academy/academies/${id}`); +export const createAcademy = (data) => api.post("/academy/academies", data); +export const updateAcademy = (id, data) => api.put(`/academy/academies/${id}`, data); +export const updateAcademyStatus = (data) => api.put("/academy/academies/status", data); +export const deleteAcademy = (id) => api.delete(`/academy/academies/${id}`); +export const getAcademyStats = () => api.get("/academy/academies/stats"); + +// ==================== تنظیمات ==================== +// مسیرهای قدیمی (برای سازگاری) +export const getSettings = () => api.get("/academy/settings/all"); +export const updateSettings = (data) => api.put("/academy/settings/all", data); + +// مسیرهای جدید (جداگانه) +export const getCoursePrices = () => api.get("/academy/settings/course-prices"); +export const updateCoursePrice = (data) => api.put("/academy/settings/course-price", data); +export const getTax = () => api.get("/academy/settings/tax"); +export const updateTax = (data) => api.put("/academy/settings/tax", data); +export const getAllSettings = () => api.get("/academy/settings/all"); +export const updateAllSettings = (data) => api.put("/academy/settings/all", data); \ No newline at end of file diff --git a/src/components/api.js b/src/components/api.js new file mode 100644 index 0000000..5767435 --- /dev/null +++ b/src/components/api.js @@ -0,0 +1,45 @@ +// src/services/api.js - نسخه ساده و مطمئن +import axios from "axios"; +import Cookies from "js-cookie"; +import { AppBaseUrl } from "./BaseUrl"; + +const API_BASE_URL = AppBaseUrl || "http://localhost:5000/api"; + +const api = axios.create({ + baseURL: API_BASE_URL, + headers: { + "Content-Type": "application/json" + } +}); + +api.interceptors.request.use( + (config) => { + // توکن + const token = Cookies.get("token"); + if (token) { + config.headers.Authorization = `Bearer ${token}`; + } + + // فقط یک تغییر ساده: اضافه کردن timestamp به URL + if (config.method === 'get') { + const separator = config.url.includes('?') ? '&' : '?'; + config.url = `${config.url}${separator}_t=${Date.now()}`; + } + + return config; + }, + (error) => Promise.reject(error) +); + +api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + Cookies.remove("token"); + window.location.href = "/login"; + } + return Promise.reject(error); + } +); + +export default api; \ No newline at end of file diff --git a/src/components/elements/loading.jsx b/src/components/elements/loading.jsx new file mode 100644 index 0000000..10963cc --- /dev/null +++ b/src/components/elements/loading.jsx @@ -0,0 +1,57 @@ +import React from "react"; + +function Loading(props) { + return ( + <> + + + + + + + + + + ); +} + +export default Loading; diff --git a/src/components/shops/ShopDet.jsx b/src/components/shops/ShopDet.jsx new file mode 100644 index 0000000..a5c5605 --- /dev/null +++ b/src/components/shops/ShopDet.jsx @@ -0,0 +1,436 @@ +import React, { useEffect, useState } from "react"; +import { AppBaseUrl, BaseUrl, ImageBaseUrl } from "../BaseUrl"; +import axios from "axios"; +import toast from "react-hot-toast"; +import Modal from "react-modal"; +const customStyles = { + content: { + top: "50%", + left: "50%", + transform: "translate(-50%, -50%)", + position: "fixed", + }, +}; +const ShopDet = ({ shopData, id, getUserDetails }) => { + const [isEditing, setIsEditing] = useState(false); + const [editedData, setEditedData] = useState({}); + const [categories, setCategories] = useState([]); + const [modalIsOpen, setModalIsOpen] = useState(false); + const [modalImage, setModalImage] = useState(""); + + const openModal = (image) => { + setModalImage(image); + setModalIsOpen(true); + }; + const closeModal = () => { + setModalIsOpen(false); + }; + + const getCategories = (page = 1) => { + const config = { + url: `${AppBaseUrl}/advertising/categories`, + method: "GET", + }; + axios(config) + .then((res) => { + setCategories(res?.data?.categories); + }) + .catch((err) => { }); + }; + useEffect(() => { + getCategories(); + }, []); + const handleChange = (e) => { + const { name, value } = e.target; + setEditedData((prevData) => ({ + ...prevData, + [name]: value, + })); + }; + + console.log(editedData); + + const handleSave = async () => { + try { + const response = await axios.put( + `${BaseUrl}/shops/update?shopId=${shopData._id}`, + editedData, + { + headers: { + Authorization: `Bearer ${localStorage.getItem( + "token" + )}`, // اگر نیاز به توکن احراز هویت دارید + }, + } + ); + getUserDetails(); + setIsEditing(false); + } catch (error) { + if ( + error.response && + error.response.data && + error.response.data.errors + ) { + error.response.data.errors.forEach((err) => { + if (typeof err.message === "string") { + // نمایش پیام خطا در صورتیکه به صورت string باشد + toast.error(err.message); + } else { + // نمایش پیام خطا برای موارد دیگر + toast.error("خطای ناشناخته"); + } + }); + } else { + // نمایش پیام خطا برای سایر موارد + toast.error("خطای ناشناخته"); + } + } + }; + const contactInfoArray = shopData?.contactInfo + ? Object.keys(shopData.contactInfo).map((key) => { + let title; + switch (key) { + case "phone": + title = "شماره ثابت"; + break; + case "mobile": + title = "شماره همراه"; + break; + case "telegramLink": + title = "لینک تلگرام"; + break; + case "whatsappNumber": + title = "شماره واتساپ"; + break; + case "instagramLink": + title = "لینک اینستاگرام"; + break; + case "saveInfoForNextAds": + title = "ذخیره اطلاعات برای آگهی‌های بعدی"; + break; + default: + title = key; + } + return { title, value: shopData.contactInfo[key] }; + }) + : []; + return ( +
+
+ + {/* استفاده از ImageMagnify */} + Post + +
+
+ {/* + + + */} + تصویر پروفایل: +
+
+ +
+
+ {/* User Name */} +
+
+ نام کاربری: +
+
+ {shopData?.user_name} +
+
+ + {/* First Name */} +
+
+ نام: +
+
+ {shopData?.first_name} +
+
+ + {/* Last Name */} +
+
+ نام خانوادگی: +
+
+ {shopData?.last_name} +
+
+ + {/* Mobile */} +
+
+ دسته بندی: +
+
+ {isEditing ? ( + + ) : ( + shopData?.category + )} +
+
+ {/* National Code */} +
+
+ عنوان فروشگاه: +
+
+ {isEditing ? ( + + ) : ( + shopData?.vitrine_name + )} +
+
+ +
+
+ استان: +
+
+ {shopData?.province?.name} +
+
+
+
+ شهر: +
+
+ {shopData?.city?.name} +
+
+
+
+ محله: +
+
+ {shopData?.neighbourhood} +
+
+ {/* Address */} +
+
+ آدرس: +
+
+ {isEditing ? ( + + ) : ( + shopData?.address + )} +
+
+
+
+ لیست خدمات و کالا +
+
+
+ {shopData?.allServices && + shopData?.allServices?.map((item) => { + return ( +
+ { + openModal( + ImageBaseUrl + + item?.image + ); + }} + src={ImageBaseUrl + item?.image} + className="w-[100px] h-[100px] rounded-sm" + alt="" + /> +

+ نام : {item?.title} +

+

+ درصد تخفیف :{" "} + {item?.discountPercentage} +

+

+ قیمت اصلی :{" "} + {item?.originalPrice} +

+

+ قیمت تخفیف خورده :{" "} + {item?.discountPrice} +

+
+ ); + })} +
+
+
+
+
+ لیست امکانات +
+
+
+ {shopData?.allFeatures && + shopData?.allFeatures?.map((item) => { + return ( +
+

+ {" "} + {item?.title} :{" "} +

+

+ {item?.value == true + ? "دارد" + : "ندارد"} +

+
+ ); + })} +
+
+
+
+
+ لیست تماس +
+
+
+ {contactInfoArray.map((item, index) => ( +
+

{item.title} :

+

{item.value}

+
+ ))} +
+
+
+
+
+ تصاویر +
+
+ {shopData?.allImages && + shopData?.allImages?.map((item) => { + return ( +
+ { + openModal(ImageBaseUrl + item); + }} + src={ImageBaseUrl + item} + className="w-[100px] h-[100px] rounded-sm m-4" + alt="" + /> +
+ ); + })} +
+
+
+
+ درباره ما: +
+
+ {isEditing ? ( + + ) : ( + shopData?.about_us + )} +
+
+
+
+ تاریخ ثبت فروشگاه: +
+
+ {shopData?.createdAt} +
+
+ + {/* Save Button */} +
+ {isEditing ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +export default ShopDet; diff --git a/src/components/sidebar.jsx b/src/components/sidebar.jsx new file mode 100644 index 0000000..a5d4e52 --- /dev/null +++ b/src/components/sidebar.jsx @@ -0,0 +1,618 @@ +import React, { useEffect, useState } from "react"; +import { Link, useLocation, useNavigate, useParams } from "react-router-dom"; +import DashboardIcon from "../assets/icons/dashboardIcon"; +import UsersIcon from "../assets/icons/UsersIcon"; +import PostsIcon from "../assets/icons/PostsIcon"; +import ProjectsIcon from "../assets/icons/ProjectsIcon"; +import SupportIcon from "../assets/icons/SupportIcon"; +import FinancialsIcon from "../assets/icons/FinancialsIcon"; +import CommentsIcon from "../assets/icons/CommentsIcon"; +import AdvertisingIcon from "../assets/icons/AdvertisingIcon"; +import ShopIcon from "../assets/icons/ShopIcon"; +import { GrLicense } from "react-icons/gr"; + +function Tooltip({ svgIcon, title }) { + const [showTooltip, setShowTooltip] = useState(false); + + return ( +
+ setShowTooltip(true)} + onMouseLeave={() => setShowTooltip(false)} + > + {svgIcon} + +
+
+
+ {title} +
+ + + +
+
+
+ ); +} + +const Sidebar = () => { + const { pathname } = useLocation(); + const navigate = useNavigate(); + const param = useParams(); + const [items, setItems] = useState([]); + const [isCollapsed, setIsCollapsed] = useState(false); + + useEffect(() => { + setItems([ + { + menu: "داشبورد", + subshow: false, + link: "/", + submenu: [], + icon(pathnamin) { + return ( + + } + title="داشبورد" + /> + ); + }, + }, + { + menu: "کاربران", + link: "/users", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="کاربران" + /> + ); + }, + }, + { + menu: "پست ها", + link: "/posts", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="پست ها" + /> + ); + }, + }, + { + menu: "پروژه ها", + link: "/projects", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="پروژه ها" + /> + ); + }, + }, + { + menu: "تیکت ها", + link: "/tickets", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="تیکت ها" + /> + ); + }, + }, + { + menu: "مالی", + link: "/financials", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="مالی" + /> + ); + }, + }, + { + menu: "نظرات", + link: "/comments", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="نظرات" + /> + ); + }, + }, + { + menu: "ویترین", + link: "/vitrine", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="ویترین" + /> + ); + }, + }, + { + menu: "نظرات ویترین", + link: "/vitrine-comments", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="نظرات ویترین" + /> + ); + }, + }, + { + menu: "فروشگاه", + link: "/shops", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="فروشگاه" + /> + ); + }, + }, + { + menu: "اموزشگاه", + link: "/academy", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="اموزشگاه" + /> + ); + }, + }, + { + menu: "مجوز", + link: "/license", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="مجوز" + /> + ); + }, + }, + { + menu: "ورژن برنامه", + link: "/version", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + + + } + title="ورژن برنامه" + /> + ); + }, + }, + { + menu: "تخصص", + link: "/expertise", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + + + } + title="تخصص" + /> + ); + }, + }, + { + menu: "قوانین مقررات", + link: "/terms", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + } + title="قوانین مقررات" + /> + ); + }, + }, + { + menu: "تنظیمات", + link: "/system-settings", + subshow: false, + submenu: [], + icon(pathnamin) { + return ( + + + + } + title="تنظیمات" + /> + ); + }, + }, + { + menu: "خروج", + subshow: false, + link: "#", + submenu: [], + icon(pathnamin) { + return ( + + + + + + + + } + title="خروج" + /> + ); + }, + }, + ]); + }, []); + + useEffect(() => { + let indexOfItem = 0; + for (let item of items) { + indexOfItem++; + for (let submenu of item.submenu) { + if (pathname.replace("/", "").includes(submenu?.link.replace("/", ""))) { + setItems((prev) => + prev.map((sidebarItem, i) => + i === indexOfItem - 1 + ? { ...sidebarItem, subshow: true } + : sidebarItem + ) + ); + return; + } + } + } + }, [pathname, items]); + + const navigateToMenu = (item) => { + navigate(item?.link); + setItems((prev) => + prev.map((sidebarItem) => ({ ...sidebarItem, subshow: false })) + ); + }; + + const showSubMenu = (index) => { + setItems((prev) => + prev.map((sidebarItem, i) => + i === index + ? { ...sidebarItem, subshow: !sidebarItem.subshow } + : { ...sidebarItem, subshow: false } + ) + ); + }; + + const handleLogOut = () => { + localStorage.clear(); + document.getElementById("to_login").click(); + }; + + function refreshPage() { + setTimeout(() => { + window.location.reload(false); + }, 1000); + } + + const toggleSidebar = () => { + setIsCollapsed(!isCollapsed); + }; + + return ( +
+ + +
+ {items.map((item, index) => ( +
+ {item.submenu.length === 0 ? ( + + ) : ( + + )} + {!isCollapsed && ( +
+ {item.submenu.map((submenuItem, subIndex) => { + const isActive = pathname + .replace("/", "") + .includes(submenuItem.link.replace("/", "")); + return ( + + {submenuItem.menu} + + ); + })} +
+ )} +
+ ))} +
+
+ ); +}; + +export default Sidebar; \ No newline at end of file diff --git a/src/components/system-settings/CdnSettingsTab.jsx b/src/components/system-settings/CdnSettingsTab.jsx new file mode 100644 index 0000000..d2b2648 --- /dev/null +++ b/src/components/system-settings/CdnSettingsTab.jsx @@ -0,0 +1,158 @@ +import React, { useEffect, useState } from "react"; +import axios from "axios"; +import { BaseUrl } from "../BaseUrl"; +import toast from "react-hot-toast"; + +const inputClass = + "w-full p-3 rounded bg-gray-900 text-white focus:ring-2 focus:ring-[#00cc99] focus:outline-none text-sm"; + +function CdnSettingsTab() { + const [loading, setLoading] = useState(true); + const [saving, setSaving] = useState(false); + const [form, setForm] = useState({ + cdn_enabled: false, + cdn_domain: "cdn.modstagram.com", + cdn_origin_url: "https://api.modstagram.com", + cdn_ns1: "ns1.modstagram.com", + cdn_ns2: "ns2.modstagram.com", + cdn_cache_ttl: "3600", + }); + + const fetchSettings = () => { + setLoading(true); + axios + .get(`${BaseUrl}/settings/cdn`) + .then((res) => { + const s = res.data?.settings || {}; + setForm({ + cdn_enabled: s.cdn_enabled === "true", + cdn_domain: s.cdn_domain || "cdn.modstagram.com", + cdn_origin_url: s.cdn_origin_url || "https://api.modstagram.com", + cdn_ns1: s.cdn_ns1 || "ns1.modstagram.com", + cdn_ns2: s.cdn_ns2 || "ns2.modstagram.com", + cdn_cache_ttl: s.cdn_cache_ttl || "3600", + }); + }) + .catch(() => toast.error("خطا در دریافت تنظیمات CDN")) + .finally(() => setLoading(false)); + }; + + useEffect(() => { + fetchSettings(); + }, []); + + const handleChange = (e) => { + const { name, value, type, checked } = e.target; + setForm((prev) => ({ + ...prev, + [name]: type === "checkbox" ? checked : value, + })); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + setSaving(true); + axios + .put(`${BaseUrl}/settings/cdn`, { + settings: { + cdn_enabled: String(form.cdn_enabled), + cdn_domain: form.cdn_domain, + cdn_origin_url: form.cdn_origin_url, + cdn_ns1: form.cdn_ns1, + cdn_ns2: form.cdn_ns2, + cdn_cache_ttl: form.cdn_cache_ttl, + }, + }) + .then(() => { + toast.success("تنظیمات CDN ذخیره شد"); + fetchSettings(); + }) + .catch(() => toast.error("خطا در ذخیره تنظیمات")) + .finally(() => setSaving(false)); + }; + + if (loading) { + return

در حال بارگذاری...

; + } + + return ( +
+
+

راهنمای DNS

+

۱. در پنل رجیسترار دامنه، Nameserverها را به این مقادیر تغییر دهید:

+

{form.cdn_ns1}

+

{form.cdn_ns2}

+

۲. رکورد A دامنه CDN ({form.cdn_domain}) را به IP سرور CDN اشاره دهید.

+

۳. Origin سرور: {form.cdn_origin_url}

+
+ +
+ + +
+ + +
+ +
+ + +
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
+ + +
+
+ ); +} + +export default CdnSettingsTab; diff --git a/src/components/system-settings/SslSettingsTab.jsx b/src/components/system-settings/SslSettingsTab.jsx new file mode 100644 index 0000000..2580f1c --- /dev/null +++ b/src/components/system-settings/SslSettingsTab.jsx @@ -0,0 +1,161 @@ +import React, { useEffect, useState } from "react"; +import axios from "axios"; +import { BaseUrl } from "../BaseUrl"; +import toast from "react-hot-toast"; + +const statusLabels = { + active: "فعال", + pending: "در حال صدور", + expired: "منقضی شده", + failed: "خطا", + none: "غیرفعال", +}; + +const statusColors = { + active: "text-green-400", + pending: "text-yellow-400", + expired: "text-red-400", + failed: "text-red-400", + none: "text-gray-400", +}; + +function SslSettingsTab() { + const [loading, setLoading] = useState(true); + const [activating, setActivating] = useState(false); + const [sslInfo, setSslInfo] = useState(null); + const [autoRenew, setAutoRenew] = useState(true); + const [email, setEmail] = useState("admin@modstagram.com"); + + const fetchSslStatus = () => { + setLoading(true); + axios + .get(`${BaseUrl}/settings/cdn/ssl/status`) + .then((res) => { + setSslInfo(res.data); + }) + .catch(() => toast.error("خطا در دریافت وضعیت SSL")) + .finally(() => setLoading(false)); + }; + + const fetchAutoRenew = () => { + axios.get(`${BaseUrl}/settings/cdn`).then((res) => { + setAutoRenew(res.data?.settings?.ssl_auto_renew === "true"); + }); + }; + + useEffect(() => { + fetchSslStatus(); + fetchAutoRenew(); + }, []); + + const handleActivateSsl = () => { + setActivating(true); + axios + .post(`${BaseUrl}/settings/cdn/ssl/activate`, { email }) + .then((res) => { + toast.success(res.data?.message || "SSL فعال شد"); + fetchSslStatus(); + }) + .catch((err) => { + toast.error(err.response?.data?.message || "خطا در فعال‌سازی SSL"); + }) + .finally(() => setActivating(false)); + }; + + const handleSaveAutoRenew = () => { + axios + .put(`${BaseUrl}/settings/cdn`, { + settings: { ssl_auto_renew: String(autoRenew) }, + }) + .then(() => toast.success("تمدید خودکار SSL ذخیره شد")) + .catch(() => toast.error("خطا در ذخیره")); + }; + + if (loading) { + return

در حال بارگذاری...

; + } + + return ( +
+
+

وضعیت SSL رایگان (Let's Encrypt)

+
+

+ دامنه: + {sslInfo?.domain || "-"} +

+

+ وضعیت: + + {statusLabels[sslInfo?.status] || sslInfo?.status} + +

+

+ تاریخ انقضا: + {sslInfo?.expires_at + ? new Date(sslInfo.expires_at).toLocaleDateString("fa-IR") + : "نامشخص"} +

+

+ گواهی روی سرور: + {sslInfo?.cert_found ? "یافت شد" : "یافت نشد"} +

+
+ +
+ +
+

+ SSL رایگان از طریق Let's Encrypt صادر می‌شود. قبل از فعال‌سازی، مطمئن شوید DNS دامنه CDN + به IP سرور اشاره کرده و Nginx نصب است. +

+ +
+ + setEmail(e.target.value)} + placeholder="admin@modstagram.com" + /> +
+ + + +
+ + +
+
+
+ ); +} + +export default SslSettingsTab; diff --git a/src/components/system-settings/TrafficSettingsTab.jsx b/src/components/system-settings/TrafficSettingsTab.jsx new file mode 100644 index 0000000..edc2c60 --- /dev/null +++ b/src/components/system-settings/TrafficSettingsTab.jsx @@ -0,0 +1,94 @@ +import React, { useEffect, useState } from "react"; +import axios from "axios"; +import { BaseUrl } from "../BaseUrl"; +import toast from "react-hot-toast"; + +const inputClass = + "w-full p-3 rounded bg-gray-900 text-white focus:ring-2 focus:ring-[#00cc99] focus:outline-none text-sm"; + +function TrafficSettingsTab() { + const [loading, setLoading] = useState(true); + const [saving, setSaving] = useState(false); + const [form, setForm] = useState({ + rate_limit_requests: "3000", + rate_limit_window_minutes: "3", + }); + + useEffect(() => { + axios + .get(`${BaseUrl}/settings/cdn`) + .then((res) => { + const s = res.data?.settings || {}; + setForm({ + rate_limit_requests: s.rate_limit_requests || "3000", + rate_limit_window_minutes: s.rate_limit_window_minutes || "3", + }); + }) + .catch(() => toast.error("خطا در دریافت تنظیمات ترافیک")) + .finally(() => setLoading(false)); + }, []); + + const handleChange = (e) => { + const { name, value } = e.target; + setForm((prev) => ({ ...prev, [name]: value })); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + setSaving(true); + axios + .put(`${BaseUrl}/settings/cdn`, { settings: form }) + .then(() => toast.success("تنظیمات ترافیک ذخیره شد")) + .catch(() => toast.error("خطا در ذخیره")) + .finally(() => setSaving(false)); + }; + + if (loading) { + return

در حال بارگذاری...

; + } + + return ( +
+
+

+ با این تنظیمات می‌توانید سقف درخواست‌های API را کنترل کنید. برای اعمال روی سرور، + بعد از ذخیره یک‌بار pm2 restart all بزنید. +

+
+ +
+
+ + +
+
+ + +
+ +
+
+ ); +} + +export default TrafficSettingsTab; diff --git a/src/components/users/UserChangePassword.jsx b/src/components/users/UserChangePassword.jsx new file mode 100644 index 0000000..151c4d6 --- /dev/null +++ b/src/components/users/UserChangePassword.jsx @@ -0,0 +1,208 @@ +import React, { useState } from 'react'; +import axios from 'axios'; +import { BaseUrl } from '../BaseUrl'; +import toast, { Toaster } from 'react-hot-toast'; +import { FiEye, FiEyeOff, FiLock, FiCheckCircle } from 'react-icons/fi'; +import { useParams } from 'react-router-dom'; + +const UserChangePassword = () => { + const { id } = useParams(); // آیدی کاربر + + const [formData, setFormData] = useState({ + newPassword: '', + confirmPassword: '', + }); + const [showPassword, setShowPassword] = useState({ + new: false, + confirm: false, + }); + const [loading, setLoading] = useState(false); + const [errors, setErrors] = useState({}); + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData((prev) => ({ ...prev, [name]: value })); + if (errors[name]) setErrors((prev) => ({ ...prev, [name]: '' })); + }; + + const togglePasswordVisibility = (field) => { + setShowPassword((prev) => ({ ...prev, [field]: !prev[field] })); + }; + + const validatePassword = (password) => { + const errors = []; + if (password.length < 8) errors.push('حداقل 8 کاراکتر'); + if (!/[A-Z]/.test(password)) errors.push('حداقل یک حرف بزرگ'); + if (!/[a-z]/.test(password)) errors.push('حداقل یک حرف کوچک'); + if (!/[0-9]/.test(password)) errors.push('حداقل یک عدد'); + return errors; + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + const newErrors = {}; + + // اعتبارسنجی پسورد جدید + const passwordErrors = validatePassword(formData.newPassword); + if (passwordErrors.length > 0) { + newErrors.newPassword = passwordErrors.join('، '); + } + + // تطابق پسوردها + if (formData.newPassword !== formData.confirmPassword) { + newErrors.confirmPassword = 'پسوردها مطابقت ندارند'; + } + + if (Object.keys(newErrors).length > 0) { + setErrors(newErrors); + return; + } + + setLoading(true); + + try { + await axios.post( + `${BaseUrl}/users/change-password`, + { + userId: id, + password: formData.newPassword, // فقط پسورد جدید + } + + ); + + // toast.success('رمز عبور کاربر با موفقیت تغییر کرد', { + // icon: , + // style: { background: '#10b981', color: 'white' }, + // }); + + // ریست فرم + setFormData({ newPassword: '', confirmPassword: '' }); + } catch (err) { + const message = err.response?.data?.message || 'خطا در تغییر رمز عبور'; + toast.error(message, { style: { background: '#ef4444', color: 'white' } }); + } finally { + setLoading(false); + } + }; + + return ( + <> + +
+
+
+
+
+ +
+

تغییر رمز عبور کاربر

+

+ آیدی کاربر: {id} +

+
+ +
+ + {/* پسورد جدید */} +
+ +
+ + +
+ {errors.newPassword && ( +

{errors.newPassword}

+ )} +
+

= 8 ? 'text-green-400' : ''}> + حداقل 8 کاراکتر +

+

+ یک حرف بزرگ +

+

+ یک حرف کوچک +

+

+ یک عدد +

+
+
+ + {/* تأیید پسورد */} +
+ +
+ + +
+ {errors.confirmPassword && ( +

{errors.confirmPassword}

+ )} +
+ + {/* دکمه ارسال */} + +
+
+
+
+ + ); +}; + +export default UserChangePassword; \ No newline at end of file diff --git a/src/components/users/UserComments.jsx b/src/components/users/UserComments.jsx new file mode 100644 index 0000000..e2e3088 --- /dev/null +++ b/src/components/users/UserComments.jsx @@ -0,0 +1,234 @@ +import React, { useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import { useNavigate, useParams } from "react-router-dom"; +import { BaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import Loading from "../../components/elements/loading"; +import Pagination from "../../components/Pagination"; +import Filters from "../Filters"; + +const Comments = ({}) => { + // دریافت id از props + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [allComments, setAllComments] = useState([]); // تمام کامنت‌ها + const [commentList, setCommentList] = useState([]); // کامنت‌های فیلتر شده + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + const [filters, setFilters] = useState({ + startDate: "", + endDate: "", + status: "", + }); + + + const token = document.cookie + .split("; ") + .find((row) => row.startsWith("token=")) + ?.split("=")[1]; + + const param = useParams(); + const id = param?.id; + + const getCommentList = (page = 1) => { + setLoading(true); + + const { startDate, endDate, status } = filters; + const config = { + url: `${BaseUrl}/comments?limit=20&page=${page}${ + startDate ? "&startDate=" + startDate : "" + }${endDate ? "&endDate=" + endDate : ""}&status=${status}`, + + method: "GET", + headers: { + Authorization: `Bearer ${token}`, // اضافه کردن توکن به هدر + }, + }; + axios(config) + .then((res) => { + // setAllComments(res?.data?.comments); + setTotalPages(res?.data?.totalPages); + + // بررسی اینکه کامنت‌ها وجود دارند + const comments = res?.data?.comments || []; + + console.log(comments); + + // فیلتر فقط زمانی انجام میشه که creator وجود داشته باشه + const userComments = comments.filter( + (c) => c?.creator?._id === id + ); + + setCommentList(userComments); + setLoading(false); + + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getCommentList(currentPage); + }, [currentPage, filters]); + + return ( + <> +
+
+
+ {/* Filters */} + + +
+
+
+

+ عنوان پروژه +

+
+
+

+ نام کاربری سازنده +

+
+
+

+ نام و نام خانوادگی سازنده +

+
+
+

+ نام کاربری یوزر +

+
+
+

+ نام و نام خانوادگی یوزر +

+
+
+

+ تاریخ ثبت کامنت +

+
+
+

وضعیت

+
+
+

+
+
+
+ {loading ? ( +
+ +
+ ) : ( +
+ {Array.isArray(commentList) && commentList.length > 0 ? ( + commentList.map((comment, index) => { + return ( +
+
+

+ {comment?.project || "-"} +

+
+
+

+ {comment?.creator?.user_name || "-"} +

+
+
+

+ {comment?.creator?.first_name || ""}{" "} + {comment?.creator?.last_name || ""} +

+
+
+

+ {comment?.user?.user_name || "-"} +

+
+
+

+ {comment?.user?.first_name || ""}{" "} + {comment?.user?.last_name || ""} +

+
+
+

+ {comment?.createdAt || "-"} +

+
+
+
+

+ {comment?.status === "pending" + ? "در انتظار تایید" + : comment?.status === "accepted" + ? "تایید شده" + : comment?.status === "rejected" + ? "رد شده" + : "-"} +

+
+
+
+ +
+
+ ); + }) + ) : ( +

+ هیچ کامنتی یافت نشد. +

+ )} +
+ )} + setCurrentPage(page)} + /> +
+
+
+ + ); +}; + +export default Comments; diff --git a/src/components/users/UserDet.jsx b/src/components/users/UserDet.jsx new file mode 100644 index 0000000..4f92fac --- /dev/null +++ b/src/components/users/UserDet.jsx @@ -0,0 +1,607 @@ +import React, { useState } from "react"; +import { BaseUrl, ImageBaseUrl } from "../BaseUrl"; +import axios from "axios"; +import Modal from "react-modal"; +import toast from "react-hot-toast"; +import Sidebar from "../sidebar"; + +const customStyles = { + content: { + top: "50%", + left: "50%", + transform: "translate(-50%, -50%)", + position: "fixed", + }, +}; + +const UserDet = ({ userData, id, getUserDet }) => { + const [isEditing, setIsEditing] = useState(false); + const [editedData, setEditedData] = useState({}); + const [modalIsOpen, setModalIsOpen] = useState(false); + const [modalImage, setModalImage] = useState(""); + + const openModal = (image) => { + setModalImage(image); + setModalIsOpen(true); + }; + + const closeModal = () => { + setModalIsOpen(false); + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setEditedData((prevData) => ({ + ...prevData, + [name]: value, + })); + }; + + const handleSave = async () => { + try { + const response = await axios.put( + `${BaseUrl}/users/update?userId=${userData._id}`, + editedData, + { + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}`, + }, + } + ); + setIsEditing(false); + toast.success("اطلاعات با موفقیت ذخیره شد"); + getUserDet(); + } catch (error) { + if (error.response && error.response.data && error.response.data.errors) { + error.response.data.errors.forEach((err) => { + toast.error( + typeof err.message === "string" ? err.message : "خطای ناشناخته" + ); + }); + } else { + toast.error("خطای ناشناخته"); + } + } + }; + + const acceptVerify = () => { + axios + .post(`${BaseUrl}/users/verify?userId=${id}`, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + toast.success(response?.data?.message); + getUserDet(); + }) + .catch((error) => { + toast.error(error?.response?.data?.message || "خطای ناشناخته"); + }); + }; + + const rejectVerify = () => { + axios + .post(`${BaseUrl}/users/reject?userId=${id}`, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + toast.success(response?.data?.message); + getUserDet(); + }) + .catch((error) => { + toast.error(error?.response?.data?.message || "خطای ناشناخته"); + }); + }; + + const acceptService = async (serviceId) => { + try { + // به‌روزرسانی آرایه services با تغییر status سرویس موردنظر به "true" + const updatedServices = userData.services.map((service) => + service._id === serviceId ? { ...service, status: "true" } : service + ); + + const response = await axios.put( + `${BaseUrl}/users/update?userId=${userData._id}`, + { services: updatedServices }, + { + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}`, + Accept: "application/json", + "Content-Type": "application/json", + }, + } + ); + toast.success(response?.data?.message || "سرویس با موفقیت تأیید شد"); + getUserDet(); + } catch (error) { + toast.error(error?.response?.data?.message || "خطای ناشناخته"); + } + }; + + const rejectService = async (serviceId) => { + // فقط پیام رد نمایش داده می‌شود و status تغییر نمی‌کند + toast.success("سرویس رد شد"); + }; + + return ( +
+
+ + Post + + + {/* Profile Image */} +
+
+ تصویر پروفایل: +
+
+ openModal(ImageBaseUrl + userData?.profile_image)} + src={ImageBaseUrl + userData?.profile_image} + className="w-[200px] h-[200px] rounded-md" + alt="" + /> +
+
+ + {/* User Name */} +
+
+ نام کاربری: +
+
+ {isEditing ? ( + + ) : ( + userData?.user_name + )} +
+
+ + {/* First Name */} +
+
+ نام: +
+
+ {isEditing ? ( + + ) : ( + userData?.first_name + )} +
+
+ + {/* Last Name */} +
+
+ نام خانوادگی: +
+
+ {isEditing ? ( + + ) : ( + userData?.last_name + )} +
+
+ + {/* Mobile */} +
+
+ موبایل: +
+
+ {isEditing ? ( + + ) : ( + userData?.mobile + )} +
+
+ + {/* National Code */} +
+
+ کد ملی: +
+
+ {isEditing ? ( + + ) : ( + userData?.national_code + )} +
+
+ + {/* Province */} +
+
+ استان: +
+
+ {userData?.province?.name} +
+
+ + {/* City */} +
+
+ شهر: +
+
+ {userData?.city?.name} +
+
+ + {/* Address */} +
+
+ آدرس: +
+
+ {isEditing ? ( + + ) : ( + userData?.address + )} +
+
+ + {/* Height */} +
+
+ قد: +
+
+ {isEditing ? ( + + ) : ( + userData?.height + )} +
+
+ + {/* Weight */} +
+
+ وزن: +
+
+ {isEditing ? ( + + ) : ( + userData?.weight + )} +
+
+ + {/* Size */} +
+
+ سایز: +
+
+ {isEditing ? ( + + ) : ( + userData?.size + )} +
+
+ + {/* Bio */} +
+
+ بیو: +
+
+ {isEditing ? ( + + ) : ( + userData?.bio + )} +
+
+ + {/* Birthday */} +
+
+ تاریخ تولد: +
+
+ {userData?.birthday} +
+
+ + {/* Cooperation Abroad */} +
+
+ خارج از محدوده سکونت به من پیشنهاد بده: +
+
+ {userData?.cooperation_abroad == true ? "بله" : "خیر"} +
+
+ + {/* Conversation Projects */} +
+
+ پروژه با روابط عمومی بالا: +
+
+ {userData?.conversation_projects == true ? "بله" : "خیر"} +
+
+ + {/* Expertise */} +
+ {/* عنوان */} +
+ تخصص: +
+ + {/* تخصص + زیرتخصص‌ها */} +
+ {userData?.expertise} : + + {userData?.sub_expertise?.map((item, index) => ( + + {item} + {index !== userData?.sub_expertise?.length - 1 ? " _ " : ""} + + ))} +
+
+ + {/* Shaba */} +
+
+ شماره شبا: +
+
+ {isEditing ? ( + + ) : ( + userData?.shaba + )} +
+
+ + {/* National Card Image */} +
+
+ تصویر کارت ملی: +
+
+ + openModal(ImageBaseUrl + userData?.national_card_image) + } + src={ImageBaseUrl + userData?.national_card_image} + className="w-[200px] h-[200px] rounded-md" + alt="" + /> +
+
+ + {/* Last Online */} +
+
+ آخرین زمان ورود: +
+
+ {userData?.last_online} +
+
+ + {/* Created At */} +
+
+ تاریخ ثبت نام: +
+
+ {userData?.createdAt} +
+
+ + {/* Verification Status */} +
+
+ وضعیت مدارک: +
+
+

+ {userData?.is_verified === "verified" + ? "تایید شده" + : userData?.is_verified === "pending" + ? "در انتظار تایید" + : ""} +

+ + +
+
+ + {/* Services Section */} +
+
+ خدمات: +
+
+ {userData?.services?.length > 0 ? ( + userData.services.map((service) => ( +
+ {service.title} openModal(ImageBaseUrl + service.image)} + /> +
+

عنوان: {service.title}

+

قیمت اصلی: {service.originalPrice} تومان

+

قیمت با تخفیف: {service.discountPrice} تومان

+

درصد تخفیف: {service.discountPercentage}%

+

+ وضعیت:{" "} + {service.status === "true" + ? "تأیید شده" + : service.status === "UnderReview" + ? "در انتظار بررسی" + : "رد شده"} +

+
+
+ +
+
+ )) + ) : ( +

هیچ سرویسی یافت نشد

+ )} +
+
+ + {/* User Rate */} +
+
+ امتیاز کاربر: +
+
+ {userData?.rate} +
+
+ + {/* User Level */} +
+
+ سطح کاربر: +
+
+ {userData?.user_level} +
+
+ + {/* Save Button */} +
+ {isEditing ? ( + + ) : ( + + )} +
+
+
+ ); +}; + +export default UserDet; diff --git a/src/components/users/UserFinancial.jsx b/src/components/users/UserFinancial.jsx new file mode 100644 index 0000000..59471a3 --- /dev/null +++ b/src/components/users/UserFinancial.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const UserFinancial = () => { + return ( +
UserFinancial
+ ) +} + +export default UserFinancial \ No newline at end of file diff --git a/src/components/users/UserMessages.jsx b/src/components/users/UserMessages.jsx new file mode 100644 index 0000000..e03c8e5 --- /dev/null +++ b/src/components/users/UserMessages.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const UserMessages = () => { + return ( +
UserMessages
+ ) +} + +export default UserMessages \ No newline at end of file diff --git a/src/components/users/UserPosts.jsx b/src/components/users/UserPosts.jsx new file mode 100644 index 0000000..82d436a --- /dev/null +++ b/src/components/users/UserPosts.jsx @@ -0,0 +1,211 @@ +import React, { useEffect, useState } from "react"; +import { useNavigate } from "react-router-dom"; +import { BaseUrl, buildStorageUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import Loading from "../../components/elements/loading"; +import Pagination from "../../components/Pagination"; + +const UserPosts = ({ id }) => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [allPosts, setAllPosts] = useState([]); // تمام پست‌ها + const [postsList, setPostsList] = useState([]); // پست‌های صفحه جاری + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + const [filters, setFilters] = useState({ + startDate: "", + endDate: "", + status: "", + }); + + const itemsPerPage = 10; // تعداد آیتم در هر صفحه + + // دریافت همه پست‌ها از API (بدون user_id) + const fetchAllPosts = () => { + setLoading(true); + const { startDate, endDate, status } = filters; + + let url = `${BaseUrl}/posts?limit=1000`; // گرفتن تعداد زیاد برای فیلتر فرانت + if (startDate) url += `&startDate=${startDate}`; + if (endDate) url += `&endDate=${endDate}`; + if (status) url += `&status=${status}`; + + axios + .get(url) + .then((res) => { + const posts = res?.data?.posts || []; + setAllPosts(posts); + setLoading(false); + }) + .catch(() => setLoading(false)); + }; + + // فیلتر و صفحه‌بندی روی فرانت + const paginatePosts = () => { + const filteredPosts = allPosts.filter((post) => post.user_id === id); + const startIndex = (currentPage - 1) * itemsPerPage; + const paginatedPosts = filteredPosts.slice( + startIndex, + startIndex + itemsPerPage + ); + setPostsList(paginatedPosts); + setTotalPages(Math.ceil(filteredPosts.length / itemsPerPage)); + }; + + useEffect(() => { + fetchAllPosts(); + }, [filters]); + + useEffect(() => { + paginatePosts(); + }, [allPosts, currentPage, id]); + + return ( + <> +
+
+
+ {/* Table Header */} +
+
+
+

تصویر

+
+
+

نام کاربری

+
+
+

نوع کاربری

+
+
+

نام و نام خانوادگی

+
+
+

موبایل

+
+
+

کد ملی

+
+
+

تاریخ ثبت پست

+
+
+

وضعیت

+
+
+

جزئیات

+
+
+
+ + {loading ? ( +
+ +
+ ) : ( +
+ {postsList?.map((post, index) => ( +
+
+
+ {post?.files?.length > 0 ? ( + post.files[0].type === "image" ? ( + Post + ) : ( +
+
+

{post?.user_name}

+
+
+ {" "} +

+ {post?.user_type === "employer" + ? "کارفرما" + : post?.user_type === "user" + ? post?.expertise || "-" + : "-"} +

+
+
+

+ {post?.first_name} {post?.last_name} +

+
+
+

{post?.mobile}

+
+
+

{post?.national_code}

+
+
+

{post?.createdAt}

+
+
+

+ {post?.status === "accept" + ? "منتشر شده" + : post?.status === "pending" + ? "در انتظار تایید" + : "رد شده"} +

+
+
+ +
+
+
+ ))} +
+ )} + + post.user_id === id).length} + totalPages={totalPages} + currentPage={currentPage} + onPageChange={(page) => setCurrentPage(page)} + /> +
+
+
+ + ); +}; + +export default UserPosts; diff --git a/src/components/users/UserWorkroom.jsx b/src/components/users/UserWorkroom.jsx new file mode 100644 index 0000000..1d6e7bb --- /dev/null +++ b/src/components/users/UserWorkroom.jsx @@ -0,0 +1,200 @@ +import React, { useState, useEffect } from 'react'; +import axios from 'axios'; +import { AppBaseUrl } from '../BaseUrl'; +import { useParams } from 'react-router-dom'; +import moment from 'moment-jalaali'; +import { FiUser, FiCalendar, FiClock, FiCheckCircle, FiXCircle, FiAlertCircle } from 'react-icons/fi'; + +const UserWorkroom = () => { + const [projects, setProjects] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const param = useParams(); + const id = param?.id; + + useEffect(() => { + const fetchProjects = async () => { + try { + const response = await axios.get(`${AppBaseUrl}/offers`, { + params: { status_filter: "دریافت", id }, + }); + + const offersFromSender = response.data.offerbyidsender?.docs || []; + const offersFromReceiver = response.data.offerbyid?.docs || []; + + const mergedOffers = [...offersFromSender, ...offersFromReceiver]; + const sortedOffers = mergedOffers.sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt)); + + setProjects(sortedOffers); + } catch (err) { + setError('خطا در بارگذاری درخواست‌ها'); + } finally { + setLoading(false); + } + }; + + fetchProjects(); + }, [id]); + + const formatJalaliDate = (date) => { + if (!date) return 'نامشخص'; + return moment(date).format('jYYYY/jMM/jDD - HH:mm'); + }; + + const StatusTag = ({ status }) => { + const config = { + accepted: { text: 'تایید شده', color: 'bg-green-900/30 text-green-300 border border-green-800', icon: }, + rejected: { text: 'رد شده', color: 'bg-red-900/30 text-red-300 border border-red-800', icon: }, + pending: { text: 'در انتظار', color: 'bg-yellow-900/30 text-yellow-300 border border-yellow-800', icon: }, + }; + + const { text, color, icon } = config[status] || { text: status, color: 'bg-gray-800 text-gray-400 border border-gray-700', icon: null }; + + return ( + + {icon} + {text} + + ); + }; + + if (loading) { + return ( +
+
+
+ ); + } + + if (error) { + return ( +
+

{error}

+
+ ); + } + + if (projects.length === 0) { + return ( +
+ +

هیچ درخواستی یافت نشد.

+
+ ); + } + + return ( +
+
+
+

+ + لیست درخواست‌ها +

+

مجموع: {projects.length} درخواست

+
+ + {/* موبایل: کارت‌ها */} +
+ {projects.map((project) => ( +
+
+
+
+

درخواست‌کننده

+

+ {project.sender + ? `${project.sender.first_name} ${project.sender.last_name}` + : 'نامشخص'} +

+

@{project.sender?.user_name}

+
+ +
+ +
+

درخواست‌شونده

+

+ {project.receiver + ? `${project.receiver.first_name} ${project.receiver.last_name}` + : 'نامشخص'} +

+

@{project.receiver?.user_name}

+
+ +
+ + {formatJalaliDate(project.createdAt)} +
+ {project.updatedAt && ( +
+ + آخرین تغییر: {formatJalaliDate(project.updatedAt)} +
+ )} +
+
+ ))} +
+ + {/* دسکتاپ: جدول */} +
+ + + + + + + + + + + + {projects.map((project) => ( + + + + + + + + ))} + +
درخواست‌کنندهدرخواست‌شوندهوضعیتتاریخ ثبتآخرین تغییر
+
+

+ {project.sender + ? `${project.sender.first_name} ${project.sender.last_name}` + : 'نامشخص'} +

+

@{project.sender?.user_name}

+
+
+
+

+ {project.receiver + ? `${project.receiver.first_name} ${project.receiver.last_name}` + : 'نامشخص'} +

+

@{project.receiver?.user_name}

+
+
+ + + {formatJalaliDate(project.createdAt)} + + {project.updatedAt ? formatJalaliDate(project.updatedAt) : '—'} +
+
+
+
+ ); +}; + +export default UserWorkroom; \ No newline at end of file diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..b6adba9 --- /dev/null +++ b/src/index.js @@ -0,0 +1,73 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './assets/css/index.css'; +import App from './App'; +import toast from 'react-hot-toast'; +import axios from 'axios'; +import { BaseUrl } from './components/BaseUrl'; + +const root = ReactDOM.createRoot(document.getElementById('root')); + +const handleUnauthorized = () => { + localStorage.removeItem("userData"); + localStorage.removeItem("token"); + localStorage.removeItem("login"); + window.location = "/login"; +}; + +const getToken = () => { + const token = localStorage.getItem("token"); + return token == null ? "" : token; +}; +axios.interceptors.request.use( + (config) => { + if (!config.url.endsWith('/panel/login')) { + config.headers["Authorization"] = `Bearer ${getToken()}`; + } + return config; + }, + (error) => { + return Promise.reject(error); + } +); + +axios.interceptors.response.use( + (response) => { + if (response.data.message && response.data.message != "") + toast.success(response.data.message); + return response; + }, + (error) => { + if (error.response.status == 422) { + if (error.response.data.errors) { + Object.keys(error.response.data.errors).map((err) => + error.response.data.errors[err].map((item) => toast.error(item)) + ); + } + + } else if (error.response.status == 401) { + handleUnauthorized(); + } else if ( + error.response.status == 429 || + error.response.status == 500 || + error.response.status == 503 + ) { + toast.error("خطایی رخ داده"); + } else if (error.response.status == 403) { + // window.location.reload(); + toast.error( + "متاسفانه دسترسی شما به بخش هایی از این صفحه محدود شده است" + ); + } else { + toast.error(error.response.data.message); + } + + return Promise.reject(error); + } +); +root.render( + + + +); + diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx new file mode 100644 index 0000000..8418a96 --- /dev/null +++ b/src/pages/Dashboard.jsx @@ -0,0 +1,50 @@ +import React, { useState } from "react"; +import { Link } from "react-router-dom"; +import AdminHeader from "../components/admin-header"; +import Sidebar from "../components/sidebar"; + +const items = [ + { id: 1, label: "کاربران جدید", href: "/users?status=pending" }, + { id: 2, label: "پست‌های جدید", href: "/posts?status=pending" }, + { id: 3, label: "بیلبورد جدید", href: "/vitrine?status=pending" }, + { id: 4, label: "نظرات جدید", href: "/comments?status=pending" }, + { id: 5, label: "تیکت جدید", href: "/tickets?status=pending" }, + { id: 6, label: "نظرات بیلبورد جدید", href: "/vitrine-comments?status=pending" }, +]; + +const Dashboard = () => { + const [active, setActive] = useState(null); + + return ( + <> + +
+
+
+ +
+
+ {items.map((item) => ( + setActive(item.id)} + className={`cursor-pointer rounded-xl border p-6 shadow-md transition block + ${ + active === item.id + ? "bg-cyan-600 text-white font-bold shadow-lg scale-105" + : "bg-[#232a31] hover:bg-[#2a3036] text-gray-200" + }`} + > + {item.label} + + ))} +
+
+
+
+ + ); +}; + +export default Dashboard; diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx new file mode 100644 index 0000000..78bf9d2 --- /dev/null +++ b/src/pages/Login.jsx @@ -0,0 +1,116 @@ +import React, { useEffect, useState } from "react"; +import { Link, useNavigate } from "react-router-dom"; +import * as Yup from "yup"; +import Loading from "../components/elements/loading"; +import { useAuth } from "../utils/AuthProvider"; +import axios from "axios"; +import { BaseUrl } from "../components/BaseUrl"; +import toast, { useToaster } from "react-hot-toast"; + +const Login = () => { + const navigate = useNavigate(); + const [loading, setloading] = useState(false); + const token = useAuth(); + const [userName, setUserName] = useState("") + const [password, setPassword] = useState("") + useEffect(() => { + if (token !== null) { + navigate("/", { replace: true }); + } + }, []); + const loginHandler = () => { + const data = { + user_name: userName, + password, + }; + axios + .post(`${BaseUrl}/login`, data, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + try { + localStorage.setItem("token", response?.data?.token); + document.getElementById("to_dashboard").click(); + } catch (error) { + toast.error("اطلاعات وارد شده صحیح نمیباشد"); + } + }) + .catch(function (error) { + toast.error(error?.response?.data?.message); + }); + } + function refreshPage() { + setTimeout(() => { + window.location.reload(false); + }, 1000); + } + return ( +
+ +
+
+
+
+ ورود +
+
+
+ + setUserName(e.target.value)} + /> +
+
+ + setPassword(e.target.value)} + /> +
+
+ +
+
+
+
+
+
+ ); +}; + +export default Login; diff --git a/src/pages/academies/academies.jsx b/src/pages/academies/academies.jsx new file mode 100644 index 0000000..5a818c5 --- /dev/null +++ b/src/pages/academies/academies.jsx @@ -0,0 +1,412 @@ +// src/pages/Academies.js +import React, { useState, useEffect, useCallback } from "react"; +import toast from "react-hot-toast"; +import { + getAcademies, + updateAcademyStatus, + deleteAcademy, + getAcademyStats +} from "../../components/adminApi"; // اصلاح مسیر +import Layout from "../../components/academy/Layout"; +import { FaSearch, FaEdit, FaTrash, FaEye, FaStar, FaUniversity, FaTimes } from "react-icons/fa"; +import { ImageBaseUrl } from "../../components/BaseUrl"; + +// در صورت نیاز به BASE_URL +const IMAGE_BASE_URL = ImageBaseUrl|| ""; + +const Academies = () => { + const [academies, setAcademies] = useState([]); + const [stats, setStats] = useState(null); + const [loading, setLoading] = useState(true); + const [page, setPage] = useState(1); + const [totalPages, setTotalPages] = useState(1); + const [search, setSearch] = useState(""); + const [searchInput, setSearchInput] = useState(""); + const [showModal, setShowModal] = useState(false); + const [selectedAcademy, setSelectedAcademy] = useState(null); + + const fetchAcademies = useCallback(async () => { + setLoading(true); + try { + const response = await getAcademies({ page, limit: 12, search }); + console.log("Academies response:", response.data); + + if (response.data.success) { + const responseData = response.data.data; + setAcademies(responseData?.academies || []); + setStats(responseData?.stats || null); + setTotalPages(responseData?.pagination?.totalPages || 1); + } else { + toast.error(response.data.message || "خطا در دریافت آکادمی‌ها"); + } + } catch (error) { + console.error("Error fetching academies:", error); + toast.error("خطا در دریافت آکادمی‌ها"); + } finally { + setLoading(false); + } + }, [page, search]); + + const fetchStats = async () => { + try { + const response = await getAcademyStats(); + console.log("Stats response:", response.data); + + if (response.data.success) { + setStats(response.data.data); + } + } catch (error) { + console.error("Error fetching stats:", error); + } + }; + + useEffect(() => { + fetchAcademies(); + fetchStats(); + }, [fetchAcademies]); + + const handleStatusChange = async (academyId, status) => { + try { + const response = await updateAcademyStatus({ academyId, status }); + if (response.data.success) { + toast.success("وضعیت آکادمی تغییر کرد"); + fetchAcademies(); + fetchStats(); + } else { + toast.error(response.data.message || "خطا در تغییر وضعیت"); + } + } catch (error) { + console.error("Error updating status:", error); + toast.error("خطا در تغییر وضعیت"); + } + }; + + const handleDelete = async (academyId) => { + if (window.confirm("آیا از حذف این آکادمی مطمئن هستید؟\nتوجه: با حذف آکادمی، تمام دوره‌های آن نیز حذف خواهند شد.")) { + try { + const response = await deleteAcademy(academyId); + if (response.data.success) { + toast.success("آکادمی حذف شد"); + fetchAcademies(); + fetchStats(); + } else { + toast.error(response.data.message || "خطا در حذف آکادمی"); + } + } catch (error) { + console.error("Error deleting academy:", error); + toast.error("خطا در حذف آکادمی"); + } + } + }; + + const handleSearch = (e) => { + e.preventDefault(); + setSearch(searchInput); + setPage(1); + }; + + const handleClearSearch = () => { + setSearchInput(""); + setSearch(""); + setPage(1); + }; + + const getImageUrl = (imagePath) => { + if (!imagePath) return null; + if (imagePath.startsWith("http")) return imagePath; + return `${IMAGE_BASE_URL}${imagePath}`; + }; + + const getStatusText = (status) => { + const statusMap = { + active: { text: "فعال", className: "bg-green-100 text-green-700" }, + inactive: { text: "غیرفعال", className: "bg-gray-100 text-gray-700" }, + blocked: { text: "مسدود", className: "bg-red-100 text-red-700" } + }; + return statusMap[status] || { text: status || "فعال", className: "bg-gray-100 text-gray-700" }; + }; + + + + + if (loading && page === 1) { + return ( + +
+
+
+
+ ); + } + + return ( + +
+
+

مدیریت آکادمی‌ها

+

لیست تمام آکادمی‌های ثبت شده در سامانه

+
+ + {/* Stats */} + {stats && ( +
+
+
+
+

تعداد آکادمی‌ها

+

{stats.totalAcademies?.toLocaleString() || 0}

+
+ +
+
+
+

میانگین امتیاز

+

{stats.avgRate?.toFixed(1) || 0}

+
+
+

مجموع امتیاز

+

{stats.totalRate?.toLocaleString() || 0}

+
+
+ )} + + {/* Search */} +
+
+ setSearchInput(e.target.value)} + className="w-full px-4 py-3 pl-12 pr-4 border rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500" + /> + + {searchInput && ( + + )} +
+
+ + {/* Search result info */} + {search && ( +
+ نتایج جستجو برای: {search} + +
+ )} + + {/* Academies Grid */} + {academies.length === 0 && !loading ? ( +
+ +

آکادمی‌ای یافت نشد

+ {search && ( + + )} +
+ ) : ( +
+ {academies.map((academy) => { + const statusInfo = getStatusText(academy.status); + return ( +
+
+
+ + {statusInfo.text} + +
+
+
+
+ {academy.academy_image ? ( + {academy.academy_name} + ) : ( +
+ +
+ )} +
+
+
+
+ +
+
+
+

{academy.academy_name}

+

مدیر: {academy.userId?.user_name || "نامشخص"}

+
+
+ + {academy.rate || 0} +
+
+ +

+ {academy.bio || "توضیحاتی ثبت نشده"} +

+ +
+
+ + +
+ {/* */} +
+
+
+ ); + })} +
+ )} + + {/* Pagination */} + {totalPages > 1 && ( +
+ + + صفحه {page} از {totalPages} + + +
+ )} + + {/* Modal */} + {showModal && selectedAcademy && ( +
+
+
+

جزئیات آکادمی

+ +
+
+
+
+ {selectedAcademy.academy_image ? ( + {selectedAcademy.academy_name} + ) : ( +
+ +
+ )} +
+
+ +
+ نام آکادمی: + {selectedAcademy.academy_name} +
+
+ مدیر: + {selectedAcademy.userId?.user_name || "-"} +
+
+ ایمیل: + {selectedAcademy.userId?.email || "-"} +
+
+ امتیاز: + {selectedAcademy.rate || 0} +
+
+ تعداد نظرات: + {selectedAcademy.number_of_rate || 0} +
+
+ شماره شبا: + {selectedAcademy.sheba || "ثبت نشده"} +
+
+ تاریخ ثبت: + {new Date(selectedAcademy.createdAt).toLocaleDateString("fa-IR")} +
+
+

درباره:

+

{selectedAcademy.bio || "توضیحاتی ثبت نشده"}

+
+
+
+ +
+
+
+ )} +
+
+ ); +}; + +export default Academies; \ No newline at end of file diff --git a/src/pages/academy/academy.jsx b/src/pages/academy/academy.jsx new file mode 100644 index 0000000..dcdee9f --- /dev/null +++ b/src/pages/academy/academy.jsx @@ -0,0 +1,293 @@ +// src/pages/Dashboard.js +import React, { useState, useEffect } from "react"; +import Layout from "../../components/academy/Layout"; +import { + getPaymentStats, + getCourseStats, + getPurchasedStats, + getAcademyStats, + getPayments, + getCourses +} from "../../components/adminApi"; +import { Link } from "react-router-dom"; +import { FaWallet, FaBook, FaShoppingCart, FaUniversity, FaStar } from "react-icons/fa"; + +const Dashboard = () => { + const [stats, setStats] = useState({ + payments: { totalAmount: 0, totalCount: 0, pendingCount: 0, successCount: 0, settledCount: 0 }, + courses: { totalCourses: 0, acceptCount: 0, pendingCount: 0, normalCount: 0, proCount: 0, legendCount: 0 }, + purchased: { totalPurchases: 0, uniqueUsers: 0 }, + academies: { totalAcademies: 0, avgRate: 0 } + }); + const [loading, setLoading] = useState(true); + const [recentPayments, setRecentPayments] = useState([]); + const [recentCourses, setRecentCourses] = useState([]); + + useEffect(() => { + const fetchStats = async () => { + setLoading(true); + try { + const [paymentsRes, coursesRes, purchasedRes, academiesRes] = await Promise.all([ + getPaymentStats(), + getCourseStats(), + getPurchasedStats(), + getAcademyStats() + ]); + + console.log("Payment Stats:", paymentsRes.data); + console.log("Course Stats:", coursesRes.data); + console.log("Purchased Stats:", purchasedRes.data); + console.log("Academy Stats:", academiesRes.data); + + setStats({ + payments: paymentsRes.data?.data || {}, + courses: coursesRes.data?.data || {}, + purchased: purchasedRes.data?.data || {}, + academies: academiesRes.data?.data || {} + }); + } catch (error) { + console.error("Error fetching stats:", error); + } finally { + setLoading(false); + } + }; + + const fetchRecentData = async () => { + try { + // دریافت 5 پرداخت آخر + const paymentsRes = await getPayments({ page: 1, limit: 5 }); + if (paymentsRes.data?.success) { + setRecentPayments(paymentsRes.data.data?.payments || []); + } + + // دریافت 5 دوره آخر + const coursesRes = await getCourses({ page: 1, limit: 5 }); + if (coursesRes.data?.success) { + setRecentCourses(coursesRes.data.data?.courses || []); + } + } catch (error) { + console.error("Error fetching recent data:", error); + } + }; + + fetchStats(); + fetchRecentData(); + }, []); + + const statCards = [ + // { + // title: "مجموع فروش", + // value: stats.payments.totalAmount?.toLocaleString() || 0, + // unit: "تومان", + // icon: , + // bgColor: "bg-blue-100", + // textColor: "text-blue-600", + // iconBg: "bg-blue-500" + // }, + { + title: "تعداد پرداخت‌ها", + value: stats.payments.totalCount || 0, + unit: "", + icon: , + bgColor: "bg-green-100", + textColor: "text-green-600", + iconBg: "bg-green-500" + }, + { + title: "دوره‌های تایید شده", + value: stats.courses.acceptCount || 0, + unit: "", + subValue: `در انتظار: ${stats.courses.pendingCount || 0}`, + icon: , + bgColor: "bg-purple-100", + textColor: "text-purple-600", + iconBg: "bg-purple-500" + }, + { + title: "کل دوره‌ها", + value: stats.courses.totalCourses || 0, + unit: "", + icon: , + bgColor: "bg-indigo-100", + textColor: "text-indigo-600", + iconBg: "bg-indigo-500" + }, + { + title: "خریدهای انجام شده", + value: stats.purchased.totalPurchases || 0, + unit: "", + icon: , + bgColor: "bg-orange-100", + textColor: "text-orange-600", + iconBg: "bg-orange-500" + }, + { + title: "کاربران خریدار", + value: stats.purchased.uniqueUsers || 0, + unit: "نفر", + icon: , + bgColor: "bg-rose-100", + textColor: "text-rose-600", + iconBg: "bg-rose-500" + }, + { + title: "آکادمی‌ها", + value: stats.academies.totalAcademies || 0, + unit: "", + icon: , + bgColor: "bg-teal-100", + textColor: "text-teal-600", + iconBg: "bg-teal-500" + }, + // { + // title: "میانگین امتیاز", + // value: stats.academies.avgRate?.toFixed(1) || 0, + // unit: "از 5", + // icon: , + // bgColor: "bg-yellow-100", + // textColor: "text-yellow-600", + // iconBg: "bg-yellow-500" + // } + ]; + + const getStatusBadge = (status) => { + const badges = { + pending: "bg-yellow-100 text-yellow-700", + accept: "bg-green-100 text-green-700", + success: "bg-blue-100 text-blue-700", + settled: "bg-purple-100 text-purple-700", + }; + const texts = { + pending: "در انتظار", + accept: "تایید شده", + success: "موفق", + settled: "تسویه شده", + }; + return ( + + {texts[status] || status} + + ); + }; + + console.log(stats); + + + if (loading) { + return ( + +
+
+
+
+ ); + } + + return ( + +
+
+

داشبورد مدیریتی

+

خلاصه وضعیت سیستم

+
+ + {/* Stat Cards */} +
+ {statCards.map((card, index) => ( +
+
+
+

{card.title}

+

+ {card.value} + {card.unit && {card.unit}} +

+ {card.subValue && ( +

{card.subValue}

+ )} +
+
+
{card.icon}
+
+
+
+ ))} +
+ + {/* Recent Payments & Courses */} +
+ {/* آخرین پرداخت‌ها */} +
+
+

آخرین پرداخت‌ها

+ + مشاهده همه + +
+
+ {recentPayments.length === 0 ? ( +
+ + هیچ پرداختی یافت نشد +
+ ) : ( +
+ {recentPayments.map((payment) => ( +
+
+

{payment.course_id?.cuorse_name || "-"}

+

{payment.user_id?.user_name}

+
+
+

{payment.price?.toLocaleString()} تومان

+ {getStatusBadge(payment.status)} +
+
+ ))} +
+ )} +
+
+ + {/* آخرین دوره‌ها */} +
+
+

آخرین دوره‌ها

+ + مشاهده همه + +
+
+ {recentCourses.length === 0 ? ( +
+ + هیچ دوره‌ای یافت نشد +
+ ) : ( +
+ {recentCourses.map((course) => ( +
+
+

{course.cuorse_name}

+

{course.teacher_name}

+
+
+

{parseInt(course.price).toLocaleString()} تومان

+ {getStatusBadge(course.status)} +
+
+ ))} +
+ )} +
+
+
+
+
+ ); +}; + +export default Dashboard; \ No newline at end of file diff --git a/src/pages/comments/CommentDetail.jsx b/src/pages/comments/CommentDetail.jsx new file mode 100644 index 0000000..00407a9 --- /dev/null +++ b/src/pages/comments/CommentDetail.jsx @@ -0,0 +1,286 @@ +import React, { useEffect, useState } from 'react' +import { useNavigate, useParams } from 'react-router-dom'; +import { BaseUrl } from '../../components/BaseUrl'; +import axios from 'axios'; +import AdminHeader from '../../components/admin-header'; +import Sidebar from '../../components/sidebar'; +import Loading from '../../components/elements/loading'; +import toast from 'react-hot-toast'; + +const CommentDetail = () => { + const navigate = useNavigate(); + const param = useParams(); + const id = param?.id; + const [loading, setLoading] = useState(false); + const [commentDetails, setCommentDetails] = useState([]); + const [commentStatus, setCommentStatus] = useState(''); + const [editingComment, setEditingComment] = useState(false); + const [newComment, setNewComment] = useState(''); + const getCommentDetails = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/comments/detail?comment_id=${id}`, + method: "GET", + }; + axios(config) + .then((res) => { + setCommentDetails(res?.data?.comment); + setLoading(false); + setNewComment(res?.data?.comment?.comment) + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getCommentDetails(); + }, [id]); + + const acceptComment = () => { + const data = { + id: commentDetails?._id, + status: "accepted", + text: newComment + }; + axios + .post(`${BaseUrl}/comments/accept`, data, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + try { + toast.success(response?.data?.message) + getCommentDetails() + } catch (error) { + if ( + error?.response?.data?.error + ) { + toast.error(error.response.data.error); + } else { + // نمایش پیام خطا برای سایر موارد + toast.error("خطای ناشناخته"); + } + } + }) + .catch((error) => { + console.error(error); + toast.show(error?.response?.data?.message, { + type: "danger", + placement: "top", + duration: 4000, + offset: 30, + animationType: "slide-in", + }); + }); + }; + + const rejectComment = () => { + const data = { + id: commentDetails?._id, + status: "rejected" + }; + axios + .post(`${BaseUrl}/comments/accept`, data, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + try { + toast.success(response?.data?.message) + getCommentDetails() + } catch (error) { + if ( + error?.response?.data?.error + ) { + toast.error(error.response.data.error); + } else { + // نمایش پیام خطا برای سایر موارد + toast.error("خطای ناشناخته"); + } + } + }) + .catch((error) => { + console.error(error); + toast.show(error?.response?.data?.message, { + type: "danger", + placement: "top", + duration: 4000, + offset: 30, + animationType: "slide-in", + }); + }); + }; + + const handleEditComment = () => { + // ارسال درخواست برای ویرایش کامنت به سرور + // سپس بروزرسانی متغیر مربوط به متن کامنت + setEditingComment(true); + }; + return (<> + {loading && } + {!loading && commentDetails && ( + <> + +
+
+
+
+
+

+ اطلاعات کامنت: +

+ +
+
+
+
+ عنوان پروژه: +
+
+ {commentDetails?.project} +
+
+
+
+ نام کاربری سازنده: +
+
+ {commentDetails?.creator?.user_name} +
+
+
+
+ نام و نام خانوادگی سازنده: +
+
+ {commentDetails?.creator?.first_name} {commentDetails?.creator?.last_name} +
+
+
+
+ نام کاربری کاربر: +
+
+ {commentDetails?.user?.user_name} +
+
+
+
+ نام و نام خانوادگی کاربر: +
+
+ {commentDetails?.user?.first_name} {commentDetails?.user?.last_name} +
+
+
+
+ تاریخ ثبت کامنت: +
+
+ {commentDetails?.createdAt} +
+
+
+
+ تعداد ستاره: +
+
+ {commentDetails?.rating} +
+
+
+
+ متن کامنت: +
+
+ {commentDetails?.comment} +
+
+
+
+ وضعیت: +
+
+ {commentDetails?.status + === "pending" ? + "در انتظار تایید" : + commentDetails?.status == "accepted" ? + "تایید شده" : + "رد شده" + } +
+
+
+
+ {!editingComment ? ( + <> + + + + + ) : ( + <> +
+ + +
+ + +
+
+
+
+
+ دلیل رد پروژه: +
+
+ {projectDetails?.reject_reason} +
+
+
+
+ کاربران پیشنهاد دهنده : +
+
+
+
+
+

+ نام و نام خانوادگی +

+
+
+

+ نام کاربری +

+
+
+

+ قیمت پینهادی +

+
+
+

+ زمان پیشنهادی +

+
+
+
+ {projectDetails?.requested_users?.map( + (user, index) => ( +
+
+
+
+ +

+ { + user?.first_name + }{" "} + { + user?.last_name + } +

+
+
+
+

+ { + user?.user_name + } +

+
+
+

+ {Number( + user?.price + ).toLocaleString()} +

+
+
+

+ { + user?.time + } +

+
+ +
+

+ +

+
+
+
+ ) + )} +
+
+
+
+ + )} + + + + + ); +}; + +export default ProjectDetail; diff --git a/src/pages/projects/Projects.jsx b/src/pages/projects/Projects.jsx new file mode 100644 index 0000000..4fe6029 --- /dev/null +++ b/src/pages/projects/Projects.jsx @@ -0,0 +1,161 @@ +import React, { useEffect, useState, useMemo } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import { useNavigate } from "react-router-dom"; +import { BaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import Loading from "../../components/elements/loading"; +import toast from "react-hot-toast"; +import Pagination from "../../components/Pagination"; +import Filters from "../../components/Filters"; + +const statusMap = { + all: { label: "همه", class: "text-yellow-300" }, + pre_payment: { label: "پرداخت نشده", class: "text-yellow-300" }, + paid: { label: "در دست بررسی", class: "text-yellow-300" }, + accepted: { label: "منتشر شده", class: "text-green-300" }, + ongoing: { label: "در دست اقدام", class: "text-green-300" }, + done: { label: "انجام شده", class: "text-green-300" }, + rejected: { label: "رد شده", class: "text-red-300" }, + cancled: { label: "کنسل شده", class: "text-red-300" }, +}; + +const Projects = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [projectsList, setProjectsList] = useState([]); + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + const [filters, setFilters] = useState({ startDate: "", endDate: "", status: "" }); + + const getProjectList = async (page = 1) => { + try { + setLoading(true); + const { startDate, endDate, status } = filters; + const res = await axios.get( + `${BaseUrl}/projects?limit=20&page=${page}${startDate ? "&startDate=" + startDate : "" + }${endDate ? "&endDate=" + endDate : ""}${status ? "&status=" + status : ""}` + ); + setProjectsList(res?.data?.projects || []); + setTotalPages(res?.data?.totalPages || 0); + } catch (err) { + toast.error("خطا در دریافت لیست پروژه‌ها"); + } finally { + setLoading(false); + } + }; + + useEffect(() => { + getProjectList(currentPage); + }, [currentPage, filters]); + + const toggleProjectStatus = async (project) => { + try { + const newStatus = project.status === "accepted" ? "rejected" : "accepted"; + await axios.post(`${BaseUrl}/projects/accept`, { + id: project._id, + user_id: project?.selected_user?._id, + status: newStatus, + }); + toast.success(`پروژه ${newStatus === "accepted" ? "تأیید" : "رد"} شد`); + getProjectList(currentPage); + } catch (error) { + toast.error(error?.response?.data?.message || "خطا در تغییر وضعیت"); + } + }; + + return ( + <> + +
+
+
+ {/* فیلترها */} + ({ + key, + label: val.label, + }))} + provinceOptions={[{ value: "", label: "همه استان‌ها" }]} + cityOptions={[{ value: "", label: "همه شهرها" }]} + photographyModelOptions={[{ value: "", label: "همه مدل‌ها" }]} + blockStatusOptions={[{ value: "", label: "همه کاربران" }]} + onFilterChange={setFilters} + /> + + {/* هدر جدول */} +
+ {[ + "عنوان پروژه", + "کارفرما", + "کاربر", + "تخصص", + "زمان پیشنهادی", + "زمان نهایی", + "قیمت پیشنهادی", + "قیمت نهایی", + "تاریخ ثبت", + "وضعیت", + "عملیات", + ].map((title, idx) => ( +
{title}
+ ))} +
+ + {/* لیست پروژه‌ها */} + {loading ? ( +
+ +
+ ) : ( +
+ {projectsList.map((project, index) => { + const statusInfo = statusMap[project?.status] || { label: "-", class: "text-gray-300" }; + return ( +
+
{project?.title}
+
{project?.creator?.first_name} {project?.creator?.last_name}
+
{project?.selected_user?.first_name} {project?.selected_user?.last_name}
+
{project?.expertise}
+
{project?.offer_time}
+
{project?.final_time}
+
{Number(project?.offer_price).toLocaleString()}
+
{Number(project?.final_price).toLocaleString()}
+
{new Date(project?.createdAt).toLocaleDateString("fa-IR")}
+
{statusInfo.label}
+
+ + +
+
+ ); + })} +
+ )} + + {/* صفحه‌بندی */} + setCurrentPage(page)} + /> +
+
+ + ); +}; + +export default Projects; diff --git a/src/pages/purchased/purchased.jsx b/src/pages/purchased/purchased.jsx new file mode 100644 index 0000000..b0d2108 --- /dev/null +++ b/src/pages/purchased/purchased.jsx @@ -0,0 +1,307 @@ +// src/pages/Purchased.js +import React, { useState, useEffect, useCallback } from "react"; +import toast from "react-hot-toast"; +import { getPurchasedCourses, getPurchasedStats } from "../../components/adminApi"; // اصلاح مسیر +import Layout from "../../components/academy/Layout"; +import { FaSearch, FaUser, FaBook, FaCalendar, FaEye, FaTimes } from "react-icons/fa"; + +const Purchased = () => { + const [purchases, setPurchases] = useState([]); + const [stats, setStats] = useState(null); + const [loading, setLoading] = useState(true); + const [page, setPage] = useState(1); + const [totalPages, setTotalPages] = useState(1); + const [search, setSearch] = useState(""); + const [searchInput, setSearchInput] = useState(""); + const [selectedPurchase, setSelectedPurchase] = useState(null); + const [showModal, setShowModal] = useState(false); + + const fetchPurchases = useCallback(async () => { + setLoading(true); + try { + const response = await getPurchasedCourses({ page, limit: 15, search }); + console.log("Purchased response:", response.data); + + if (response.data.success) { + const responseData = response.data.data; + setPurchases(responseData?.purchases || []); + setStats(responseData?.stats || null); + setTotalPages(responseData?.pagination?.totalPages || 1); + } else { + toast.error(response.data.message || "خطا در دریافت اطلاعات"); + } + } catch (error) { + console.error("Error fetching purchases:", error); + toast.error("خطا در دریافت اطلاعات"); + } finally { + setLoading(false); + } + }, [page, search]); + + const fetchStats = async () => { + try { + const response = await getPurchasedStats(); + console.log("Stats response:", response.data); + + if (response.data.success) { + setStats(response.data.data); + } + } catch (error) { + console.error("Error fetching stats:", error); + } + }; + + useEffect(() => { + fetchPurchases(); + fetchStats(); + }, [fetchPurchases]); + + const handleSearch = (e) => { + e.preventDefault(); + setSearch(searchInput); + setPage(1); + }; + + const handleClearSearch = () => { + setSearchInput(""); + setSearch(""); + setPage(1); + }; + + const getImageUrl = (imagePath) => { + if (!imagePath) return null; + if (imagePath.startsWith("http")) return imagePath; + // اگر نیاز به BASE_URL داری، اینجا اضافه کن + return imagePath; + }; + + if (loading && page === 1) { + return ( + +
+
+
+
+ ); + } + + return ( + +
+
+

دوره‌های خریداری شده

+

لیست تمام دوره‌هایی که کاربران خریداری کرده‌اند

+
+ + {/* Stats */} + {stats && ( +
+
+
+
+

تعداد کل خریدها

+

{stats.totalPurchases?.toLocaleString() || 0}

+
+ +
+
+
+
+
+

کاربران خریدار

+

{stats.uniqueUsers?.toLocaleString() || 0}

+
+ +
+
+
+ )} + + {/* Search */} +
+
+ setSearchInput(e.target.value)} + className="w-full px-4 py-3 pl-12 pr-4 border rounded-xl focus:outline-none focus:ring-2 focus:ring-pink-500" + /> + + {searchInput && ( + + )} +
+
+ + {/* Search result info */} + {search && ( +
+ نتایج جستجو برای: {search} + +
+ )} + + {/* Purchases List */} +
+ {purchases.length === 0 && !loading ? ( +
+ +

هیچ خریدی یافت نشد

+ {search && ( + + )} +
+ ) : ( + purchases.map((purchase) => ( +
+
+
+
+
+ {purchase.course_id?.course_image ? ( + {purchase.course_id?.cuorse_name} + ) : ( + + )} +
+
+

{purchase.course_id?.cuorse_name || "نامشخص"}

+

مدرس: {purchase.course_id?.teacher_name || "نامشخص"}

+
+ + + {purchase.user_id?.user_name || "کاربر ناشناس"} + + + + {new Date(purchase.createdAt).toLocaleDateString("fa-IR")} + +
+
+
+
+
+
+ {parseInt(purchase.course_id?.price || 0).toLocaleString()} تومان +
+ +
+
+
+ )) + )} +
+ + {/* Pagination */} + {totalPages > 1 && ( +
+ + + صفحه {page} از {totalPages} + + +
+ )} + + {/* Modal */} + {showModal && selectedPurchase && ( +
+
+
+

جزئیات خرید

+ +
+
+
+ کاربر: + {selectedPurchase.user_id?.user_name || "-"} +
+ {/*
+ ایمیل: + {selectedPurchase.user_id?.email || "-"} +
*/} +
+ دوره: + {selectedPurchase.course_id?.cuorse_name || "-"} +
+
+ مدرس: + {selectedPurchase.course_id?.teacher_name || "-"} +
+
+ تاریخ خرید: + {new Date(selectedPurchase.createdAt).toLocaleDateString("fa-IR")} +
+ {selectedPurchase.payment_ref_id && ( +
+ کد پیگیری: + {selectedPurchase.payment_ref_id} +
+ )} +
+
+ +
+
+
+ )} +
+
+ ); +}; + +export default Purchased; \ No newline at end of file diff --git a/src/pages/settings/settings.jsx b/src/pages/settings/settings.jsx new file mode 100644 index 0000000..4640fcd --- /dev/null +++ b/src/pages/settings/settings.jsx @@ -0,0 +1,281 @@ +// src/pages/Settings.js +import React, { useState, useEffect } from "react"; +import toast from "react-hot-toast"; +import { getAllSettings, updateAllSettings } from "../../components/adminApi"; +import Layout from "../../components/academy/Layout"; +import { FaSave, FaPercent, FaGem, FaSpinner, FaExclamationTriangle } from "react-icons/fa"; + +const Settings = () => { + const [settings, setSettings] = useState({ + tax: 8, + proPrice: "60000", + legendPrice: "199000", + }); + const [loading, setLoading] = useState(true); + const [saving, setSaving] = useState(false); + const [errors, setErrors] = useState({}); + + const fetchSettings = async () => { + setLoading(true); + try { + const response = await getAllSettings(); + console.log("Settings response:", response.data); + + if (response.data.success) { + setSettings({ + tax: response.data.data.tax || 8, + proPrice: response.data.data.prices?.pro || "60000", + legendPrice: response.data.data.prices?.legend || "199000", + }); + } else { + toast.error(response.data.message || "خطا در دریافت تنظیمات"); + } + } catch (error) { + console.error("Error fetching settings:", error); + toast.error("خطا در دریافت تنظیمات"); + } finally { + setLoading(false); + } + }; + + useEffect(() => { + fetchSettings(); + }, []); + + const validateSettings = () => { + const newErrors = {}; + + // اعتبارسنجی مالیات + const taxNum = parseFloat(settings.tax); + if (isNaN(taxNum)) { + newErrors.tax = "مقدار مالیات باید عدد باشد"; + } else if (taxNum < 0) { + newErrors.tax = "مالیات نمی‌تواند منفی باشد"; + } else if (taxNum > 100) { + newErrors.tax = "مالیات نمی‌تواند بیشتر از 100 درصد باشد"; + } + + // اعتبارسنجی قیمت پرو + const proPriceNum = parseInt(settings.proPrice); + if (isNaN(proPriceNum)) { + newErrors.proPrice = "قیمت پرو باید عدد باشد"; + } else if (proPriceNum < 0) { + newErrors.proPrice = "قیمت نمی‌تواند منفی باشد"; + } + + // اعتبارسنجی قیمت لجند + const legendPriceNum = parseInt(settings.legendPrice); + if (isNaN(legendPriceNum)) { + newErrors.legendPrice = "قیمت لجند باید عدد باشد"; + } else if (legendPriceNum < 0) { + newErrors.legendPrice = "قیمت نمی‌تواند منفی باشد"; + } + + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleChange = (e) => { + const { name, value } = e.target; + setSettings({ + ...settings, + [name]: value, + }); + // پاک کردن خطای مربوط به این فیلد + if (errors[name]) { + setErrors({ ...errors, [name]: "" }); + } + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + + // اعتبارسنجی + if (!validateSettings()) { + toast.error("لطفاً مقادیر را به درستی وارد کنید"); + return; + } + + setSaving(true); + try { + const response = await updateAllSettings({ + tax: parseFloat(settings.tax), + proPrice: parseInt(settings.proPrice) || 0, + legendPrice: parseInt(settings.legendPrice) || 0, + }); + + console.log("Save response:", response.data); + + if (response.data.success) { + toast.success("تنظیمات با موفقیت ذخیره شد"); + fetchSettings(); // رفرش کردن مقادیر از سرور + } else { + toast.error(response.data.message || "خطا در ذخیره تنظیمات"); + } + } catch (error) { + console.error("Error saving settings:", error); + toast.error(error.response?.data?.message || "خطا در ذخیره تنظیمات"); + } finally { + setSaving(false); + } + }; + + if (loading) { + return ( + +
+
+
+
+ ); + } + + return ( + +
+
+

تنظیمات سیستم

+

مدیریت مالیات و قیمت دوره‌های ویژه

+
+ +
+ {/* درصد مالیات */} +
+
+
+ +
+

درصد مالیات (تکس)

+
+
+
+ + {errors.tax && ( +

+ + {errors.tax} +

+ )} +
+ درصد +
+

+ این درصد به مبلغ هر فروش اضافه خواهد شد (محدوده: 0 تا 100) +

+
+ + {/* قیمت دوره‌های ویژه */} +
+
+
+ +
+

قیمت دوره‌های ویژه

+
+
+
+ دوره پرو: +
+ + {errors.proPrice && ( +

+ + {errors.proPrice} +

+ )} +
+ تومان +
+
+ دوره لجند: +
+ + {errors.legendPrice && ( +

+ + {errors.legendPrice} +

+ )} +
+ تومان +
+
+

+ قیمت دوره معمولی از قیمت تعیین شده توسط آکادمی محاسبه می‌شود +

+
+ + {/* دکمه ذخیره */} +
+ + +
+
+ + {/* توضیحات پایین صفحه */} +
+

ℹ️ نکات مهم:

+
    +
  • تغییر مالیات بر روی تمام فروش‌های جدید تأثیر می‌گذارد
  • +
  • قیمت دوره‌های پرو و لجند برای ساخت دوره‌های جدید اعمال می‌شود
  • +
  • دوره‌های موجود با قیمت قبلی خود باقی می‌مانند
  • +
+
+
+
+ ); +}; + +export default Settings; \ No newline at end of file diff --git a/src/pages/shops/ShopDetail.jsx b/src/pages/shops/ShopDetail.jsx new file mode 100644 index 0000000..bacb31a --- /dev/null +++ b/src/pages/shops/ShopDetail.jsx @@ -0,0 +1,106 @@ +import React, { useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import Loading from "../../components/elements/loading"; +import { BaseUrl, ImageBaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import { useNavigate, useParams } from "react-router-dom"; +import ShopDet from "../../components/shops/ShopDet"; + +const ShopDetail = () => { + const navigate = useNavigate(); + const param = useParams(); + const id = param?.id; + const [loading, setLoading] = useState(false); + const [section, setSection] = useState(0); + const sectionTitles = [ + "جزئیات", + // "تبلیغ ها", + ]; + const [shopDetails, setShopDetails] = useState([]); + const getUserDetails = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/shops/detail?profile_id=${id}`, + method: "GET", + }; + axios(config) + .then((res) => { + setShopDetails(res?.data?.shop); + setLoading(false); + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getUserDetails(); + }, [id]); + const sectionItems = [ + , + + ]; + return ( + <> + +
+
+
+
+
+

+ اطلاعات کاربر: +

+ +
+
+ {sectionTitles?.map((title, index) => ( + + ))} +
+ {loading ? ( +
+ +
+ ) : ( + sectionItems?.filter( + (item, index) => index == section + ) + )} +
+
+
+ + ); +}; + +export default ShopDetail; diff --git a/src/pages/shops/Shops.jsx b/src/pages/shops/Shops.jsx new file mode 100644 index 0000000..e236ee6 --- /dev/null +++ b/src/pages/shops/Shops.jsx @@ -0,0 +1,203 @@ +import React, { useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import Loading from "../../components/elements/loading"; +import { BaseUrl, ImageBaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import { useNavigate } from "react-router-dom"; +import Pagination from "../../components/Pagination"; + +const Shops = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [shopsList, setShopList] = useState([]); + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + const getUserList = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/shops?limit=20&page=${page}`, + method: "GET", + }; + axios(config) + .then((res) => { + setShopList(res?.data?.shops); + setTotalPages(res?.data?.totalPages); // دریافت تعداد صفحات از API + setLoading(false); + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getUserList(currentPage); + }, [currentPage]); + return ( + <> + +
+
+
+
+
+
+
+

+ نام و نام خانوادگی کاربر +

+
+
+

+ عنوان فروشگاه +

+
+
+

+ دسته بندی +

+
+
+

+ استان +

+
+
+

+ شهر +

+
+
+

+ محله +

+
+
+

+ تاریخ ایجاد فروشگاه +

+
+ {/*
+

+ وضعیت +

+
*/} +
+

+
+
+
+ {loading ? ( +
+ +
+ ) : ( +
+ {shopsList?.map((shop, index) => ( +
+
+
+
+ +

+ {shop?.first_name}{" "} + {shop?.last_name} +

+
+
+
+

+ {shop?.vitrine_name} +

+
+
+

+ {shop?.category} +

+
+
+

+ {shop?.province?.name} +

+
+
+

+ {shop?.city?.name} +

+
+
+

+ {shop?.neighbourhood} +

+
+
+

+ {shop?.createdAt} +

+
+ {/*
+
+

+ {shop?.blocked + ? "غیر فعال" + : "فعال"} +

+ {shop?.blocked ? ( + + ) : ( + + )} +
+
*/} +
+

+ +

+
+
+
+ ))} +
+ )} + + setCurrentPage(page)} // تغییر صفحه + /> +
+
+
+ + ); +}; + +export default Shops; diff --git a/src/pages/system-settings/SystemSettings.jsx b/src/pages/system-settings/SystemSettings.jsx new file mode 100644 index 0000000..a546030 --- /dev/null +++ b/src/pages/system-settings/SystemSettings.jsx @@ -0,0 +1,51 @@ +import React, { useState } from "react"; +import Sidebar from "../../components/sidebar"; +import CdnSettingsTab from "../../components/system-settings/CdnSettingsTab"; +import SslSettingsTab from "../../components/system-settings/SslSettingsTab"; +import TrafficSettingsTab from "../../components/system-settings/TrafficSettingsTab"; + +const sectionTitles = ["CDN", "SSL", "ترافیک"]; + +function SystemSettings() { + const [section, setSection] = useState(0); + + const sectionItems = [ + , + , + , + ]; + + return ( +
+
+
+ +
+
+

تنظیمات سیستم

+ +
+ {sectionTitles.map((title, index) => ( + + ))} +
+ +
{sectionItems[section]}
+
+
+
+ ); +} + +export default SystemSettings; diff --git a/src/pages/terms/TermsAndConditionsEditor.js b/src/pages/terms/TermsAndConditionsEditor.js new file mode 100644 index 0000000..87ee1af --- /dev/null +++ b/src/pages/terms/TermsAndConditionsEditor.js @@ -0,0 +1,107 @@ +import React, { useEffect, useState } from "react"; +import ReactQuill from "react-quill"; +import "react-quill/dist/quill.snow.css"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import axios from "axios"; +import { BaseUrl } from "../../components/BaseUrl"; +import toast from "react-hot-toast"; + +const TermsAndConditionsEditor = () => { + const [editorContent, setEditorContent] = useState(""); + + useEffect(() => { + // دریافت قوانین و مقررات موجود از سرور در بارگذاری اولیه + axios + .get(`${BaseUrl}/settings/terms-and-conditions`) + .then((response) => { + setEditorContent(response.data.value); + }) + .catch((error) => { + console.error("Error fetching terms and conditions:", error); + }); + }, []); + + const handleSave = () => { + axios + .put(`${BaseUrl}/settings/terms-and-conditions`, { value: editorContent }, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then((response) => { + toast.success(response?.data?.message) + // نمایش پیغام موفقیت (در صورت نیاز از toast یا هر کتابخانه مشابه دیگر استفاده کنید) + }) + .catch((error) => { + console.error("Error updating terms and conditions:", error); + // نمایش پیغام خطا (در صورت نیاز از toast یا هر کتابخانه مشابه دیگر استفاده کنید) + }); + }; + return ( + <> + +
+
+
+
+

ویرایشگر قوانین و مقررات

+ + +
+
+
+ + ); +}; + +TermsAndConditionsEditor.modules = { + toolbar: [ + [ + { header: "1" }, + { header: "2" }, + { header: "3" }, + { header: "4" }, + { header: "5" }, + { header: "6" }, + { font: [] }, + ], + [{ list: "ordered" }, { list: "bullet" }], + ["bold", "italic", "underline", "strike", "blockquote"], + [{ align: [] }], + [{ color: [] }, { background: [] }], + ["link"], + ["clean"], + ], +}; + +TermsAndConditionsEditor.formats = [ + "header", + "font", + "list", + "bullet", + "bold", + "italic", + "underline", + "strike", + "blockquote", + "align", + "color", + "background", + "link", +]; + +export default TermsAndConditionsEditor; diff --git a/src/pages/tickets/TicketDetail.jsx b/src/pages/tickets/TicketDetail.jsx new file mode 100644 index 0000000..93b6a5d --- /dev/null +++ b/src/pages/tickets/TicketDetail.jsx @@ -0,0 +1,176 @@ +import React, { useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import { useNavigate, useParams } from "react-router-dom"; +import { BaseUrl, ImageBaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import Loading from "../../components/elements/loading"; +import Modal from 'react-modal'; +const customStyles = { + content: { + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)', + position: "fixed", + }, +}; +const TicketDetail = () => { + const param = useParams(); + console.log(param); + const ticketId = param?.id; + const status = param?.status + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [messageList, setMessageList] = useState([]); + const [newMessage, setNewMessage] = useState(""); + const [modalIsOpen, setModalIsOpen] = useState(false); + const [modalImage, setModalImage] = useState(''); + + const openModal = (image) => { + setModalImage(image); + setModalIsOpen(true); + } + + const closeModal = () => { + setModalIsOpen(false); + } + const getMessageList = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/tickets/messages?ticketId=${ticketId}&page=${page}&limit=20`, + method: "GET", + }; + axios(config) + .then((res) => { + setMessageList(res?.data?.messages); + setLoading(false); + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getMessageList(); + }, []); + const handleSendMessage = () => { + if (!newMessage.trim()) return; + + const config = { + url: `${BaseUrl}/tickets/message`, + method: "POST", + data: { + ticketId, + text: newMessage, + }, + }; + axios(config) + .then((res) => { + setNewMessage(""); + getMessageList(); + }) + .catch((err) => { + console.error(err); + }); + }; + + const handleCloseTicket = () => { + const config = { + url: `${BaseUrl}/tickets/close`, + method: "POST", + data: { ticketId }, + }; + axios(config) + .then((res) => { + navigate(-1); + }) + .catch((err) => { + console.error(err); + }); + } + + return ( + <> + +
+ +
+

آیا مطمئنید میخواهید تیکت را ببندید ؟

+
+ + +
+
+
+
+ +
+ {loading ? ( + + ) : ( +
+ {messageList.map((message) => ( +
+
+ {message.senderType === "Admin" ? "Admin" : `${message.senderId?.first_name} ${message.senderId?.last_name}`} +
+
{message.createdAt}
+
{message.text}
+ {message.file && ( + + )} +
+ ))} +
+ )} +
+ + { + status && status == "Closed" && "تیکت بسته شده است" + } + + { + status !== "Closed" && + <> + + +
+ + + +
+ + } +
+
+
+
+ + ); +}; + +export default TicketDetail; diff --git a/src/pages/tickets/Tickets.jsx b/src/pages/tickets/Tickets.jsx new file mode 100644 index 0000000..098fee6 --- /dev/null +++ b/src/pages/tickets/Tickets.jsx @@ -0,0 +1,208 @@ +import React, { useCallback, useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import { useLocation, useNavigate } from "react-router-dom"; +import { BaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import Loading from "../../components/elements/loading"; +import Pagination from "../../components/Pagination"; +import Filters from "../../components/Filters"; + +const Tickets = () => { + const navigate = useNavigate(); + const location = useLocation(); // اضافه شد + const [loading, setLoading] = useState(false); + const [ticketList, setTicketList] = useState([]); + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + + const [filters, setFilters] = useState({ startDate: "", endDate: "", status: "" }); + + const getTicketList = useCallback((page = 1) => { + setLoading(true); + + // بررسی پارامتر URL + const urlParams = new URLSearchParams(location.search); + let statusParam = filters.status; + + if (urlParams.get("status") === "pending") { + statusParam = "Customer Response"; // فقط تیکت‌های در انتظار پاسخ + } + + const { startDate, endDate } = filters; + + const config = { + url: `${BaseUrl}/tickets?limit=20&page=${page}${ + startDate ? "&startDate=" + startDate : "" + }${endDate ? "&endDate=" + endDate : ""}${statusParam ? "&status=" + statusParam : ""}`, + method: "GET", + }; + + axios(config) + .then((res) => { + setTicketList(res?.data?.tickets || []); + setTotalPages(res?.data?.totalPages || 0); + }) + .catch(() => { + setTicketList([]); + }) + .finally(() => setLoading(false)); + }, [filters, location.search]); + + useEffect(() => { + getTicketList(currentPage); + }, [currentPage, filters, getTicketList]); + + return ( + <> + +
+
+
+
+ +
+
+
+

+ نام کاربری +

+
+
+

+ نوع کاربری +

+
+
+

+ نام و نام خانوادگی +

+
+
+

+ موبایل +

+
+
+

+ تاریخ ثبت تیکت +

+
+
+

+ وضعیت +

+
+
+

+
+
+
+ {loading ? ( +
+ +
+ ) : ( +
+ {ticketList?.map((ticket, index) => ( +
+
+
+

+ {ticket?.user?.user_name} +

+
+
+

+ {ticket?.user?.expertise} + +

+
+
+

+ {ticket?.user?.first_name}{" "}{ticket?.user?.last_name} +

+
+
+

+ {ticket?.user?.mobile} +

+
+
+
+

+ {ticket?.createdAt} +

+
+
+
+
+

+ {ticket?.status === "Pending" ? + "در انتظار پاسخ" : + ticket?.status === "Answered" ? + "پاسخ داده شده" : + ticket?.status === "Customer Response" ? + "پاسخ مشتری" : "بسته شده"} +

+
+
+
+

+ +

+
+
+
+ ))} +
+ )} + setCurrentPage(page)} // تغییر صفحه + /> +
+
+
+ + ); +}; + +export default Tickets; diff --git a/src/pages/users/UserDetail.jsx b/src/pages/users/UserDetail.jsx new file mode 100644 index 0000000..2d45e9f --- /dev/null +++ b/src/pages/users/UserDetail.jsx @@ -0,0 +1,122 @@ +import React, { useEffect, useState } from "react"; +import AdminHeader from "../../components/admin-header"; +import Sidebar from "../../components/sidebar"; +import Loading from "../../components/elements/loading"; +import { BaseUrl, ImageBaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import { useNavigate, useParams } from "react-router-dom"; +import UserPosts from "../../components/users/UserPosts"; +import UserDet from "../../components/users/UserDet"; +import UserWorkroom from "../../components/users/UserWorkroom"; +import UserComments from "../../components/users/UserComments"; +import UserMessages from "../../components/users/UserMessages"; +import UserFinancial from "../../components/users/UserFinancial"; +import UserChangePassword from "../../components/users/UserChangePassword"; + +const UserDetail = () => { + const navigate = useNavigate(); + const param = useParams(); + const id = param?.id; + const [loading, setLoading] = useState(false); + const [section, setSection] = useState(0); + const sectionTitles = [ + "جزئیات", + "پستها", + "درخواستها", + "نظرات", + "پیامها", + "مالی", + "تغییر رمز عبور", + ]; + const [userDetails, setUsersDetails] = useState([]); + const getUserDetails = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/users/detail?user_id=${id}`, + method: "GET", + }; + axios(config) + .then((res) => { + setUsersDetails(res?.data?.user); + setLoading(false); + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getUserDetails(); + }, [id]); + const sectionItems = [ + , + , + , + , + , + , + , + ]; + return ( + <> + +
+
+
+
+
+

+ اطلاعات کاربر: +

+ +
+
+ {sectionTitles?.map((title, index) => ( + + ))} +
+ {loading ? ( +
+ +
+ ) : ( + sectionItems?.filter( + (item, index) => index == section + ) + )} +
+
+
+ + ); +}; + +export default UserDetail; diff --git a/src/pages/users/Users.jsx b/src/pages/users/Users.jsx new file mode 100644 index 0000000..ec6c09f --- /dev/null +++ b/src/pages/users/Users.jsx @@ -0,0 +1,438 @@ +import React, { useEffect, useState } from "react"; +import Sidebar from "../../components/sidebar"; +import Loading from "../../components/elements/loading"; +import { BaseUrl, ImageBaseUrl } from "../../components/BaseUrl"; +import axios from "axios"; +import { useNavigate, useSearchParams } from "react-router-dom"; +import Pagination from "../../components/Pagination"; +import Filters from "../../components/Filters"; +import { FaCheck, FaTimes, FaInfoCircle, FaMoon, FaSun } from "react-icons/fa"; + +// تابع کمکی برای تبدیل تاریخ شمسی به فرمت قابل مقایسه +const parsePersianDate = (dateStr) => { + if (!dateStr) return null; + const [year, month, day] = dateStr.split(" ")[0].split("-").map(Number); + // تبدیل تاریخ شمسی به میلادی برای مقایسه (تقریبی) + const gregorianYear = year - 621; // تقریبی: 1404 شمسی ≈ 2025 میلادی + return new Date(gregorianYear, month - 1, day); +}; + +// تابع فرمت تاریخ شمسی برای نمایش +const formatPersianDate = (dateStr) => { + if (!dateStr) return "-"; + return dateStr.split(" ")[0]; // فقط تاریخ (مثل 1404-07-04) +}; + +// کامپوننت اصلی صفحه کاربران +const Users = () => { + const navigate = useNavigate(); + const [loading, setLoading] = useState(false); + const [allUsers, setAllUsers] = useState([]); // ذخیره همه کاربران + const [filteredUsers, setFilteredUsers] = useState([]); // کاربران فیلترشده + const [totalPages, setTotalPages] = useState(0); + const [currentPage, setCurrentPage] = useState(1); + const [error, setError] = useState(""); // حالت خطا + const [filters, setFilters] = useState({ + startDate: "", + endDate: "", + status: "", + province: "", + city: "", + photographyModel: "", + blockStatus: "", + }); + const [searchQuery, setSearchQuery] = useState(""); + const [darkMode, setDarkMode] = useState(false); + + // لیست‌های دینامیک برای فیلترها + const [provinces, setProvinces] = useState([{ value: "", label: "همه استان‌ها" }]); + const [cities, setCities] = useState({ "": [{ value: "", label: "همه شهرها" }] }); + const [photographyModels, setPhotographyModels] = useState([{ value: "", label: "همه مدل‌ها" }]); + + const itemsPerPage = 20; + + const blockStatusOptions = [ + { value: "", label: "همه وضعیت‌ها" }, + { value: "active", label: "فعال" }, + { value: "inactive", label: "غیرفعال" }, + ]; + + const statusOptions = [ + { key: "", label: "همه وضعیت‌ها" }, + { key: "none", label: "بدون مدارک" }, + { key: "pending", label: "در انتظار تایید" }, + { key: "verified", label: "تایید شده" }, + { key: "rejected", label: "رد شده" }, + ]; + + // تابع استخراج لیست‌های فیلتر از کاربران + const extractFilterOptions = (users) => { + // استخراج استان‌ها + const provinceSet = new Map(); + users.forEach((user) => { + if (user.province?.id && user.province?.name && !provinceSet.has(String(user.province.id))) { + provinceSet.set(String(user.province.id), user.province.name); + } + }); + const provinceList = [ + { value: "", label: "همه استان‌ها" }, + ...Array.from(provinceSet, ([value, label]) => ({ value, label })) + .sort((a, b) => a.label.localeCompare(b.label)), // مرتب‌سازی الفبایی + ]; + setProvinces(provinceList); + console.log("استان‌های استخراج‌شده:", provinceList); + + // استخراج شهرها بر اساس استان + const cityMap = {}; + users.forEach((user) => { + const provId = String(user.province?.id || ""); + if (!cityMap[provId]) cityMap[provId] = new Map(); + if (user.city?.id && user.city?.name && !cityMap[provId].has(String(user.city.id))) { + cityMap[provId].set(String(user.city.id), user.city.name); + } + }); + const cityObj = { "": [{ value: "", label: "همه شهرها" }] }; + Object.keys(cityMap).forEach((provId) => { + cityObj[provId] = [ + { value: "", label: "همه شهرها" }, + ...Array.from(cityMap[provId], ([value, label]) => ({ value, label })) + .sort((a, b) => a.label.localeCompare(b.label)), // مرتب‌سازی الفبایی + ]; + }); + setCities(cityObj); + console.log("شهرهای استخراج‌شده:", cityObj); + + // استخراج مدل‌های عکاسی + const modelSet = new Set(); + users.forEach((user) => { + if (user.sub_expertise) { + user.sub_expertise.forEach((model) => modelSet.add(model)); + } + }); + const modelList = [ + { value: "", label: "همه مدل‌ها" }, + ...Array.from(modelSet, (value) => ({ value, label: value })) + .sort((a, b) => a.label.localeCompare(b.label)), // مرتب‌سازی الفبایی + ]; + setPhotographyModels(modelList); + console.log("مدل‌های عکاسی استخراج‌شده:", modelList); + }; + + // تابع تغییر وضعیت کاربر (فعال/غیرفعال) + const toggleUserStatus = async (userId, currentStatus) => { + try { + await axios.post( + `${BaseUrl}/users/update-status`, + { userId, block_status: !currentStatus }, + { + headers: { Authorization: `Bearer ${localStorage.getItem("token")}` }, + } + ); + // به‌روزرسانی حالت محلی + setAllUsers((prev) => + prev.map((u) => (u._id === userId ? { ...u, block_status: !currentStatus } : u)) + ); + } catch (err) { + console.error("خطا در تغییر وضعیت کاربر:", err); + setError("خطا در تغییر وضعیت کاربر. لطفاً دوباره تلاش کنید."); + } + }; + + // تابع تایید یا رد تصویر پروفایل + const handleApproveProfileImage = async (userId, approve) => { + try { + await axios.put( + `${BaseUrl}/users/update?userId=${userId}`, + { + approveProfileImage: approve, + ...(approve === false && { profile_image: "" }), + }, + { + headers: { Authorization: `Bearer ${localStorage.getItem("token")}` }, + } + ); + // به‌روزرسانی حالت محلی + setAllUsers((prev) => + prev.map((u) => (u._id === userId ? { ...u, profile_image: approve ? u.profile_image : "" } : u)) + ); + } catch (err) { + console.error("خطا در تایید/رد تصویر پروفایل:", err); + setError("خطا در تایید/رد تصویر پروفایل. لطفاً دوباره تلاش کنید."); + } + }; + + // تابع دریافت کاربران از API + const fetchUsers = () => { + setLoading(true); + setError(""); + const url = `${BaseUrl}/users?limit=1000`; // دریافت تعداد زیادی کاربر + console.log("درخواست API:", url); + + axios + .get(url, { + headers: { Authorization: `Bearer ${localStorage.getItem("token")}` }, + }) + .then((res) => { + if (res?.data?.users) { + console.log("داده‌های کاربران:", res.data.users); + setAllUsers(res.data.users); + extractFilterOptions(res.data.users); // استخراج گزینه‌های فیلتر + } else { + setAllUsers([]); + setError("داده‌ای از سرور دریافت نشد."); + } + setLoading(false); + }) + .catch((err) => { + console.error("خطا در دریافت کاربران:", err); + setError("خطا در دریافت لیست کاربران. لطفاً دوباره تلاش کنید."); + setLoading(false); + }); + }; + + // تابع اعمال فیلترهای محلی + const applyFilters = () => { + let result = [...allUsers]; + + // فیلتر جستجو + if (searchQuery) { + const query = searchQuery.toLowerCase(); + result = result.filter( + (user) => + user.first_name?.toLowerCase().includes(query) || + user.last_name?.toLowerCase().includes(query) || + user.user_name?.toLowerCase().includes(query) || + user.mobile?.toLowerCase().includes(query) + ); + } + + // فیلتر وضعیت مدارک + if (filters.status) { + result = result.filter((user) => user.is_verified === filters.status); + } + + + if (statusParam === "pending") { + result = result.filter((user) => user.is_verified === "pending"); + } + + // فیلتر استان + if (filters.province) { + result = result.filter((user) => String(user.province?.id) === filters.province); + } + if (filters.city) { + result = result.filter((user) => String(user.city?.id) === filters.city); + } + if (filters.photographyModel) { + result = result.filter((user) => user.sub_expertise?.includes(filters.photographyModel)); + } + if (filters.blockStatus) { + const isActive = filters.blockStatus === "active"; + result = result.filter((user) => user.block_status === !isActive); + } + + // فیلتر تاریخ + if (filters.startDate) { + const start = parsePersianDate(filters.startDate); + result = result.filter((user) => { + const userDate = parsePersianDate(user.createdAt); + return userDate && start && userDate >= start; + }); + } + if (filters.endDate) { + const end = parsePersianDate(filters.endDate); + result = result.filter((user) => { + const userDate = parsePersianDate(user.createdAt); + return userDate && end && userDate <= end; + }); + } + + // لاگ برای دیباگ + console.log("کاربران فیلترشده:", result); + + // به‌روزرسانی صفحه‌بندی و کاربران نمایش‌داده‌شده + setTotalPages(Math.ceil(result.length / itemsPerPage)); + const startIndex = (currentPage - 1) * itemsPerPage; + setFilteredUsers(result.slice(startIndex, startIndex + itemsPerPage)); + }; + + // بارگذاری کاربران هنگام بارگذاری صفحه + useEffect(() => { + fetchUsers(); + }, []); + + // اعمال فیلترها هنگام تغییر + useEffect(() => { + applyFilters(); + }, [allUsers, filters, searchQuery, currentPage]); + + // مدیریت تغییر صفحه + const handlePageChange = (page) => setCurrentPage(page); + + // تغییر حالت تاریک/روشن + const toggleDarkMode = () => { + setDarkMode(!darkMode); + }; + + const [searchParams] = useSearchParams(); +const statusParam = searchParams.get("status"); // مثلا "pending" + + return ( +
+
+ {/* سایدبار پاسخ‌گو */} +
+ +
+
+ + + {/* نمایش پیام خطا */} + {error && ( +
+ {error} +
+ )} + + {/* جستجو و فیلترها */} +
+ { + setSearchQuery(e.target.value); + setCurrentPage(1); + }} + /> + { + setFilters((prev) => ({ + ...prev, + ...newFilters, + city: newFilters.province !== prev.province ? "" : newFilters.city, // ریست شهر هنگام تغییر استان + })); + setCurrentPage(1); + }} + /> +
+ + {/* جدول کاربران */} +
+
+

نام و نام خانوادگی

+

نام کاربری

+

موبایل

+

تاریخ ثبت نام

+

وضعیت

+

عملیات

+
+ +
+ {loading ? ( +
+ +
+ ) : filteredUsers.length === 0 ? ( +
+ هیچ کاربری یافت نشد +
+ ) : ( + filteredUsers.map((user, index) => ( +
+
+ {`${user.first_name} (e.target.src = "/default-avatar.png")} + /> +

{user?.first_name} {user?.last_name}

+

+ {user?.first_name} {user?.last_name} +

+
+

{user?.user_name || "-"}

+

{user?.mobile || "-"}

+

{formatPersianDate(user?.createdAt)}

+
+ + {user?.block_status ? "غیرفعال" : "فعال"} + + +
+
+ + + +
+
+ )) + )} +
+
+ + +
+
+
+ ); +}; + +export default Users; \ No newline at end of file diff --git a/src/pages/version/Version.jsx b/src/pages/version/Version.jsx new file mode 100644 index 0000000..7455125 --- /dev/null +++ b/src/pages/version/Version.jsx @@ -0,0 +1,181 @@ +import React, { useEffect, useState } from 'react'; +import AdminHeader from '../../components/admin-header'; +import Sidebar from '../../components/sidebar'; +import axios from 'axios'; +import { BaseUrl } from '../../components/BaseUrl'; + +function Version() { + const [version, setVersion] = useState(null); // اطلاعات نسخه فعلی + const [loading, setLoading] = useState(false); // حالت بارگذاری + const [error, setError] = useState(null); // خطای احتمالی + const [formData, setFormData] = useState({ + version: '', + mandatory: false, + releaseNotes: '', + updateUrls: '', + }); // اطلاعات فرم + + // دریافت نسخه فعلی از سرور + useEffect(() => { + setLoading(true); + axios + .get(`${BaseUrl}/version`) + .then((response) => { + setVersion(response.data); + setFormData({ + version: response.data.version || '', + mandatory: response.data.mandatory || false, + releaseNotes: response.data.releaseNotes || '', + updateUrls: response.data.updateUrls ? response.data.updateUrls.join(', ') : '', + }); + setLoading(false); + }) + .catch((error) => { + setError('خطا در دریافت اطلاعات نسخه'); + setLoading(false); + }); + }, []); + + // مدیریت تغییرات فرم + const handleChange = (e) => { + const { name, value, type, checked } = e.target; + setFormData({ + ...formData, + [name]: type === 'checkbox' ? checked : value, + }); + }; + + // ارسال اطلاعات به سرور + const handleSubmit = (e) => { + e.preventDefault(); + setLoading(true); + setError(null); + + // تبدیل `updateUrls` به آرایه + const formattedData = { + ...formData, + updateUrls: formData.updateUrls.split(',').map((url) => url.trim()), + }; + + axios + .post(`${BaseUrl}/version`, formattedData) + .then((response) => { + setVersion(response.data.version); + setLoading(false); + alert('نسخه با موفقیت ذخیره شد.'); + }) + .catch((error) => { + setError('خطا در ذخیره اطلاعات نسخه'); + setLoading(false); + }); + }; + + return ( + <> + +
+
+
+
+

مدیریت ورژن برنامه

+ + {/* نمایش خطا */} + {error &&

{error}

} + + {/* حالت بارگذاری */} + {loading ? ( +
+

در حال بارگذاری...

+
+ ) : ( + <> + {/* نمایش اطلاعات نسخه */} + {version && ( +
+

نسخه فعلی:

+

ورژن: {version.version}

+

اجباری: {version.mandatory ? 'بله' : 'خیر'}

+

توضیحات: {version.releaseNotes}

+

لینک‌ها: {version.updateUrls.join(', ')}

+
+ )} + +
+ +

فرم ایجاد/ویرایش نسخه

+
+
+ + +
+ +
+ +
+ +
+ + +
+ +
+ + +
+ + +
+ + )} +
+
+
+ + ); +} + +export default Version; diff --git a/src/pages/vitrine/VitrineDetail.jsx b/src/pages/vitrine/VitrineDetail.jsx new file mode 100644 index 0000000..a035e20 --- /dev/null +++ b/src/pages/vitrine/VitrineDetail.jsx @@ -0,0 +1,427 @@ +import React, { useEffect, useState } from 'react' +import { useNavigate, useParams } from 'react-router-dom'; +import { BaseUrl, ImageBaseUrl } from '../../components/BaseUrl'; +import axios from 'axios'; +import AdminHeader from '../../components/admin-header'; +import Sidebar from '../../components/sidebar'; +import Loading from '../../components/elements/loading'; +import toast from 'react-hot-toast'; +import Modal from 'react-modal'; +const customStyles = { + content: { + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)', + position: "fixed", + }, +}; +const VitrineDetail = () => { + const navigate = useNavigate(); + const param = useParams(); + const id = param?.id; + const [loading, setLoading] = useState(false); + const [vitrineDetails, setVitrineDetails] = useState([]); + const [editingVitrine, setEditingVitrine] = useState(false); + const [newVitrine, setNewVitrine] = useState(''); + const [rejectReason, setRejectReason] = useState("") + const [modalIsOpen, setModalIsOpen] = useState(false); + const [modalImage, setModalImage] = useState(''); + + const openModal = (image) => { + setModalImage(image); + setModalIsOpen(true); + } + const closeModal = () => { + setModalIsOpen(false); + } + const getVitrineDetails = (page = 1) => { + setLoading(true); + const config = { + url: `${BaseUrl}/advertising/detail?advertisingId=${id}`, + method: "GET", + }; + axios(config) + .then((res) => { + setVitrineDetails(res?.data?.advertising); + setLoading(false); + }) + .catch((err) => { + setLoading(false); + }); + }; + useEffect(() => { + getVitrineDetails(); + }, [id]); + + const acceptVitrine = () => { + const data = { + advertisingId: vitrineDetails?._id, + }; + axios + .post(`${BaseUrl}/advertising/accept`, data, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + try { + toast.success(response?.data?.message) + getVitrineDetails() + } catch (error) { + if ( + error?.response?.data?.error + ) { + toast.error(error.response.data.error); + } else { + // نمایش پیام خطا برای سایر موارد + toast.error("خطای ناشناخته"); + } + } + }) + .catch((error) => { + console.error(error); + toast.show(error?.response?.data?.message, { + type: "danger", + placement: "top", + duration: 4000, + offset: 30, + animationType: "slide-in", + }); + }); + }; + + const rejectVitrine = () => { + const data = { + advertisingId: vitrineDetails?._id, + rejectReason: rejectReason, + }; + axios + .post(`${BaseUrl}/advertising/reject`, data, { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + }) + .then(async (response) => { + try { + toast.success(response?.data?.message) + getVitrineDetails() + } catch (error) { + if ( + error?.response?.data?.error + ) { + toast.error(error.response.data.error); + } else { + // نمایش پیام خطا برای سایر موارد + toast.error("خطای ناشناخته"); + } + } + }) + .catch((error) => { + console.error(error); + toast.show(error?.response?.data?.message, { + type: "danger", + placement: "top", + duration: 4000, + offset: 30, + animationType: "slide-in", + }); + }); + }; + + const handleEditVitrine = () => { + // ارسال درخواست برای ویرایش ویترین به سرور + // سپس بروزرسانی متغیر مربوط به متن ویترین + setEditingVitrine(true); + }; + + + + const contactInfoArray = vitrineDetails?.contactInfo ? Object.keys(vitrineDetails.contactInfo).map(key => { + let title; + switch (key) { + case "phone": + title = "شماره ثابت"; + break; + case "mobile": + title = "شماره همراه"; + break; + case "telegramLink": + title = "لینک تلگرام"; + break; + case "whatsappNumber": + title = "شماره واتساپ"; + break; + case "instagramLink": + title = "لینک اینستاگرام"; + break; + case "saveInfoForNextAds": + title = "ذخیره اطلاعات برای آگهی‌های بعدی"; + break; + default: + title = key; + } + return { title, value: vitrineDetails.contactInfo[key] }; + }) : []; + + return (<> + {loading && } + {!loading && vitrineDetails && ( + <> + +
+ + {/* استفاده از ImageMagnify */} + Post + +
+
+
+
+

+ اطلاعات ویترین: +

+ +
+
+
+
+ عنوان ویترین: +
+
+ {vitrineDetails?.title} +
+
+
+
+ نام و نام خانوادگی سازنده: +
+
+ {vitrineDetails?.creator_id?.first_name} {vitrineDetails?.creator_id?.last_name} +
+
+
+
+ نام کاربری کاربر: +
+
+ {vitrineDetails?.creator_id?.user_name} +
+
+
+
+ دسته بندی +
+
+ {vitrineDetails?.category} +
+
+
+
+ استان +
+
+ {vitrineDetails?.province?.name} +
+
+
+
+ شهر +
+
+ {vitrineDetails?.city?.name} +
+
+
+
+ محله +
+
+ {vitrineDetails?.neighbourhood} +
+
+
+
+ لیست خدمات و کالا +
+
+
+ {vitrineDetails?.services && vitrineDetails?.services?.map(item => { + return (
+ { openModal(ImageBaseUrl + item?.image) }} + src={ImageBaseUrl + item?.image} className='w-[100px] h-[100px] rounded-sm' alt="" /> +

نام : {item?.title}

+

درصد تخفیف : {item?.discountPercentage}

+

قیمت اصلی : {item?.originalPrice}

+

قیمت تخفیف خورده : {item?.discountPrice}

+
) + })} +
+
+
+
+
+ لیست امکانات +
+
+
+ {vitrineDetails?.features && vitrineDetails?.features?.map(item => { + return (
+

{item?.title} :

+

{item?.value == true ? "دارد" : "ندارد"}

+
) + })} +
+
+
+
+
+ لیست تماس +
+
+
+ {contactInfoArray.map((item, index) => ( +
+

{item.title} :

+

{item.value}

+
+ ))} +
+
+
+
+
+ تصاویر +
+
+ {vitrineDetails?.images && vitrineDetails?.images?.map(item => { + return (
+ { openModal(ImageBaseUrl + item) }} + src={ImageBaseUrl + item} className='w-[100px] h-[100px] rounded-sm mx-4' alt="" /> +
) + })} +
+
+
+
+ توضیحات +
+
+ {vitrineDetails?.description} +
+
+
+
+ وضعیت: +
+
+

+ {vitrineDetails?.status + === "pre_payment" ? + "در انتظار پرداخت" : + vitrineDetails?.status == "paid" ? + "پرداخت شده" : vitrineDetails?.status == "accepted" ? + "تایید شده" : vitrineDetails?.status == "rejected" ? + "رد شده" : + "منقضی شده" + } +

+
+
+ {vitrineDetails?.reject_reason && + +
+
+ علت رد +
+
+ {vitrineDetails?.reject_reason} +
+
} +
+
+ {!editingVitrine ? ( + <> + {/* */} + +
+ + +
+ + ) : ( + <> +